FaaS (Function as a Service)
핵심 인사이트 (3줄 요약)
서버 없이 함수만 배포하여 실행하는 클라우드 모델. 이벤트 기반으로 자동 스케일링. 사용한 실행 시간만큼만 과금.
📝 기술사 모의답안 (2.5페이지 분량)
📌 예상 문제
"FaaS (Function as a Service)의 개념과 핵심 원리를 설명하고, 비교 분석 및 실무 적용 방안을 기술하시오."
Ⅰ. 개요
1. 개념
FaaS(Function as a Service)는 개발자가 서버 관리 없이 함수 코드만 업로드하면, 클라우드 플랫폼이 자동으로 실행 환경을 제공하고 이벤트에 따라 함수를 실행하는 서버리스 컴퓨팅 모델이다.
비유: "함수만 던지면 알아서 실행되는 자판기" - 버튼(이벤트) 누르면 결과가 나와요
Ⅱ. 구성 요소 및 핵심 원리
2. 서버리스 아키텍처
┌────────────────────────────────────────────────────────┐
│ 서버리스 vs 전통 아키텍처 │
├────────────────────────────────────────────────────────┤
│ │
│ 전통 방식: │
│ ┌────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌─────────────────────────────────────────┐ │ │
│ │ │ 서버 (항상 실행) │ │ │
│ │ │ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │ │ │
│ │ │ │함수1│ │함수2│ │함수3│ │함수4│ │ │ │
│ │ │ └─────┘ └─────┘ └─────┘ └─────┘ │ │ │
│ │ │ │ │ │
│ │ │ 💰 24시간 과금, 서버 관리 필요 │ │ │
│ │ └─────────────────────────────────────────┘ │ │
│ │ │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ FaaS (서버리스): │
│ ┌────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 이벤트 발생 시에만 실행 │ │
│ │ │ │
│ │ 📧 HTTP 요청 ──→ ┌─────────┐ │ │
│ │ │ 함수 A │ ──→ 응답 │ │
│ │ └─────────┘ │ │
│ │ │ │
│ │ 📁 파일 업로드 ─→ ┌─────────┐ │ │
│ │ │ 함수 B │ ──→ 처리 │ │
│ │ └─────────┘ │ │
│ │ │ │
│ │ ⏰ 예약 시간 ───→ ┌─────────┐ │ │
│ │ │ 함수 C │ ──→ 배치 │ │
│ │ └─────────┘ │ │
│ │ │ │
│ │ 💰 실행 시간만 과금, 서버 관리 불필요 │ │
│ │ │ │
│ └────────────────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────────┘
3. FaaS 특징
| 특징 | 설명 |
|---|---|
| 상태 비저장 | 함수 실행 간 데이터 유지 안 됨 |
| 이벤트 기반 | HTTP, DB 변경, 파일 업로드 등이 트리거 |
| 자동 스케일링 | 트래픽에 따라 자동으로 인스턴스 증감 |
| 실행 시간 제한 | 보통 15분 이내 (플랫폼별 상이) |
| 콜드 스타트 | 대기 상태에서 첫 실행 시 지연 발생 |
4. 주요 FaaS 플랫폼
┌────────────────────────────────────────────────────────┐
│ FaaS 플랫폼 비교 │
├────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────────────────────────────┐ │
│ │ AWS Lambda │ │
│ │ • 최대 실행 시간: 15분 │ │
│ │ • 지원 언어: Node, Python, Java, Go, C# 등 │ │
│ │ • 트리거: API Gateway, S3, DynamoDB, SNS 등 │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────┐ │
│ │ Azure Functions │ │
│ │ • 최대 실행 시간: 10분 (기본) │ │
│ │ • 지원 언어: C#, Java, JavaScript, Python 등 │ │
│ │ • 트리거: HTTP, Timer, Queue, Event Hub 등 │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────┐ │
│ │ Google Cloud Functions │ │
│ │ • 최대 실행 시간: 9분 (HTTP), 60분(이벤트) │ │
│ │ • 지원 언어: Node, Python, Go, Java, .NET │ │
│ │ • 트리거: HTTP, Cloud Storage, Pub/Sub 등 │ │
│ └────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────┐ │
│ │ Cloudflare Workers │ │
│ │ • 엣지에서 실행 (전 세계 데이터센터) │ │
│ │ • 최대 실행 시간: 50ms (무료), 30초 (유료) │ │
│ │ • V8 엔진 기반, 콜드 스타트 없음 │ │
│ └────────────────────────────────────────────────┘ │
│ │
└────────────────────────────────────────────────────────┘
Ⅲ. 기술 비교 분석
6. 장단점
| 장점 | 단점 |
|---|---|
| 서버 관리 불필요 | 콜드 스타트 지연 |
| 사용량 기반 과금 | 실행 시간 제한 |
| 자동 스케일링 | 상태 관리 복잡 |
| 빠른 배포 | 디버깅 어려움 |
| 높은 가용성 | 벤더 락인 위험 |
Ⅳ. 실무 적용 방안
5. FaaS 활용 사례
| 사례 | 설명 |
|---|---|
| API 백엔드 | HTTP 요청 처리 |
| 이미지 처리 | 업로드 시 썸네일 생성 |
| 데이터 처리 | ETL 파이프라인 |
| 챗봇 | 메시지 수신 시 응답 |
| 예약 작업 | 정기적인 배치 처리 |
| IoT | 센서 데이터 처리 |
Ⅴ. 기대 효과 및 결론
| 효과 영역 | 내용 | 정량적 목표 |
|---|---|---|
| 비즈니스 혁신 | 디지털 전환 가속화 및 신규 비즈니스 모델 창출 | 시장 출시 시간(TTM) 50% 단축 |
| 운영 효율 | AI·자동화로 수작업 제거 및 의사결정 지원 강화 | 운영 비용 30~40% 절감 |
| 경쟁력 강화 | 최신 기술 도입으로 시장 경쟁 우위 확보 | 고객 만족도(CSAT) 20점 향상 |
결론
**FaaS (Function as a Service)**은(는) ICT 융합 기술은 AI-First 전략, 탄소 중립(Net Zero) 목표, EU AI Act 등 글로벌 규제 환경에 대응하면서 기술적 혁신과 사회적 책임을 동시에 실현하는 방향으로 발전하고 있다.
※ 참고 표준: NIST AI RMF 1.0, EU AI Act(2024), ISO/IEC 42001(AI 관리 시스템), 과기정통부 AI 기본법
어린이를 위한 종합 설명
FaaS를 쉽게 이해해보자!
서버 없이 함수만 배포하여 실행하는 클라우드 모델. 이벤트 기반으로 자동 스케일링. 사용한 실행 시간만큼만 과금.
왜 필요할까?
기존 방식의 한계를 넘기 위해
어떻게 동작하나?
복잡한 문제 → FaaS 적용 → 더 빠르고 안전한 결과!
핵심 한 줄:
FaaS = 똑똑하게 문제를 해결하는 방법
비유: FaaS은 마치 요리사가 레시피를 따르는 것과 같아. 혼란스러운 재료들을 정해진 순서대로 조합하면 → 맛있는 요리(최적 결과)가 나오지! 🍳