서버리스 컴퓨팅(FaaS)
Serverless Computing / Function as a Service
서버리스 컴퓨팅은 서버 프로비저닝·운영을 클라우드 사업자가 전담하고 개발자는 이벤트에 의해 실행되는 함수(FaaS)와 관리형 백엔드 서비스(BaaS)만으로 애플리케이션을 구성하며, 실행된 만큼만 비용을 지불하는 클라우드 실행 모델이다.
핵심 키워드
FaaS(Function as a Service)BaaS(Backend as a Service)이벤트 기반(Event-driven)무상태(Stateless)자동 확장·Scale to Zero사용량 기반 과금(Pay-per-use)콜드 스타트(Cold Start)벤더 종속(Vendor Lock-in)실행 시간 제한
구성도
정리
1. 개요
- 정의: 서버 관리 없이 코드(함수) 단위로 배포·실행하고, 이벤트 발생 시에만 자원을 할당하는 클라우드 모델
- 구성 범위: FaaS(이벤트 구동 함수 실행) + BaaS(인증·DB·스토리지·메시징 등 관리형 서비스)
- 배경
- 인프라 운영 부담 감소, 유휴 자원 비용 제거 요구
- 트래픽 변동이 큰 서비스의 탄력적 확장 필요
- 대표 서비스: AWS Lambda, Azure Functions, Google Cloud Run functions 등
2. 구성/원리
- 이벤트 소스: HTTP(API 게이트웨이), 파일 업로드, 메시지 큐, DB 변경, 스케줄러
- 실행 흐름
- 이벤트 발생 → 트리거가 함수 호출
- 플랫폼이 실행 환경(컨테이너·마이크로VM) 할당 및 코드 로딩
- 함수 실행 후 결과 반환, 일정 시간 미사용 시 환경 회수
- 콜드 스타트 / 웜 스타트: 신규 환경 생성 시 초기화 지연(콜드), 기존 환경 재사용 시 빠른 응답(웜)
- 상태 관리: 함수는 무상태 → 상태는 외부 DB·캐시·스토리지에 저장
- 오케스트레이션: 여러 함수 연계는 워크플로 서비스(예: Step Functions)나 이벤트 버스로 구성
3. 특징 또는 비교
| 구분 | IaaS | PaaS | CaaS | FaaS |
|---|---|---|---|---|
| 배포 단위 | VM | 애플리케이션 | 컨테이너 | 함수 |
| 사용자 관리 | OS~앱 | 앱·데이터 | 컨테이너·오케스트레이션 설정 | 함수 코드 |
| 확장 | 수동/오토스케일 설정 | 플랫폼 지원 | 오케스트레이터 | 요청 단위 자동 |
| 과금 | 인스턴스 시간 | 인스턴스·플랜 | 노드·자원 | 호출 수·실행 시간 |
| 유휴 비용 | 발생 | 발생 | 발생 | 거의 없음(Scale to Zero) |
- 장점: 운영 부담 감소, 신속한 출시, 세밀한 자동 확장, 비용 효율
- 단점: 콜드 스타트 지연, 실행 시간·메모리 제한, 디버깅·모니터링 어려움, 벤더 종속, 지속적 고부하에는 비용 불리
4. 고려사항·최신 동향
- 적합 영역: 이벤트 처리, 파일 변환, IoT 데이터 수집, 비정기 배치, API 백엔드
- 부적합 영역: 장시간 실행, 저지연 상시 요구, 대용량 상태 유지 작업
- 콜드 스타트 완화: 사전 프로비저닝(Provisioned Concurrency), 경량 런타임, 패키지 크기 최소화
- 보안: 함수별 최소 권한(IAM), 이벤트 입력 검증, 의존 라이브러리 관리, 과다 호출에 따른 비용 공격 대비
- 관측성: 분산 추적·구조화 로깅으로 함수 간 호출 흐름 파악
- 동향
- Knative·OpenFaaS 등 쿠버네티스 기반 오픈소스 서버리스로 종속성 완화
- 엣지 서버리스(CDN 엣지 함수), WebAssembly 기반 경량 런타임
- 서버리스 컨테이너·서버리스 DB 등 범위 확장, GPU 서버리스로 AI 추론 활용
함께 볼 토픽
v1 · 2026. 10. 19. 갱신 · 틀린 내용을 발견하면 알려 주세요.