This is an early release preview. You may encounter bugs.
Firecracker logo
Unclaimed

Tool deployment

Firecracker

Secure and fast microVMs for serverless computing.

A+ 93/100 GitHub score ? This grade is derived from GitHub signals, not user votes. Open for the full breakdown.
Discussion

01 / Summary

About Firecracker.

Firecracker is a virtualization technology for running secure, multi-tenant container and function workloads in lightweight virtual machines called microVMs. A microVM combines the isolation of hardware virtualization with the speed and flexibility of containers, and Firecracker is built for services that follow a serverless operating model.

Its core is a minimal virtual machine monitor that uses Linux KVM to create and run microVMs. It leaves out unnecessary devices and guest-facing features to cut each microVM's memory footprint and attack surface, which also shortens startup and raises hardware utilization. It was developed at Amazon Web Services for AWS Lambda and AWS Fargate and has been integrated into container runtimes such as Kata Containers and Flintlock.

Each Firecracker process exposes a host-side API, specified in OpenAPI, for configuring and starting one microVM: vCPUs, memory, CPU templates, network interfaces, block devices, rate limiters, vsock, entropy and pmem devices, memory hotplug, and a guest metadata service. A jailer process applies cgroup and namespace isolation and drops privileges for production use, and thread-specific seccomp filters restrict system calls. It is tested on Intel, AMD, and Graviton bare-metal EC2 instances with Linux host and guest kernels.

  • MicroVM isolation: hardware-virtualized isolation per workload with container-like startup speed
  • Minimal VMM: a KVM-based monitor that omits unneeded devices to reduce memory footprint and attack surface
  • Host API: an OpenAPI-specified endpoint to set vCPUs, memory, CPU templates, network interfaces, and disks
  • Block devices: file-backed read-write or read-only disks, live rescans, and backing-file changes before or after boot
  • Rate limiting: per-device bandwidth and operations-per-second limits for virtio devices
  • Extra devices: vsock sockets, entropy and pmem devices, memory hotplugging, and PCI device hot-plug in developer preview
  • Guest metadata service: a configurable metadata data tree available to the guest (beta)
  • Jailer: starts Firecracker inside a cgroup and namespace barrier and then drops privileges
  • Seccomp filtering: thread-specific system call filters for each component
  • Oversubscription: demand fault paging and CPU oversubscription on by default

02 / Discussion CREDIBILITY-GATED

Discussion

Reading is open to everyone. Posting and voting need a verified identity or a GitHub grade of B or higher.

  • No discussions yet.

04 / Build

Build with Firecracker.

Browse the catalog for frameworks, tools, and harnesses, each scored on real GitHub credibility.

Get Firecracker →

Browse the catalog