서버리스 컴퓨팅 (Serverless Computing)

핵심 인사이트 (3줄 요약)

서버 관리 없이 코드만 실행하는 클라우드 컴퓨팅 모델. FaaS(Function as a Service) 기반. 사용한 만큼만 과금, 자동 스케일링.


📝 기술사 모의답안 (2.5페이지 분량)

📌 예상 문제

"서버리스 컴퓨팅 (Serverless Computing)의 개념과 핵심 원리를 설명하고, 비교 분석 및 실무 적용 방안을 기술하시오."


Ⅰ. 개요

1. 개념

서버리스 컴퓨팅(Serverless Computing)은 개발자가 서버를 프로비저닝하거나 관리할 필요 없이 코드 실행에만 집중할 수 있는 클라우드 실행 모델이다.

비유: "택시 vs 자가용" - 차 유지관리 없이 탈 때만 요금 지불


Ⅱ. 구성 요소 및 핵심 원리

2. 클라우드 진화 단계

┌────────────────────────────────────────────────────────┐
│           클라우드 컴퓨팅 진화                          │
├────────────────────────────────────────────────────────┤
│                                                        │
│  1단계: 온프레미스 (On-Premises)                      │
│  ┌────────────────────────────────────────────────┐   │
│  │                                                │   │
│  │  ┌─────────────────────────────────────────┐  │   │
│  │  │         직접 서버 구매/설치/관리        │  │   │
│  │  │                                         │  │   │
│  │  │  💻 서버 + ❄️ 냉각 + 🔌 전력 + 👨 관리  │  │   │
│  │  └─────────────────────────────────────────┘  │   │
│  │                                                │   │
│  │  관리 부담: 매우 높음 │ 유연성: 낮음         │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  2단계: IaaS (Infrastructure as a Service)            │
│  ┌────────────────────────────────────────────────┐   │
│  │                                                │   │
│  │  ┌─────────────────────────────────────────┐  │   │
│  │  │    클라우드 VM 대여                      │  │   │
│  │  │                                         │  │   │
│  │  │  EC2, Compute Engine, Azure VM          │  │   │
│  │  │  → OS/미들웨어는 직접 관리              │  │   │
│  │  └─────────────────────────────────────────┘  │   │
│  │                                                │   │
│  │  관리 부담: 높음 │ 유연성: 높음               │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  3단계: PaaS (Platform as a Service)                  │
│  ┌────────────────────────────────────────────────┐   │
│  │                                                │   │
│  │  ┌─────────────────────────────────────────┐  │   │
│  │  │    플랫폼 대여 (앱만 배포)               │  │   │
│  │  │                                         │  │   │
│  │  │  Heroku, Elastic Beanstalk              │  │   │
│  │  │  → 코드만 올리면 실행                   │  │   │
│  │  └─────────────────────────────────────────┘  │   │
│  │                                                │   │
│  │  관리 부담: 중간 │ 유연성: 중간               │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  4단계: Serverless / FaaS                             │
│  ┌────────────────────────────────────────────────┐   │
│  │                                                │   │
│  │  ┌─────────────────────────────────────────┐  │   │
│  │  │    함수 단위 실행                        │  │   │
│  │  │                                         │  │   │
│  │  │  Lambda, Cloud Functions, Azure Funcs   │  │   │
│  │  │  → 실행 시간만큼만 과금                 │  │   │
│  │  └─────────────────────────────────────────┘  │   │
│  │                                                │   │
│  │  관리 부담: 낮음 │ 유연성: 제약 있음         │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
└────────────────────────────────────────────────────────┘

3. FaaS 구조

┌────────────────────────────────────────────────────────┐
│           FaaS (Function as a Service) 구조            │
├────────────────────────────────────────────────────────┤
│                                                        │
│  이벤트 기반 실행:                                     │
│  ┌────────────────────────────────────────────────┐   │
│  │                                                │   │
│  │  [HTTP 요청]                                   │   │
│  │       │                                        │   │
│  │       ▼                                        │   │
│  │  ┌──────────┐     ┌──────────────────┐        │   │
│  │  │ API 게이트│────→│ Lambda 함수 실행  │        │   │
│  │  │  웨이    │     │ (실행 시간만 과금) │        │   │
│  │  └──────────┘     └────────┬─────────┘        │   │
│  │                            │                   │   │
│  │  [S3 업로드]               │                   │   │
│  │       │                    │                   │   │
│  │       ▼                    ▼                   │   │
│  │  ┌──────────┐     ┌──────────────────┐        │   │
│  │  │ S3 버킷  │────→│ 이미지 처리 함수  │        │   │
│  │  │ 이미지   │     │ (리사이징, 변환)  │        │   │
│  │  └──────────┘     └──────────────────┘        │   │
│  │                                                │   │
│  │  [DB 변경]                                     │   │
│  │       │                                        │   │
│  │       ▼                                        │   │
│  │  ┌──────────┐     ┌──────────────────┐        │   │
│  │  │DynamoDB  │────→│ 알림 발송 함수    │        │   │
│  │  │ 스트림   │     │ (이메일, SMS)     │        │   │
│  │  └──────────┘     └──────────────────┘        │   │
│  │                                                │   │
│  │  [스케줄]                                      │   │
│  │       │                                        │   │
│  │       ▼                                        │   │
│  │  ┌──────────┐     ┌──────────────────┐        │   │
│  │  │CloudWatch│────→│ 배치 처리 함수    │        │   │
│  │  │  Events  │     │ (매일 자정 실행)  │        │   │
│  │  └──────────┘     └──────────────────┘        │   │
│  │                                                │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
└────────────────────────────────────────────────────────┘

5. 주요 서버리스 서비스

