AWS Lambda / Firecracker (Serverless)
Entity (인물·조직)lectureverified2026-05-09

AWS Lambda / Firecracker (Serverless)

#vch#lecture-intro#B-os#os-g5

AWS Lambda + Firecracker (2014, 2018)

1. 요약

AWS Lambda(2014.11)는 코드 + 트리거만 올리면 클라우드가 자원·확장·가용성을 모두 처리해 주는 Function as a Service(FaaS) 모델을 처음 본격 상품화. 서버리스(serverless) 시대를 열었다. Firecracker(2018)는 AWS가 Lambda·Fargate를 위해 만든 경량 가상화 매니저(VMM) — KVM 기반, 125ms 부팅, 5MB 메모리 풋프린트. 컨테이너의 가벼움 + VM의 격리를 한 추상으로 통합.

2. 등장 배경

2010년대 초 Heroku 같은 PaaS와 Docker 컨테이너가 서버 운영의 부담을 줄였지만, 여전히 항상 켜져 있는 인스턴스를 사용자가 의식해야 했다. AWS는 함수 단위로 과금하는 모델을 구상, 2014년 11월 re:Invent에서 Lambda 발표. 초기에는 EC2 T2 인스턴스 위에 사용자 코드를 격리. 그러나 Lambda 사용량 폭증 후 EC2의 시작 시간·자원 풋프린트가 병목. AWS는 Lambda·Fargate 전용 microVM을 처음부터 다시 설계 — 그 결과가 Firecracker(2018.11 re:Invent에서 오픈소스 공개).

3. 아키텍처 특징

Lambda

  • 이벤트 기반 실행 — HTTP·S3 업로드·DynamoDB 변경·SQS 메시지 등 이벤트 트리거에 함수가 깨어남.
  • 함수당 격리 + 자동 확장 — 같은 함수도 동시 호출이 많으면 인스턴스를 자동으로 띄움. 사용자는 동시성·확장 신경 쓰지 않음.
  • 상태 없음(stateless) — 함수 인스턴스는 언제든 죽을 수 있다. 상태는 외부 스토리지(S3·DynamoDB)에 정합.
  • 콜드 스타트 vs 웜 스타트 — 처음 호출 시 수백 ms 부팅, 이후 일정 시간 재사용.
  • 다중 언어 런타임 — Node.js·Python·Java·Go·.NET·Ruby + Custom Runtime.

Firecracker (2018~)

  • KVM 기반 minimal VMM — Linux KVM(가상화 인프라)을 그대로 사용. Cloud Hypervisor·QEMU와 다르게 미니멀.
  • 사용자 공간 VMM — 호스트의 사용자 공간에서 동작. 큰 디바이스 모델 불필요.
  • 125ms 부팅 / 5MB 풋프린트 — 컨테이너에 가까운 가벼움.
  • Rust로 작성 — 메모리 안전. 보안 우선 설계.
  • Jailer — Firecracker 자체를 seccomp·cgroups·namespaces로 한 번 더 격리. 다층 방어.

4. 짝지어진 언어

Rust(Firecracker 자체) — 시스템 SW에 메모리 안전을 박은 것이 결정적. Node.js·Python(Lambda 함수의 가장 흔한 언어). Go(고성능 백엔드 람다), Java(엔터프라이즈), Custom Runtime(C++·Rust·Bash 등 자유 기록). Firecracker가 Rust의 시스템 SW 적합성을 산업적으로 증명한 결정적 사례 — 이후 Linux 커널·Android·Windows 모두 Rust 채택.

5. SE 실무 변화

  • 서버리스 패러다임의 정착서버를 운영하지 않는 운영. 비용은 호출당·실행 시간당으로 과금. 완전 종량제 시대.
  • 이벤트 기반 아키텍처 — Lambda + EventBridge + SQS + SNS 조합으로 이벤트 중심 시스템 설계가 표준 패턴이 됨.
  • 컨테이너 vs 함수 vs VM의 새 분류 — 2010년대 후반 *VM(EC2) → Container(ECS·EKS) → Function(Lambda)*의 3 추상이 각자 다른 워크로드에 기록됨.
  • AI 추론의 서버리스화 — 2024~2026년 모델 추론을 함수로 호출하는 패턴이 표준. 온디맨드 GPU 함수도 등장.

6. 강의 활용

Lambda + Firecracker는 강의에서 **"새 제약이 같은 추상의 새 인스턴스화를 부른다"**는 메시지의 결정적 사례. KVM·VMM은 1990년대~2000년대부터 있던 추상이지만, Firecracker는 125ms 부팅·5MB 풋프린트·다중 테넌트 격리라는 새 제약에 그 추상을 다시 박았다. "새 시대의 OS는 새 추상이 아니라 옛 추상의 새 박음이다". Vibe Coding 시대에 LLMWiki·프롬프트·하네스도 옛 추상(파일 시스템·컴파일러·인터프리터)의 새 기록과 평행.

7. 주요 인물·사건

  • Tim Wagner — AWS Lambda 첫 책임자. 서버리스의 아버지로 평가됨.
  • Werner Vogels — AWS CTO. 서버리스 비전 제시.
  • Anjuli Sharma / Diana Pojar — Firecracker 핵심 엔지니어.
  • 2014.11 — AWS re:Invent에서 Lambda 발표
  • 2015 — API Gateway 통합. 서버리스 백엔드가 가능해짐
  • 2017 — AWS Fargate 발표 (서버리스 컨테이너)
  • 2018.11.26 — Firecracker 오픈소스 공개 (re:Invent)
  • 2019 — Lambda, Firecracker로 마이그레이션 완료 시작
  • 2020 — Lambda Container Image 지원 (10GB 컨테이너 함수)
  • 2022~온디맨드 GPU 함수·WebAssembly Lambda 등 새 추상 등장
  • 2026 — Firecracker가 Knative·Kata Containers·Fly.io 등에 광범위 채택

출처

그룹 시리즈

synthesis/group-os_g5 (시대 그룹 종합 카드)