Voltar às atualizações
New releaseSep 12, 2026

firecracker v1.17.0

MicroVMs seguros e rápidos para computação serverless.

Compartilhar
Firecracker Logo Title

Nossa missão é permitir a execução segura, multi-tenant e com sobrecarga mínima de workloads de contêineres e funções.

Leia mais sobre a Carta do Firecracker aqui.

O que é o Firecracker?

O Firecracker é uma tecnologia de virtualização de código aberto projetada especificamente para criar e gerenciar serviços seguros, multi-tenant e baseados em contêineres e funções que oferecem modelos operacionais serverless. O Firecracker executa workloads em máquinas virtuais leves, chamadas microVMs, que combinam as propriedades de segurança e isolamento fornecidas pela tecnologia de virtualização de hardware com a velocidade e flexibilidade dos contêineres.

Visão Geral

O principal componente do Firecracker é um monitor de máquina virtual (VMM) que usa o Linux Kernel Virtual Machine (KVM) para criar e executar microVMs. O Firecracker tem um design minimalista. Ele exclui dispositivos desnecessários e funcionalidades voltadas ao guest para reduzir o footprint de memória e a superfície de ataque de cada microVM. Isso melhora a segurança, diminui o tempo de inicialização e aumenta a utilização de hardware. O Firecracker também foi integrado em runtimes de contêineres, por exemplo Kata Containers e Flintlock.

O Firecracker foi desenvolvido na Amazon Web Services para acelerar a velocidade e a eficiência de serviços como AWS Lambda e AWS Fargate. O Firecracker é de código aberto sob Apache versão 2.0.

Para ler mais sobre o Firecracker, confira firecracker-microvm.io.

Começando

Para começar com o Firecracker, baixe os binários da versão mais recente release ou compile-o a partir do código-fonte.

Você pode compilar o Firecracker em qualquer sistema Unix/Linux que tenha Docker em execução (usamos um contêiner de desenvolvimento) e bash instalado, da seguinte forma:

git clone https://github.com/firecracker-microvm/firecracker
cd firecracker
tools/devtool build
toolchain="$(uname -m)-unknown-linux-musl"

O binário do Firecracker será colocado em build/cargo_target/${toolchain}/debug/firecracker. Para mais informações sobre compilação, testes e execução do Firecracker, acesse o guia de início rápido.

A segurança geral das microVMs do Firecracker, incluindo a capacidade de atender aos critérios para computação multi-tenant segura, depende de um sistema operacional host Linux bem configurado. Uma configuração que acreditamos atender a esse padrão está incluída no documento de configuração do host de produção.

Contribuindo

O Firecracker já está executando workloads de produção dentro da AWS, mas ainda estamos no Dia 1 da jornada guiada pela nossa missão. Há muito mais a construir e recebemos todas as contribuições.

Para contribuir com o Firecracker, confira a seção de configuração de desenvolvimento no guia de início rápido e depois as diretrizes de contribuição do Firecracker.

Releases

Novas versões do Firecracker são lançadas através da página de releases do repositório GitHub, normalmente a cada dois ou três meses. Um histórico de mudanças é registrado no nosso changelog.

A política de releases do Firecracker é detalhada aqui.

Design

A arquitetura geral do Firecracker é descrita em o documento de design.

Recursos e Capacidades

O Firecracker consiste em um único processo de gerenciador de micro Máquina Virtual que expõe um endpoint de API ao host uma vez iniciado. A API é especificada em formato OpenAPI. Leia mais sobre isso na documentação da API.

O endpoint da API pode ser usado para:

  • Configurar a microvm:
    • Definindo o número de vCPUs (o padrão é 1).
    • Definindo o tamanho da memória (o padrão é 128 MiB).
    • Configurando um template de CPU.
  • Adicionar uma ou mais interfaces de rede à microVM.
  • Adicionar um ou mais discos de leitura-escrita ou somente leitura à microVM, cada um representado por um dispositivo de bloco com suporte de arquivo.
  • Acionar uma nova varredura do dispositivo de bloco enquanto o guest está em execução. Isso permite que o sistema operacional guest detecte mudanças de tamanho no arquivo de suporte do dispositivo de bloco.
  • Alterar o arquivo de suporte de um dispositivo de bloco, antes ou depois da inicialização do guest.
  • Configurar limitadores de taxa para dispositivos virtio que podem limitar a largura de banda, operações por segundo, ou ambos.
  • Configurar o sistema de logging e métricas.
  • [BETA] Configurar a árvore de dados do serviço de metadados voltado ao guest. O serviço só está disponível para o guest se este recurso estiver configurado.
  • Adicionar um socket vsock à microVM.
  • Adicionar um dispositivo de entropia à microVM.
  • Adicionar um dispositivo pmem à microVM.
  • Configurar e gerenciar hotplugging de memória.
  • [Developer Preview] Hot-plug e hot-unplug de dispositivos virtio PCI enquanto a VM está em execução.
  • Iniciar a microVM usando uma imagem de kernel, sistema de arquivos raiz e argumentos de boot fornecidos.
  • [Somente x86_64] Parar a microVM.

Capacidades Integradas:

  • Paginação por demanda de falhas e oversubscription de CPU habilitados por padrão.
  • Filtros seccomp avançados e específicos por thread para segurança aprimorada.
  • Processo Jailer para iniciar o Firecracker em cenários de produção; aplica uma barreira de isolamento cgroup/namespace e depois remove privilégios.

Plataformas testadas

Testamos todas as combinações de:

Categorias