MicroVM sicure e veloci per il computing serverless.
La nostra missione è consentire l'esecuzione sicura, multi-tenant e a overhead minimo di workload di container e funzioni.
Scopri di più sulla Firecracker Charter qui.
Firecracker è una tecnologia di virtualizzazione open source progettata appositamente per creare e gestire servizi sicuri, multi-tenant, basati su container e funzioni che offrono modelli operativi serverless. Firecracker esegue i workload 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.
Il componente principale di Firecracker è un virtual machine monitor (VMM) che utilizza la Linux Kernel Virtual Machine (KVM) per creare ed eseguire microVM. Firecracker può anche eseguire un guest come Nitro Sandbox, isolato dall'AWS Nitro System invece che da KVM. Firecracker ha un design minimalista. Esclude dispositivi e funzionalità rivolte al guest non necessari per ridurre l'occupazione di memoria e la superficie di attacco di ciascuna microVM. Questo migliora la sicurezza, riduce il tempo di avvio e aumenta l'utilizzo dell'hardware. Firecracker è stato inoltre integrato in runtime per 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 è open source con licenza Apache versione 2.0.
Per saperne di più su Firecracker, consulta firecracker-microvm.io.
Per iniziare con Firecracker, scarica i binari dell'ultima release oppure compilalo dai sorgenti.
Puoi compilare Firecracker su qualsiasi sistema Unix/Linux che abbia Docker in esecuzione (utilizziamo 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"
Il binario Firecracker verrà collocato in
build/cargo_target/${toolchain}/debug/firecracker. Per maggiori informazioni su
come compilare, testare ed eseguire Firecracker, consulta la
guida rapida.
La sicurezza complessiva delle microVM Firecracker, inclusa la capacità di soddisfare i criteri per un 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.
Firecracker sta già eseguendo carichi di lavoro di produzione all'interno di AWS, ma è ancora il Giorno 1 del percorso guidato dalla nostra missione. C'è ancora molto da costruire e accogliamo con favore tutti i contributi.
Per contribuire a Firecracker, consulta la sezione sulla configurazione dello sviluppo nella guida introduttiva e poi le linee guida per i contributi di Firecracker.
Le nuove versioni di Firecracker vengono pubblicate tramite la pagina releases del repository GitHub, tipicamente ogni due o tre mesi. Una cronologia delle modifiche è registrata nel nostro changelog.
La politica di rilascio di Firecracker è dettagliata qui.
L'architettura complessiva di Firecracker è descritta nel documento di design.
Firecracker consiste in un singolo processo micro 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:
[BETA] Configurare l'albero dei dati del servizio di metadati rivolto al guest. Il
servizio è disponibile per il guest solo se questa risorsa è configurata.[Developer Preview] Hot-plug e hot-unplug dei dispositivi virtio
PCI mentre la VM è in esecuzione.Capacità integrate: