[문제] 서버리스 컴퓨팅(Serverless Computing)의 개념, FaaS(Function as a Service)의 동작 원리, 장단점 및 콜드 스타트 문제 해결 방안을 설명하시오.
1. 서버리스 컴퓨팅 개념
서버리스 컴퓨팅은 개발자가 서버 인프라를 직접 관리하지 않고, 이벤트 기반으로 함수(Function)를 실행하는 클라우드 실행 모델이다. 인프라 프로비저닝·스케일링·패치를 클라우드 공급자가 담당한다.
2. FaaS 동작 원리
이벤트(HTTP 요청, 메시지 큐, 스케줄) → 컨테이너/마이크로VM 즉시 생성 → 함수 실행 → 결과 반환 → 컨테이너 회수. 실행 시간(ms)에만 과금된다.
| 구분 | 장점 | 단점 |
|---|---|---|
| 비용 | 실행 시간·호출 수 과금 (유휴 비용 없음) | 대규모 상시 트래픽에서 VM보다 비쌀 수 있음 |
| 운영 | 인프라 관리 불필요, 자동 확장 | 실행 시간 제한(AWS Lambda 15분), 상태 관리 어려움 |
| 개발 | 이벤트 드리븐 MSA 구현 용이 | 콜드 스타트, 벤더 종속(Vendor Lock-in) |
3. 콜드 스타트 문제 해결
- Provisioned Concurrency(AWS): 미리 인스턴스를 준비 상태로 유지
- 언어 선택: JVM 대신 Go/Rust/Node.js 사용 (초기화 시간 단축)
- 의존성 최소화: 배포 패키지 크기 축소, 레이어(Layer) 분리
- GraalVM Native Image: JVM 앱을 네이티브 바이너리로 컴파일
핵심 키워드: FaaS, 이벤트 드리븐, 콜드 스타트, Provisioned Concurrency, 사용량 과금, Knative
서버리스/FaaS는 이벤트 기반 자동 확장과 인프라 추상화로 개발 생산성을 높이지만, 콜드 스타트·상태 관리·실행 시간 제한이 단점이다. Provisioned Concurrency와 경량 런타임으로 콜드 스타트를 완화한다.