서버리스 컴퓨팅(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 변경, 스케줄러
  • 실행 흐름
    1. 이벤트 발생 → 트리거가 함수 호출
    2. 플랫폼이 실행 환경(컨테이너·마이크로VM) 할당 및 코드 로딩
    3. 함수 실행 후 결과 반환, 일정 시간 미사용 시 환경 회수
  • 콜드 스타트 / 웜 스타트: 신규 환경 생성 시 초기화 지연(콜드), 기존 환경 재사용 시 빠른 응답(웜)
  • 상태 관리: 함수는 무상태 → 상태는 외부 DB·캐시·스토리지에 저장
  • 오케스트레이션: 여러 함수 연계는 워크플로 서비스(예: Step Functions)나 이벤트 버스로 구성

3. 특징 또는 비교

구분IaaSPaaSCaaSFaaS
배포 단위VM애플리케이션컨테이너함수
사용자 관리OS~앱앱·데이터컨테이너·오케스트레이션 설정함수 코드
확장수동/오토스케일 설정플랫폼 지원오케스트레이터요청 단위 자동
과금인스턴스 시간인스턴스·플랜노드·자원호출 수·실행 시간
유휴 비용발생발생발생거의 없음(Scale to Zero)
  • 장점: 운영 부담 감소, 신속한 출시, 세밀한 자동 확장, 비용 효율
  • 단점: 콜드 스타트 지연, 실행 시간·메모리 제한, 디버깅·모니터링 어려움, 벤더 종속, 지속적 고부하에는 비용 불리

4. 고려사항·최신 동향

  • 적합 영역: 이벤트 처리, 파일 변환, IoT 데이터 수집, 비정기 배치, API 백엔드
  • 부적합 영역: 장시간 실행, 저지연 상시 요구, 대용량 상태 유지 작업
  • 콜드 스타트 완화: 사전 프로비저닝(Provisioned Concurrency), 경량 런타임, 패키지 크기 최소화
  • 보안: 함수별 최소 권한(IAM), 이벤트 입력 검증, 의존 라이브러리 관리, 과다 호출에 따른 비용 공격 대비
  • 관측성: 분산 추적·구조화 로깅으로 함수 간 호출 흐름 파악
  • 동향
    • Knative·OpenFaaS 등 쿠버네티스 기반 오픈소스 서버리스로 종속성 완화
    • 엣지 서버리스(CDN 엣지 함수), WebAssembly 기반 경량 런타임
    • 서버리스 컨테이너·서버리스 DB 등 범위 확장, GPU 서버리스로 AI 추론 활용

함께 볼 토픽

v1 · 2026. 10. 19. 갱신 · 틀린 내용을 발견하면 알려 주세요.