Repolode
firecracker-microvm

firecracker-microvm/firecracker

A minimalist KVM-based virtual machine monitor that runs lightweight microVMs for secure, multi-tenant serverless and container workloads.

Stars
37,592
Forks
2,703
Open issues
133
Last commit
20 hours ago

What is it?

Firecracker is a virtualization technology for running container and function workloads in lightweight virtual machines called microVMs. Its core is a virtual machine monitor that uses Linux KVM to create and run microVMs. The design deliberately omits unnecessary devices and guest-facing functionality, which reduces each microVM's memory footprint and attack surface and shortens startup time.

Firecracker exposes a single API endpoint per process, specified in OpenAPI format, for configuring vCPUs, memory, CPU templates, network interfaces, block devices with rate limiters, vsock, entropy, pmem, and memory hotplug. It is also used as a backend in container runtimes such as Kata Containers and Flintlock. The project was developed at AWS for services like Lambda and Fargate and is released under Apache 2.0.

Running it securely depends on a properly configured Linux host; the project provides a production host setup guide and a jailer process that applies cgroup and namespace isolation before dropping privileges.

Key features

  • 01Runs workloads in microVMs using Linux KVM with a minimal device set.
  • 02Configurable vCPUs, memory, CPU templates, and block or network devices via an API.
  • 03Per-process seccomp filters and a jailer for cgroup and namespace isolation.
  • 04Supports rate limiters for virtio devices, vsock, entropy, pmem, and memory hotplug.
  • 05Integrates with container runtimes such as Kata Containers and Flintlock.

Use cases

  • Running untrusted function or container workloads in isolated microVMs on a multi-tenant host.
  • Building a serverless platform backend that needs fast microVM startup.
  • Using Firecracker as the VM layer under a container runtime such as Kata Containers.
  • Testing or prototyping VM-based isolation on Linux hosts with KVM support.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/firecracker-microvm/firecracker
  2. 2

    Enter the project directory

    cd firecracker
  3. 3

    Build Firecracker with the development container (requires Docker and bash)

    tools/devtool build

Things to know

  • Requires a Linux host with KVM support and a well-configured host OS for secure multi-tenant use.
  • The pl031 RTC device on aarch64 does not support interrupts, so RTC alarms such as hwclock do not work.

Topics

FAQ

What is firecracker?
A minimalist KVM-based virtual machine monitor that runs lightweight microVMs for secure, multi-tenant serverless and container workloads. Firecracker is a virtualization technology for running container and function workloads in lightweight virtual machines called microVMs. Its core is a virtual machine monitor that uses Linux KVM to create and run microVMs. The design deliberately omits unnecessary devices and guest-facing functionality, which reduces each microVM's memory footprint and attack surface and shortens startup time.
Is firecracker free to use? What license does it have?
firecracker is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is firecracker still maintained?
Actively maintained. The last commit to firecracker was on Oct 24, 2026.
What can I use firecracker for?
Running untrusted function or container workloads in isolated microVMs on a multi-tenant host. Building a serverless platform backend that needs fast microVM startup. Using Firecracker as the VM layer under a container runtime such as Kata Containers. Testing or prototyping VM-based isolation on Linux hosts with KVM support.
How do I install firecracker?
Clone the repository: git clone https://github.com/firecracker-microvm/firecracker Enter the project directory: cd firecracker Build Firecracker with the development container (requires Docker and bash): tools/devtool build
Where can I get firecracker?
The source code and installation instructions are on GitHub: https://github.com/firecracker-microvm/firecracker

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects