모래성 말고 철옹성

[Firecracker] Lambda, Fargate는 어떤 기술로 만들어졌을까? 본문

DevOps/Infra

[Firecracker] Lambda, Fargate는 어떤 기술로 만들어졌을까?

JDhyeok 2025. 8. 12. 00:46

출처: Firecracker

Firecracker가 탄생한 히스토리

AWS는 처음에 Lambda 서비스를 만들면서 고객별로 전용 서버를 할당해 안전하게 운영했습니다. 하지만 이 방식은 무겁고 관리가 어려운 문제점이 있었습니다. 서버리스와 컨테이너 사용이 급격히 늘어나면서, 더 빠르고 가볍고 효율적인 가상 머신 기술이 필요해졌습니다.

그래서 AWS는 Firecracker를 개발했습니다. Firecracker는 아주 작고 빠른 가상 머신으로, 한 서버에 수천 개를 동시에 띄워도 안전하고 효율적으로 운영할 수 있도록 설계되었습니다. 덕분에 Lambda와 Fargate 같은 서비스가 더 빠르고 효율적으로 동작할 수 있게 되었습니다.

개요

Firecracker는 MicroVM을 빠르고 안전하게 만드는 기술

  • Firecracker의 중요한 구성요소는 가상 컴퓨터를 만들고 관리하는 프로그램인 VMM(Virtual Machine Monitor)이고, 이건 리눅스의 KVM(Kernel Virtual Machine)을 이용하여 microVM을 구성
  • 필요 없는 기능이나 장치는 빼서 메모리를 적게 사용하고, 보안도 강화된 형태. 그래서 기동이 빠르고 하드웨어 자원도 효율적 이용 가능
  • Firecracker는 Kata Containers나 Flintlock 같은 컨테이너 프로그램과도 함께 사용 가능
  • 원래 AWS에서 서버리스 서비스 Lambda와 컨테이너 서비스 Fargate를 더 빠르고 효율적으로 만들려고 개발한 오픈소스

장점

강화된 보안

  • 기존 VM보다 강화된 보안 제공함으로써 서로 다른 고객의 작업을 같은 하드웨어에서 안전하게 실행 가능
  • 필수 기능만을 구성해 공격 가능한 영역을 줄여 안정성 강화

속도

  • 가볍고 단순하게 설계되어 기동이 빠름
  • 0.125초 안에 실행할 수 있고 한 호스트에서 초당 150개의 microVM을 생성할 수 있다

효율성

  • 5MiB 미만의 메모리만을 사용해, 한 서버에 많은 수의 microVM을 배치
  • microVM에 rate limiter(속도 제한)기능을 내장해, 수천 개 microVM이 있어도 네트워크와 저장장치 자원을 효과적으로 공유할 수 있게 함

동작 방법

출처: Firecracker github

 

Firecracker는 컴퓨터 안에서 작은 가상 컴퓨터(마이크로VM)를 아주 빠르고 가볍게 만드는 기술로 앞서 봤듯이 아래와 같은 장점들이 있다.

  • 적은 메모리 사용과 빠른 동작으로, 한 대의 서버에 수백개의 microVM을 올릴 수 있다
  • 최소한의 기능 탑재로 보안적으로 노출되는 범위가 적어 안전하다
  • 수백개의 microVM이 있지만 속도 제한을 컨트롤 하여, 네트워크와 저장장치를 효율적 사용이 가능하다

기존에 쓰이던 QEMU라는 가상 컴퓨팅 기술과 비슷하지만, 더 빠르고 가볍게 만들 수 있는 기술이다.

 

Firecracker 프로세스는 RESTful API를 통해 제어할 수 있으며, 이 API로 vCPU 수 설정이나 가상머신 시작 같은 작업도 가능하다. 마지막으로, 'jailer'라는 프로그램이 가상 컴퓨터를 더 안전하게 보호해 주는데, 만약 가상화 장치가 뚫려도 한 번 더 막아주는 역할을 합니다.

 

쉽게 말하면, Firecracker는 ‘가상 컴퓨터를 만들고, 조절하고, 안전하게 지키는 여러 가지 도구와 방법’을 함께 제공하는 기술이다.

 

 

 

반응형
Comments