Learning
토픽 6 / 107·클라우드 컴퓨팅 개요와 서비스 모델

FaaS (Function as a Service)

FaaS (Function as a Service)

개별 함수 단위로 코드를 실행하는 서버리스 컴퓨팅 모델로, 이벤트 발생 시에만 코드가 실행되고 실행 시간과 호출 횟수에 따라 과금되며 서버 프로비저닝이나 관리 없이 비즈니스 로직에만 집중

구성요소: 함수(비즈니스 로직 코드), 트리거(HTTP/S3/DB 변경/스케줄/IoT), 런타임(Node.js/Python/Java/Go), 이벤트(입력 데이터), 컨텍스트(실행 환경 정보)

주요 서비스: AWS Lambda(최대 15분/128MB~10GB), Azure Functions(10분~230분/1.5~14GB), GCP Cloud Functions(9분~60분/128MB~32GB)

과금 모델: (호출 횟수 × 호출 단가) + (실행 시간 × GB-초 단가), 무료 티어 제공

Cold Start: 함수 최초 호출 시 초기화 지연, 런타임/패키지 크기/VPC 연결에 영향, 대응(Provisioned Concurrency/Premium Plan/최소 인스턴스/주기적 Ping)

적합 워크로드: 이벤트 기반 처리(S3/SNS/SQS), API 백엔드, 데이터 변환/ETL, 스케줄 작업, 웹훅, IoT 데이터 처리

부적합 워크로드: 장시간 실행(>15분), 상시 실행 서비스, 상태 유지 필요 앱, 고성능/저지연 필수, 대용량 메모리, WebSocket 상시 연결

장점: 서버 관리 불필요, 이벤트 기반 자동 실행, 비용 효율(사용한 만큼만)

단점: Cold Start 지연, 실행 시간 제한, Stateless 설계 필요, 디버깅 어려움

비교: FaaS(함수/이벤트 기반/제한시간) vs CaaS(컨테이너/상시/무제한) vs PaaS(앱/지속)

연관: 서버리스, 이벤트 기반 아키텍처, API Gateway, CaaS