Episode ini menelusuri asal-usul Firecracker: akarnya di crosvm, keputusan AWS menulisnya ulang dalam Rust, filosofi satu proses satu microVM, dan angka-angka yang membuatnya revolusioner — boot 125 ms, overhead di bawah 5 MiB, dan 15 triliun invokasi Lambda per bulan.

Di episode 0 kita menyiapkan host, binary, dan image microVM. Kali ini kita berhenti sejenak dari terminal dan bertanya pertanyaan yang lebih mendasar: mengapa Firecracker ada? Apa masalah nyata yang membuat AWS rela menulis VMM dari nol, dan mengapa teknologi ini sekarang menggerakkan layanan serverless terbesar di dunia?
Memahami sejarah bukan sekadar trivia. Pilihan desain Firecracker — Rust, satu proses satu VM, API minimal, jailer — semuanya adalah jawaban atas masalah spesifik yang dialami AWS pada masanya. Jika kalian paham masalahnya, semua keputusan teknis di episode berikutnya akan terlihat masuk akal dengan sendirinya. Inilah episode yang membedakan operator yang sekadar menjalankan perintah dari engineer yang memahami sistem.
Cerita Firecracker dimulai dari kenyataan pahit di AWS Lambda. Lambda pada awalnya adalah layanan serverless yang menjalankan fungsi dalam wadah dengan isolasi berbasis VM multi-tenant — banyak fungsi pelanggan berbagi satu VM yang sama, dengan kernel yang sama. Pendekatan ini efisien, tapi menyisakan masalah fundamental: isolasi yang lemah antar pelanggan.
Jika satu fungsi pelanggan berhasil menembus isolasi proses dan namespace, kernel host akan terkompromi — dan semua fungsi lain di VM yang sama ikut terekspos. Untuk layanan yang dipakai oleh perusahaan perbankan dan kesehatan, model risiko seperti ini tidak bisa ditoleransi. AWS membutuhkan isolasi setara hardware untuk setiap workload, seperti EC2, tapi dengan biaya dan kecepatan seperti container.
Inilah paradoks yang memicu kelahiran Firecracker: isolasi EC2 yang mahal, kecepatan container yang murah. Solusinya tidak ada di pasaran — QEMU terlalu berat, dan container tidak cukup aman.
Jawaban AWS adalah membangun VMM baru. Tim AWS melihat bahwa Chromium OS, lewat proyek crosvm, sudah membangun VMM berbasis Rust yang berfokus pada keamanan dan kesederhanaan. crosvm membuktikan bahwa VMM bisa ditulis dengan bahasa yang aman dari segi memori — dan keamanan memori adalah persis masalah yang harus dipecahkan untuk isolasi multi-tenant.
Firecracker lahir sebagai fork dari crosvm, lalu diarahkan ulang secara agresif menuju satu tujuan: minimalisme untuk serverless. Fitur-fitur yang tidak dibutuhkan untuk workload fungsi — VGA, audio, GUI, USB — dibuang. Yang tersisa hanya yang esensial: boot kernel, block device, network, dan seperangkat virtio device yang dikurasi ketat.
Dua keputusan ini — memilih Rust dan berawal dari crosvm — adalah fondasi filosofis Firecracker:
Firecracker diumumkan dan dirilis sebagai open source dengan lisensi Apache 2.0 pada akhir tahun 2018. Keputusan open source ini penting: komunitas di luar AWS — dari startup serverless, provider PaaS, hingga tim platform internal — bisa memakai dan mengembangkan teknologi yang sama dengan AWS. Sejak itu ekosistemnya tumbuh: firecracker-containerd, Flintlock, kata-containers, hingga berbagai implementasi sandbox AI agent.
Angka-angka yang menyertai Firecracker bukan hiperbola marketing:
Bandingkan dengan QEMU tradisional: boot beberapa detik dan overhead ratusan MiB. Perbedaan orde magnitudo inilah yang memungkinkan Lambda beroperasi dengan skala dan biaya yang kita kenal sekarang — dan yang memungkinkan pola scale-to-zero di mana VM bisa dimatikan total saat tidak dipakai lalu dihidupkan kembali dalam milidetik.
Note
Angka 15 triliun invokasi per bulan perlu dibaca dengan konteks: Firecracker tidak dipakai untuk semua jenis workload Lambda, melainkan menjadi basis dari model isolasi yang memungkinkan Lambda tumbuh ke skala tersebut dengan biaya yang terkendali.
Setelah memahami sejarah, mari rumuskan mengapa Firecracker dipilih untuk membangun platform serverless:
Empat pilar ini adalah alasan yang sama yang dipakai E2B, Fly.io, Daytona, dan provider serverless lain saat memilih Firecracker untuk sandbox mereka. Semuanya butuh hal yang sama: isolasi kuat dengan biaya startup yang hampir nol.
Untuk memahami posisi Firecracker, kita perlu membedakannya dari teknologi yang sering disamakan dengannya:
Kesimpulannya: Firecracker mengisi ceruk spesifik — workload ephemeral yang harus boot cepat, padat, dan terisolasi kuat. Bukan untuk menggantikan QEMU di semua tempat, tapi untuk membuka kategori sistem yang sebelumnya mustahil dibangun dengan biaya yang masuk akal.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membedah konsep dasar dan arsitektur utama Firecracker — satu proses untuk satu microVM, perbandingan VMM Rust melawan QEMU, keluarga device virtio (net, block, vsock, balloon, entropy), rate limiter, jailer, dan metadata service MMDS. Setelah episode ini, kalian akan melihat dengan mata kepala sendiri bagaimana desain yang lahir dari masalah nyata diterjemahkan menjadi kode.