Firecracker is a light-weight virtualization technology open sourced by Amazon Web Services. A developer can use Firecracker to create and operate micro virtual machines (micro VMs) that host multi-tenant containers and run in conjunction with AWS serverless technologies.

Firecracker also implements a virtual machine monitor (VMM).With Firecracker, a user can combine the efficiency and high performance of containers with the security and isolation of traditional VMs and hardware-based virtualization.

Firecracker specifications

Firecracker uses the KVM hypervisor architecture for Linux. AWS developed the virtualization technology with minimal elements to increase boot speeds, reduce attack surface and maximize server utilization. To further optimize performance, a user is only able to boot recent Linux kernels, and Firecracker doesn't support graphics, accelerators or most legacy devices.

In addition, each micro VM created with Firecracker has a memory overhead of less than 5 MiB, which enables a higher density of isolated containers that can run on a single server.

A user can launch micro VMs in as little as 125 milliseconds, and create as many as 150 micro VMs per second per host, according to AWS.

Firecracker is written in the Rust programming language, and can currently run on Intel processors, with AMD and ARM processor support expected in 2019.

Firecracker and serverless

AWS open sourced Firecracker, which it already used internally to improve resource utilization and user experience for services such as AWS Lambda and AWS Fargate.

With Fargate, for example, Firecracker accelerates the deployment of Fargate Tasks. Previously, those Tasks would consist of one or multiple Docker containers that run inside an Amazon EC2 VM to remain isolated. Now, Fargate Tasks can run on Firecracker micro VMs, which enables faster provisioning times on EC2 bare metal instances.

Firecracker and open source

Firecracker is available under the Apache version 2.0 open source license. AWS currently reviews and accepts pull requests from the open source community, and will collaborate with Firecracker users.

It cannot currently be used with Kubernetes, Docker or Kata containers, though AWS says it plans to extend Firecracker to other major container ecosystems.   

This was last updated in December 2018

Continue Reading About Firecracker

Dig Deeper on AWS cloud development

App Architecture
Cloud Computing
Software Quality
  • How to test a predictive model

    Strategies for testing predictive models and analytics emphasize data quality, real-time testing and code redundancy, as well as ...

  • The dos and don'ts of visual testing

    The visual aspect of an application is an important part of UX. Defects can potentially result in lost sales and damaged ...

  • 3 QA testing tools to consider

    QA testers need to be able to put applications and APIs through their paces. Here are some examples of tools that can help with ...