IT용어
서버리스(Serverless)
미니임
2026. 2. 27. 23:22

1. 개요 (Overview)
**서버리스(Serverless)**는 "서버가 없다"는 의미가 아니라, **"개발자가 서버를 관리할 필요가 없다"**는 의미입니다. 클라우드 서비스 제공업체(CSP)가 서버의 프로비저닝, 유지보수, 스케일링을 모두 담당하며, 개발자는 오직 애플리케이션의 **코드(함수)**나 로직만 작성하여 배포합니다.
핵심 구성 요소
- FaaS (Function as a Service): 애플리케이션 로직을 작은 함수 단위로 쪼개어 이벤트가 발생할 때만 실행하는 방식입니다. (예: AWS Lambda)
- BaaS (Backend as a Service): 데이터베이스, 인증, 스토리지 등 백엔드의 기능을 API 형태로 빌려 쓰는 방식입니다. (예: Firebase, Auth0)
2. 주요 기술 스택 (Technology Stack)
서버리스 생태계는 다양한 서비스들의 조합으로 이루어집니다.
① 연산 (Compute / FaaS)
- AWS Lambda: 가장 대중적인 서버리스 컴퓨팅 서비스.
- Google Cloud Functions: 구글 클라우드 기반의 이벤트 기반 함수 서비스.
- Azure Functions: MS Azure 환경에 최적화된 FaaS.
- Cloudflare Workers: 에지(Edge) 위치에서 코드를 실행하여 응답 속도를 극대화.
② API 및 라우팅
- API Gateway: HTTP 요청을 수신하고 적절한 서버리스 함수로 라우팅.
- AppSync: GraphQL 기반의 서버리스 쿼리 서비스.
③ 데이터베이스 (Serverless DB)
- Amazon DynamoDB: NoSQL 기반의 완전 관리형 서버리스 DB.
- Firebase Firestore / Realtime Database: 실시간 동기화에 최적화된 NoSQL.
- PlanetScale / Supabase: 관계형 데이터베이스(SQL)의 서버리스 버전.
④ 스토리지 및 인증
- Amazon S3 / Google Cloud Storage: 정적 파일 및 미디어 저장소.
- Auth0 / AWS Cognito / Firebase Auth: 사용자 인증 및 권한 관리.
3. 핵심 특징 (Key Features)
- 관리 부담 제로 (No Infrastructure Management):
- OS 패치, 서버 하드웨어 교체, 네트워크 설정 등을 CSP가 전담합니다.
- 유연한 확장성 (Auto-Scaling):
- 사용자 요청이 급증하면 자동으로 인스턴스를 늘리고, 요청이 없으면 0으로 줄입니다.
- 사용량 기반 과금 (Pay-as-you-go):
- 서버를 띄워놓는 시간이 아니라, **실제 코드가 실행된 시간($100ms$ 단위 등)**과 호출 횟수에 대해서만 비용을 지불합니다.
- 이벤트 기반 (Event-Driven):
- HTTP 호출, 파일 업로드, DB 변경, 메시지 큐 등 특정 이벤트에 반응하여 동작합니다.
- 스테이트리스 (Stateless):
- 각 함수 실행은 독립적이며 이전 상태를 유지하지 않습니다. 상태 저장이 필요할 경우 외부 DB나 캐시(Redis 등)를 활용해야 합니다.
4. 장점과 한계점
장점
- 빠른 시장 출시(Time-to-Market): 인프라 설정 시간이 단축되어 개발 속도가 매우 빠릅니다.
- 비용 절감: 트래픽이 들쭉날쭉한 서비스의 경우 유휴 자원 비용을 획기적으로 줄일 수 있습니다.
- 높은 가용성: 클라우드 사가 제공하는 고가용성 인프라 위에서 동작하므로 장애 대응에 유리합니다.
한계점 (Considerations)
- 콜드 스타트(Cold Start): 오랫동안 실행되지 않던 함수를 호출할 때 리소스를 할당하느라 초기 지연 시간이 발생할 수 있습니다.
- 벤더 종속성(Vendor Lock-in): 특정 클라우드 사의 서비스에 의존하게 되어 다른 환경으로 옮기기가 어려울 수 있습니다.
- 디버깅의 복잡성: 로컬 환경과 클라우드 환경의 차이로 인해 분산 시스템 디버깅이 까다로울 수 있습니다.
5. 주요 활용 사례 (Use Cases)
사례설명
| 이미지/비디오 처리 | S3에 이미지가 업로드되면 자동으로 썸네일을 생성하거나 비디오를 인코딩하는 작업. |
| 데이터 처리 및 ETL | 실시간 로그 분석, 데이터 정제, 특정 주기(Cron)마다 보고서 생성 작업. |
| 웹/모바일 백엔드 | RESTful API 구축 시 각 엔드포인트를 함수로 구현하여 가벼운 백엔드 구성. |
| 챗봇 및 자동 응답 | 메시지 수신 이벤트에 대응하여 즉각적으로 답변을 처리하는 로직. |
| CI/CD 파이프라인 | 코드 커밋 시 자동으로 테스트를 실행하거나 배포를 트리거하는 자동화. |
6. 결론
서버리스는 **"비즈니스 가치 창출"**에 집중하고자 하는 기업에게 최적의 선택지입니다. 특히 초기 스타트업이나 트래픽 변동이 심한 마이크로서비스 아키텍처(MSA)를 지향하는 팀에게 강력한 도구가 됩니다. 다만, 실시간 성능이 극도로 중요하거나 복잡한 상태 관리가 필요한 시스템에서는 전통적인 컨테이너 방식과 혼합하여 사용하는 것이 권장됩니다.
반응형