서버리스 아키텍처(Serverless Architecture)의 개념, 구조, 장단점 및 실무 적용 방안을 설명하시오.
서버리스 아키텍처(Serverless Architecture)는 개발자가 서버 인프라를 관리하지 않고 비즈니스 로직 구현에 집중할 수 있도록, 클라우드 제공자가 자동으로 서버 자원 할당, 실행, 확장, 관리를 담당하는 실행 모델입니다.
서버리스 아키텍처는 다음과 같은 구성요소로 이루어짐:
[사용자 요청]
↓
[API Gateway]
↓
[Function as a Service (FaaS)] ← 이벤트 트리거
↓
[Backend 서비스 (DB, Storage, etc.)]
구성 요소 | 설명 |
---|---|
API Gateway | 클라이언트 요청을 함수로 라우팅 |
FaaS | 함수 단위로 실행되는 코드 블록 (예: AWS Lambda, Azure Functions) |
백엔드 서비스 | DB, 파일 저장소, 인증 등 외부 리소스 |
이벤트 소스 | HTTP 요청, 메시지 큐, 데이터 변경 등 다양한 트리거 가능 |
구분 | 설명 |
---|---|
FaaS(Function as a Service) | 이벤트 기반으로 개별 함수 실행 |
BaaS(Backend as a Service) | DB, 인증 등 백엔드 기능을 API 형태로 제공 |
특징
항목 | 장점 | 단점 |
---|---|---|
운영 | 서버 관리 불필요 | 디버깅 및 모니터링 어려움 |
비용 | 사용한 만큼만 과금 | 고빈도 호출 시 비용 급증 |
확장성 | 자동 스케일링 | 실행 시간 제한 존재 |
개발 | 빠른 배포, 이벤트 중심 설계 | 복잡한 워크플로 설계 어려움 |
항목 | 서버 기반 아키텍처 | 서버리스 아키텍처 |
---|---|---|
서버 관리 | 필요 | 불필요 |
과금 방식 | 항상 실행 시간 기준 | 요청 기반 실행 시간 기준 |
확장성 | 수동 또는 설정 필요 | 자동 |
상태 유지 | 상태 보존 가능 | 상태 비저장 (Stateless) |
적합한 경우:
구현 예시 (AWS 기준)
도입 고려사항
트렌드 | 설명 |
---|---|
Serverless + AI | 이벤트 기반 모델 서빙 플랫폼으로 활용 (예: SageMaker + Lambda) |
Serverless Container | AWS Fargate, Google Cloud Run 등 컨테이너 기반 서버리스 확산 |
Infrastructure as Code | 서버리스 자원도 IaC (예: AWS SAM, Terraform)로 관리 |
Observability 강화 | 분산 추적, 로그 집계 툴 통합 중요성 증가 (ex. OpenTelemetry) |
서버리스를 쓰면 컴퓨터(서버) 신경 안 쓰고, 버튼 누르면 자동으로 일하는 똑똑한 로봇을 만드는 거예요!
구분 | 서버리스 아키텍처 |
---|---|
개념 | 서버 관리 없는 이벤트 기반 실행 모델 |
구성 | API Gateway, FaaS, Backend Services |
장점 | 운영 최소화, 자동 확장, 비용 효율 |
단점 | 디버깅 어려움, cold start, 실행 시간 제한 |
실무 | 알림, 변환, 자동화 등에 적합 |
트렌드 | 컨테이너, AI 통합, 관측성 강화 |