Files
2nd/10_Wiki/Topics_Arch/Serverless_Architecture.md
T

47 lines
3.2 KiB
Markdown

---
id: P-REINFORCE-WIKI-ARCH-SERVERLESS
title: "서버리스 컴퓨팅과 이벤트 기반 실행 모델 (Serverless Architecture)"
category: "10_Wiki/🏗️ Topics_Arch"
status: verified
canonical_id: ""
aliases: ["서버리스", "Serverless", "FaaS", "함수 기반 컴퓨팅", "AWS Lambda"]
duplicate_of: ""
source_trust_level: A
confidence_score: 1.0
tags: ["Architecture", "Serverless", "Cloud_Native", "FaaS", "Scalability"]
raw_sources: ["Datacollector_Export_2026-05-02"]
last_reinforced: 2026-05-02
github_commit: ""
---
# [[서버리스 컴퓨팅과 이벤트 기반 실행 모델 (Serverless Architecture)]]
## 1. 개요
서버리스 컴퓨팅(Serverless Computing)은 개발자가 서버 인프라를 직접 관리하지 않고, 비즈니스 로직인 '함수(Function)' 단위로 코드를 배포하여 실행하는 클라우드 네이티브 아키텍처 모델이다. 인프라의 확장, 패치, 프로비저닝은 클라우드 제공자가 전담하며, 사용자는 실제 코드가 실행된 시간과 리소스에 대해서만 비용을 지불한다.
## 2. 핵심 메커니즘 (FaaS)
- **이벤트 트리거 (Event-driven)**: HTTP 요청, DB 변경, 파일 업로드 등 특정 이벤트에 의해 함수가 즉시 호출됨.
- **자동 확장 (Auto-scaling)**: 트래픽의 증감에 따라 함수 인스턴스가 0에서 무한대(플랫폼 한계까지)로 즉시 확장 및 축소됨.
- **무상태성 (Stateless)**: 각 함수 실행은 독립적이며 이전 실행의 상태를 유지하지 않음. 상태 저장이 필요한 경우 외부 DB나 스토리지를 활용.
## 3. 실전 적용 및 최적화
- **프레임워크별 특성**:
- **Express/Fastify**: 가볍고 빠른 초기화 속도로 '콜드 스타트' 지연 최소화에 유리.
- **NestJS**: 구조화된 대규모 애플리케이션에 적합하나, 두꺼운 추상화 계층으로 인해 초기화 시 더 많은 메모리와 시간이 소요될 수 있음.
- **JAMstack 통합**: 백엔드 로직을 서버리스 API로 추상화하여 프론트엔드와 독립적으로 배포 및 운영.
## 4. 트레이드오프 및 주의사항
- **콜드 스타트 (Cold Starts)**: 유휴 상태의 함수가 처음 실행될 때 발생하는 초기화 지연 시간. 성능 최적화의 핵심 과제.
- **플랫폼 종속성 (Vendor Lock-in)**: 특정 클라우드 제공자(AWS, Azure, GCP)의 독자적인 런타임 환경과 트리거 방식에 결합될 위험.
- **디버깅의 한계**: 로컬 환경과 실제 클라우드 환경 간의 차이로 인해 분산 추적 및 정밀한 성능 튜닝이 어려울 수 있음.
## 5. 지식 연결 (Related)
- [[Cloud_Native_Architecture]]: 서버리스가 속한 상위 아키텍처 패러다임.
- [[Microservices_Architecture]]: 서버리스 함수들이 모여 구성하는 고도로 분산된 서비스 체계.
- [[Event_Driven_Architecture]]: 서버리스의 실행 기반이 되는 비동기 메시징 모델.
## 🧪 검증 상태 (Validation)
- **정보 상태**: 검증 완료 (Verified)
- **출처 신뢰도**: A
- **검토 이유**: 운영 비용 최적화와 개발 생산성 극대화를 위한 현대적 클라우드 실행 모델의 표준 가이드 정립.