Torna agli aggiornamenti
New releaseSep 12, 2026

firecracker v1.17.0

MicroVM sicure e veloci per il computing serverless.

Condividi
Firecracker Logo Title

La nostra missione è abilitare l'esecuzione sicura, multi-tenant e con overhead minimo di carichi di lavoro container e funzione.

Leggi di più sulla Carta di Firecracker qui.

Cos'è Firecracker?

Firecracker è una tecnologia di virtualizzazione open source progettata appositamente per creare e gestire servizi sicuri, multi-tenant, basati su container e funzioni che forniscono modelli operativi serverless. Firecracker esegue carichi di lavoro in macchine virtuali leggere, chiamate microVM, che combinano le proprietà di sicurezza e isolamento fornite dalla tecnologia di virtualizzazione hardware con la velocità e la flessibilità dei container.

Panoramica

Il componente principale di Firecracker è un monitor di macchine virtuali (VMM) che utilizza il Kernel Virtual Machine (KVM) di Linux per creare ed eseguire microVM. Firecracker ha un design minimalista. Esclude dispositivi non necessari e funzionalità rivolte all'ospite per ridurre l'impronta di memoria e la superficie di attacco di ogni microVM. Questo migliora la sicurezza, diminuisce il tempo di avvio e aumenta l'utilizzo dell'hardware. Firecracker è stato inoltre integrato in runtime di container, ad esempio Kata Containers e Flintlock.

Firecracker è stato sviluppato presso Amazon Web Services per accelerare la velocità e l'efficienza di servizi come AWS Lambda e AWS Fargate. Firecracker è rilasciato come open source sotto Apache versione 2.0.

Per saperne di più su Firecracker, consulta firecracker-microvm.io.

Per Iniziare

Per iniziare con Firecracker, scarica gli eseguibili dell'ultima release oppure compilalo dal sorgente.

Puoi compilare Firecracker su qualsiasi sistema Unix/Linux che abbia Docker in esecuzione (noi usiamo un container di sviluppo) e bash installato, come segue:

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

L'eseguibile di Firecracker sarà posizionato in build/cargo_target/${toolchain}/debug/firecracker. Per maggiori informazioni su compilazione, test ed esecuzione di Firecracker, consulta la guida rapida.

La sicurezza complessiva delle microVM Firecracker, inclusa la capacità di soddisfare i criteri per il calcolo multi-tenant sicuro, dipende da un sistema operativo host Linux ben configurato. Una configurazione che riteniamo soddisfi questo requisito è inclusa nel documento di configurazione dell'host di produzione.

Contribuire

Firecracker sta già eseguendo carichi di lavoro di produzione all'interno di AWS, ma è ancora al primo giorno del percorso guidato dalla nostra missione. C'è molto altro da costruire e accogliamo con favore tutti i contributi.

Per contribuire a Firecracker, consulta la sezione sulla configurazione dello sviluppo nella guida per iniziare e poi le linee guida per i contributi di Firecracker.

Release

Le nuove versioni di Firecracker vengono rilasciate tramite la pagina delle release del repository GitHub, in genere ogni due o tre mesi. Una cronologia delle modifiche è registrata nel nostro changelog.

La politica di rilascio di Firecracker è descritta in dettaglio qui.

Design

L'architettura complessiva di Firecracker è descritta in il documento di design.

Funzionalità e Capacità

Firecracker consiste in un singolo processo di Virtual Machine Manager che espone un endpoint API all'host una volta avviato. L'API è specificata in formato OpenAPI. Leggi di più nella documentazione API.

L'endpoint API può essere utilizzato per:

  • Configurare la microvm:
    • Impostando il numero di vCPU (il valore predefinito è 1).
    • Impostando la dimensione della memoria (il valore predefinito è 128 MiB).
    • Configurando un template CPU.
  • Aggiungere una o più interfacce di rete alla microVM.
  • Aggiungere uno o più dischi in lettura-scrittura o sola lettura alla microVM, ciascuno rappresentato da un dispositivo a blocchi basato su file.
  • Attivare una nuova scansione del dispositivo a blocchi mentre l'ospite è in esecuzione. Questo consente al sistema operativo ospite di rilevare le modifiche di dimensione al file di supporto del dispositivo a blocchi.
  • Cambiare il file di supporto per un dispositivo a blocchi, prima o dopo l'avvio dell'ospite.
  • Configurare limitatori di velocità per i dispositivi virtio che possono limitare la larghezza di banda, le operazioni al secondo, o entrambe.
  • Configurare il sistema di logging e metriche.
  • [BETA] Configurare l'albero dati del servizio di metadati rivolto all'ospite. Il servizio è disponibile per l'ospite solo se questa risorsa è configurata.
  • Aggiungere un socket vsock alla microVM.
  • Aggiungere un dispositivo di entropia alla microVM.
  • Aggiungere un dispositivo pmem alla microVM.
  • Configurare e gestire l'hotplug della memoria.
  • [Anteprima per sviluppatori] Hot-plug e hot-unplug di dispositivi virtio PCI mentre la VM è in esecuzione.
  • Avviare la microVM utilizzando una data immagine del kernel, file system root e argomenti di avvio.
  • [Solo x86_64] Arrestare la microVM.

Capacità Integrate:

  • Paging con fault su richiesta e oversubscription della CPU abilitati per impostazione predefinita.
  • Filtri seccomp avanzati e specifici per thread per una maggiore sicurezza.
  • Processo Jailer per avviare Firecracker in scenari di produzione; applica una barriera di isolamento cgroup/namespace e poi rilascia i privilegi.

Piattaforme testate

Testiamo tutte le combinazioni di:

Categorie