콘텐츠로 바로가기

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 학습이 아닙니다. 왜 서버리스 환경에서 함수 실행 시간이 길어질수록 하드웨어 리소스 사용 효율이 전통적인 서버보다 수리적으로 악화되는지 '비용 임계점'으로 증명할 수 있어야 하며, 콜드 스타트를 해결하기 위해 '프로비저닝된 동시성'을 사용하는 행위가 서버리스의 순수 물리학(ScaletoZeroScale to Zero)을 어떻게 훼손하는지 논증하지 못한다면 서버리스의 본질을 이해하지 못한 것입니다.

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

  1. The Ghost Machine: 서버가 눈에 보이지 않는 유령 상태(No visible IP/Instance)를 인정합니다.
  2. Function as Life: 앱 전체가 아닌, 단 하나의 '함수'가 독립된 물리 생명체로 살아 숨 쉬게 합니다.
  3. The Wake-up Call: 잠들어 있던 하드웨어를 깨우는(Cold Start) 대가와 수술 기법을 배웁니다.
  4. 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 코드

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분간의 무활동 후 첫 번째 요청의 응답 속도와 두 번째 응답 속도를 수치로 비교 측정 실습
    • 패키지 용량(DeploymentSizeDeployment Size)을 줄였을 때 콜드 스타트 시간이 얼마나 물리적으로 단축되는지 산출
  • 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:
    • '재시도 로직'이 루프에 빠졌을 때 초당 과금액이 어떻게 지수적으로 폭발하는지 시나리오 실습
    • 대규모 배치 작업을 서버리스로 수행할 때와 상시 인스턴스로 수행할 때의 비용 분기점(BreakevenBreak-even) 산출
  • Implement: 여러 서버리스 함수를 체인으로 연결하여 데이터를 가공하는 WorkflowEngine 기획

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Serverless 개발자가 서버 관리를 전혀 하지 않고 클라우드 리소스를 사용하는 실행 모델입니다. 기본 운영 모델 FaaS / BaaS Cloud-Native '서버가 없음' 아님 Industry core
FaaS 애플리케이션의 로직을 함수 단위로 배포하고 이벤트에 반응해 실행하는 서비스입니다. 기본 컴퓨팅 규격 Handler / Event PaaS 서버리스의 구현체 Industry core
Cold Start 잠들어 있던 함수 실행 환경을 준비하고 코드를 로드하는 과정에서 발생하는 물리적 지연입니다. 실무 지연 원인 Warm-up / Latency Loading 서버리스 최대 숙제 Industry core
Ephemeral 컨테이너가 요청 처리 후 즉시 파괴되는 일시적이고 휘발적인 물리적 성질입니다. 추천 수명주기 Stateless / Transient Persistent 상태 저장 불가 원인 P1:CS2023 core

8. References

Primary

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)
  • 서비스 운영 중 '예약된 동시성(ReservedConcurrencyReserved Concurrency)' 설정이 하드웨어 파편화와 비용에 미치는 물리적 영향을 분석할 수 있는 가?