서버리스 아키텍처는 서버를 관리하지 않고 관리형, 이벤트 기반 서비스(Lambda, API Gateway, DynamoDB, S3, SQS 등)로 애플리케이션을 구축합니다 — AWS가 확장과 인프라를 처리합니다. 서버리스 시스템을 설계하는 방법과 그 트레이드오프를 이해하는 것은 현대 클라우드 아키텍처에 가치 있습니다.
일반적인 서버리스 아키텍처
서버리스 웹 앱/API는 종종 다음을 결합합니다:
API GATEWAY → HTTP 요청 수신, Lambda로 라우팅 (API 진입점)
LAMBDA → 비즈니스 로직 처리 함수 (필요할 때 실행, 자동 확장)
DYNAMODB → 서버리스 NoSQL 데이터베이스 (자동 확장)
S3 → 정적 자산 / 파일 스토리지 (프론트엔드 호스팅, 업로드 저장)
COGNITO → 관리형 인증
SQS/SNS/EventBridge → 비동기 메시징 및 이벤트 기반 흐름
CLOUDFRONT → 프론트엔드용 CDN
→ 관리할 서버 없음; 모든 것이 자동 확장; 사용량당 지불.
서버리스 설계 원칙
✓ 이벤트 기반 — 구성 요소가 이벤트에 반응 (HTTP, 큐 메시지, S3 이벤트, 예약)
✓ 작고 단일 목적인 함수 (Lambda는 한 가지를 잘 수행)
✓ 무상태 함수 — 상태는 데이터베이스/스토리지에 존재 (함수는 일시적)
✓ 모든 것에 관리형 서비스 사용 (데이터베이스, 인증, 메시징) — 어디에도 서버 없음
✓ 회복력과 비동기 처리를 위해 큐/이벤트로 분리