┌────────────────────────────────────────────────────────┐
│           주요 서버리스 서비스                          │
├────────────────────────────────────────────────────────┤
│                                                        │
│  AWS:                                                  │
│  ┌────────────────────────────────────────────────┐   │
│  │ • Lambda (FaaS)                                │   │
│  │ • API Gateway (HTTP 트리거)                    │   │
│  │ • DynamoDB (서버리스 DB)                       │   │
│  │ • S3 (이벤트 트리거)                           │   │
│  │ • EventBridge (스케줄러)                       │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  Google Cloud:                                         │
│  ┌────────────────────────────────────────────────┐   │
│  │ • Cloud Functions (FaaS)                       │   │
│  │ • Cloud Run (컨테이너 기반 서버리스)           │   │
│  │ • Firebase (모바일/웹 백엔드)                  │   │
│  │ • Firestore (서버리스 DB)                      │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  Azure:                                                │
│  ┌────────────────────────────────────────────────┐   │
│  │ • Azure Functions (FaaS)                       │   │
│  │ • Logic Apps (워크플로우)                      │   │
│  │ • Cosmos DB (서버리스 DB)                      │   │
│  │ • Event Grid (이벤트 라우팅)                   │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  비용 비교 (월 100만 회 실행 기준):                   │
│  ┌────────────────────────────────────────────────┐   │
│  │ • Lambda: ~$20                                 │   │
│  │ • Cloud Functions: ~$18                        │   │
│  │ • Azure Functions: ~$22                        │   │
│  │ (함수 메모리 256MB, 실행시간 100ms 기준)       │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
└────────────────────────────────────────────────────────┘

Ⅲ. 기술 비교 분석

4. 장단점

┌────────────────────────────────────────────────────────┐
│           서버리스 장단점                              │
├────────────────────────────────────────────────────────┤
│                                                        │
│  장점:                                                 │
│  ┌────────────────────────────────────────────────┐   │
│  │                                                │   │
│  │ ✓ 서버 관리 불필요                             │   │
│  │   - OS 패치, 업데이트 자동                     │   │
│  │   - 인프라 운영 인력 감소                      │   │
│  │                                                │   │
│  │ ✓ 비용 효율                                    │   │
│  │   - 사용한 만큼만 과금                         │   │
│  │   - 유휴 시간 비용 0                           │   │
│  │   - 초기 투자 없음                             │   │
│  │                                                │   │
│  │ ✓ 자동 스케일링                                │   │
│  │   - 트래픽 증가 시 자동 확장                   │   │
│  │   - 트래픽 감소 시 자동 축소                   │   │
│  │                                                │   │
│  │ ✓ 빠른 개발                                    │   │
│  │   - 코드만 작성하면 배포 완료                  │   │
│  │   - 마이크로서비스에 적합                      │   │
│  │                                                │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
│  단점:                                                 │
│  ┌────────────────────────────────────────────────┐   │
│  │                                                │   │
│  │ ✗ 콜드 스타트 (Cold Start)                    │   │
│  │   - 첫 실행 시 지연 발생                       │   │
│  │   - 컨테이너 초기화 시간 필요                  │   │
│  │                                                │   │
│  │ ✗ 실행 시간 제한                               │   │
│  │   - Lambda: 최대 15분                         │   │
│  │   - 장시간 실행 불가                           │   │
│  │                                                │   │
│  │ ✗ 벤더 락인 (Vendor Lock-in)                  │   │
│  │   - 플랫폼별 API 차이                          │   │
│  │   - 이식성 낮음                                │   │
│  │                                                │   │
│  │ ✗ 디버깅/모니터링 어려움                       │   │
│  │   - 로컬 테스트 제약                           │   │
│  │   - 분산 추적 복잡                             │   │
│  │                                                │   │
│  └────────────────────────────────────────────────┘   │
│                                                        │
└────────────────────────────────────────────────────────┘

Ⅳ. 실무 적용 방안

**서버리스 컴퓨팅 (Serverless Computing)**의 실무 적용 시나리오와 고려사항.


Ⅴ. 기대 효과 및 결론

효과 영역내용정량적 목표
비즈니스 혁신디지털 전환 가속화 및 신규 비즈니스 모델 창출시장 출시 시간(TTM) 50% 단축
운영 효율AI·자동화로 수작업 제거 및 의사결정 지원 강화운영 비용 30~40% 절감
경쟁력 강화최신 기술 도입으로 시장 경쟁 우위 확보고객 만족도(CSAT) 20점 향상

결론

**서버리스 컴퓨팅 (Serverless Computing)**은(는) ICT 융합 기술은 AI-First 전략, 탄소 중립(Net Zero) 목표, EU AI Act 등 글로벌 규제 환경에 대응하면서 기술적 혁신과 사회적 책임을 동시에 실현하는 방향으로 발전하고 있다.

※ 참고 표준: NIST AI RMF 1.0, EU AI Act(2024), ISO/IEC 42001(AI 관리 시스템), 과기정통부 AI 기본법


어린이를 위한 종합 설명

서버리스 컴퓨팅를 쉽게 이해해보자!

서버 관리 없이 코드만 실행하는 클라우드 컴퓨팅 모델. FaaS(Function as a Service) 기반. 사용한 만큼만 과금, 자동 스케일링.

왜 필요할까?
  기존 방식의 한계를 넘기 위해

어떻게 동작하나?
  복잡한 문제 → 서버리스 컴퓨팅 적용 → 더 빠르고 안전한 결과!

핵심 한 줄:
  서버리스 컴퓨팅 = 똑똑하게 문제를 해결하는 방법

비유: 서버리스 컴퓨팅은 마치 요리사가 레시피를 따르는 것과 같아. 혼란스러운 재료들을 정해진 순서대로 조합하면 → 맛있는 요리(최적 결과)가 나오지! 🍳