MicroVM sicure e veloci per il computing serverless.
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.
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.
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 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.
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.
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.
L'architettura complessiva di Firecracker è descritta in il documento di design.
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:
[BETA] Configurare l'albero dati del servizio di metadati rivolto all'ospite. Il
servizio è disponibile per l'ospite solo se questa risorsa è configurata.[Anteprima per sviluppatori] Hot-plug e hot-unplug di dispositivi
virtio PCI mentre la VM è in esecuzione.Capacità Integrate:
Testiamo tutte le combinazioni di: