Serverless Computing & FaaS Dynamics
인프라 프로비저닝 없이 코드(함수)만을 배포하고, 수요에 따라 하드웨어가 즉각 반응하는 서버리스 모델과 FaaS의 물리 엔진을 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts6 min read
1. Overview
서버리스 컴퓨팅 및 FaaS 역학(Serverless Computing & FaaS Dynamics, SCF)은 서버 운영의 고통에서 개발자를 해방시켜 오직 '비즈니스 로직'에만 집중하게 만드는 클라우드 진화의 물리적 종착지입니다.
학습자는 관리해야 할 서버 인스턴스가 존재하지 않는 **서버리스(Serverless)**의 수리적 개념과, 함수 단위로 실행 리소스를 할당받는 **FaaS(Function as a Service)**의 동작 원리를 배웁니다. 특히, 요청이 없을 때 자원을 0으로 줄였다가 첫 호출 시 컨테이너를 급히 띄우는 **콜드 스타트(Cold Start)**의 물리적 지연 현상과, 상태를 저장하지 않는 무상태(Stateless) 설계의 필연성을 익힙니다. 이를 통해 '사용한 만큼만 내는' 극한의 비용 효율과, 무한대에 가까운 하드웨어 확장성을 동시에 잡는 하이엔드 차세대 인프라 역량을 확보합니다.
2. Scope & Boundaries
In-Scope
- Serverless Architectural Principles: 추상화된 인프라와 이벤트 기반 트리거(Trigger) 물리학
- FaaS Execution Model: 함수 기동, 실행, 소멸의 짧은 물리적 수명주기(Ephemeral)
- Cold Start vs. Warm Start: 하드웨어 리소스 할당 속도와 지연 시간 수리 분석
- Statelessness & External State: 메모리 상태 유실에 대응하는 외부 저장소 결합 기제
- Cost Analytics: 초 단위(혹은 ms 단위) 과금 모델과 하드웨어 점유 비용 산출
Out-of-Scope
- 특정 벤더(AWS Lambda, Google Functions)의 콘솔 UI 조작 (인프라 조립 영역으로 위임)
- 웹 애플리케이션의 일반적인 비동기 처리 (07-04-03 영역에서 분담)
Boundaries
- SCF vs. Containers: 컨테이너(07-06-02)가 '포장된 상자'라면, SCF는 '상자의 존재조차 잊고 내용물(코드)만 실행하는 환경'으로서 구분합니다.
3. Counterexample
- 단순히 "서버 관리 안 하기"라 설명하는 것은 SCF 학습이 아닙니다. 왜 서버리스 환경에서 함수 실행 시간이 길어질수록 하드웨어 리소스 사용 효율이 전통적인 서버보다 수리적으로 악화되는지 '비용 임계점'으로 증명할 수 있어야 하며, 콜드 스타트를 해결하기 위해 '프로비저닝된 동시성'을 사용하는 행위가 서버리스의 순수 물리학()을 어떻게 훼손하는지 논증하지 못한다면 서버리스의 본질을 이해하지 못한 것입니다.
4. Prerequisites
- Cloud-Native Design Patterns (Basic): 12-Factor 및 무상태성 이해가 필수입니다. (07-07-01 CND)
- Pub-Sub, Observer & Event-driven Flows (Recommended): 이벤트 트리거 개념 이해가 권장됩니다. (07-04-02 POE)
5. Learning Map
- The Ghost Machine: 서버가 눈에 보이지 않는 유령 상태(No visible IP/Instance)를 인정합니다.
- Function as Life: 앱 전체가 아닌, 단 하나의 '함수'가 독립된 물리 생명체로 살아 숨 쉬게 합니다.
- The Wake-up Call: 잠들어 있던 하드웨어를 깨우는(Cold Start) 대가와 수술 기법을 배웁니다.
- Economic Logic: 트래픽이 0일 때는 비용도 0이 되는 서버리스만의 수리 경제학을 완성합니다.
6. Learning Topics
Basic
Core: 서버리스의 정의와 FaaS 모델 (Serverless Foundations)
- Why to Learn: 서버 관리 리소스를 0으로 줄이고 서비스 개발의 물리적 속도를 극대화하기 위해서입니다.
- What to Learn:
- No Infrastructure Management: 하드웨어 패치, 스케일링으로부터의 해방
- Event-Driven Trigger: HTTP, 타이머, DB 변경 등 물리적 사건에 의한 호출
- Auto-scaling to Zero: 요청이 없을 때 물리 자원을 완전히 반납하는 물리학
- How to Learn:
- Hello World 함수 하나를 클라우드에 올리고, 인스턴스 정보 없이 호출되는 물리 과정 확인 실습
- 전통적인 EC2 방식과 서버리스 방식의 '운영 자동화 범위' 수리 비교
- Implement: 특정 이벤트를 받아 로깅을 남기는 가장 기초적인 서버리스
Handler코드
Recommended
Core: 일시적 실행과 무상태성 (Stateless Dynamics)
- Why to Learn: 함수가 언제든 죽고 다시 살아날 수 있는 '휘발성 환경'에서 데이터 무결성을 지키기 위함입니다.
- What to Learn:
- Ephemeral Execution: 실행 후 모든 로컬 물리 자원이 파괴되는 성질
- stateless by Design: 함수 내부에 전역 변수나 상태를 저장하지 않는 수리 규칙
- External Persistence: 상태 보존을 위해 DB나 캐시를 물리적으로 연결하는 수순
- How to Learn:
- 함수 내부 메모리에 값을 저장했다가, 다음 호출 때 그 값이 사라지는 현상을 실험하고 원인 분석 실습
- 1,000명의 동시 유저가 각기 다른 함수 인스턴스를 점유할 때의 물리적 격리 상태 확인
- Implement: Redis를 외부 상태 저장소로 사용하여 방문자 수를 카운팅하는
ServerlessCounter
Practical
Core: 콜드 스타트와 성능 최적화 (Cold Start Mechanics)
- Why to Learn: 서버리스의 치명적 약점인 '첫 호출 지연'을 물리적으로 극복하여 UX를 지키기 위해서입니다.
- What to Learn:
- Containerization Overhead: 함수 실행을 위한 하드웨어 컨테이너 기동 시간 산출
- Language Runtimes: Java, Python, Go 등 언어별 콜드 스타트 물리적 격차
- Warm-up Strategies: 주기적 호출(Ping)이나 프로지버닝을 통한 지연 수리 완화
- How to Learn:
- 10분간의 무활동 후 첫 번째 요청의 응답 속도와 두 번째 응답 속도를 수치로 비교 측정 실습
- 패키지 용량()을 줄였을 때 콜드 스타트 시간이 얼마나 물리적으로 단축되는지 산출
- Implement: 콜드 스타트를 방지하기 위해 5분마다 빈 요청을 쏘는
KeepWarm스케줄러
Advanced
Core: 서버리스 아키텍처와 비용 공학 (Serverless Ops)
- Why to Learn: 복잡한 비즈니스 워크플로우를 서버리스로 엮고, 예기치 못한 비용 폭탄을 물리적으로 막기 위함입니다.
- What to Learn:
- Serverless Orchestration: 여러 함수를 순서대로 실행하는 수리적 파이프라인 (Step Functions 등)
- Concurrency Limits: 클러스터 전체에서 동시에 실행 가능한 물리적 함수 개수 제어
- Pay-per-ms Economics: 컴퓨팅 파워 점유 시간에 따른 정밀한 비용 수리 모델링
- How to Learn:
- '재시도 로직'이 루프에 빠졌을 때 초당 과금액이 어떻게 지수적으로 폭발하는지 시나리오 실습
- 대규모 배치 작업을 서버리스로 수행할 때와 상시 인스턴스로 수행할 때의 비용 분기점() 산출
- Implement: 여러 서버리스 함수를 체인으로 연결하여 데이터를 가공하는
WorkflowEngine기획
7. Terminology
8. References
Primary
- [P1] CS2023 - SE/Software Engineering (SaaS and cloud computing) — Core requirements.
- [P5] SFIA v9 - IT Infrastructure (Infrastructure build and configuration / Scalability) — Management context.
Secondary
- [Serverless Architectures on AWS] Peter Sbarski — Practical architectural patterns.
- [What is Serverless?] Martin Fowler — Conceptual deep dive.
Industry
- [AWS Lambda: Documentation & White-papers] — Leading implementation guide.
- [CNCF: Serverless Whitepaper] — Industry consensus on definitions and tech.
9. Final Checklist
Primary
- '서버리스'의 비용 모델이 '상시 가동 서버'보다 어떤 트래픽 패턴에서 하드웨어적으로 유리한지 설명 가능한가? (P1)
- '함수' 간의 소통에서 '동기식 호출'이 일으키는 리소스 대기 물리 비용을 수리적으로 기술할 수 있는 가? (P1)
Secondary
- '콜드 스타트' 현상이 왜 '정적 타입 언어(Java)'와 '동적 타입 언어(Python)'에서 서로 다른 물리적 시간을 소비하는지 소통 가능한가?
- 무상태성(Statelessness) 원칙을 위반했을 때, 클라우드 스케줄러가 함수를 다른 노드로 옮기는 과정에서 발생하는 데이터 유실 시나리오를 논증할 수 있는 가?
Industry
- '함수 체이닝' 과정에서 발생할 수 있는 '재귀적 호출'에 의한 무한 비용 발생을 인프라 레벨에서 물리적으로 차단하는 방법을 제안할 수 있는 가? (SFIA)
- 서비스 운영 중 '예약된 동시성()' 설정이 하드웨어 파편화와 비용에 미치는 물리적 영향을 분석할 수 있는 가?