Amazon ha pubblicato il sistema di virtualizzazione Firecracker 1.0

Amazon ha pubblicato una versione significativa del suo Virtual Machine Monitor (VMM), Firecracker 1.0.0, progettato per eseguire macchine virtuali con un sovraccarico minimo. Firecracker è un fork del progetto CrosVM, utilizzato da Google per eseguire applicazioni Linux e Android su ChromeOS. Firecracker è stato sviluppato da Amazon Web Services per migliorare le prestazioni e l'efficienza delle piattaforme AWS Lambda e AWS Fargate. Il codice Firecracker è scritto in Rust ed è concesso in licenza con la licenza Apache 2.0.

Firecracker offre macchine virtuali leggere chiamate microVM. Per l'isolamento completo della microVM vengono utilizzate tecnologie di virtualizzazione hardware basate sull'hypervisor KVM, ma allo stesso tempo vengono fornite prestazioni e flessibilità al livello dei contenitori convenzionali. Il sistema è disponibile per architetture x86_64 e ARM64 ed è stato testato su CPU della famiglia Intel Skylake, Intel Cascade Lake, AMD Zen2 e ARM64 Neoverse N1. Vengono forniti strumenti per integrare Firecracker nei sistemi di contenimento dei contenitori runtime come Kata Containers, Weaveworks Ignite e containerd (forniti da runtime firecracker-containerd).

Amazon ha pubblicato il sistema di virtualizzazione Firecracker 1.0

L'ambiente software in esecuzione all'interno delle macchine virtuali è ridotto al minimo e contiene solo un set minimo di componenti. Per risparmiare memoria, ridurre i tempi di avvio e aumentare la sicurezza negli ambienti, viene lanciato un kernel Linux ridotto all'osso (sono supportati i kernel 4.14 e 5.10), dal quale è escluso tutto ciò che non è necessario, comprese funzionalità ridotte e supporto dei dispositivi rimosso.

Quando si esegue con un kernel ridotto, il consumo di memoria aggiuntiva rispetto a un contenitore è inferiore a 5 MB. Si stima che il ritardo dal momento in cui viene avviata la microVM all'inizio dell'esecuzione dell'applicazione varia da 6 a 60 ms (in media 12 ms), il che consente la creazione di nuove macchine virtuali con un'intensità fino a 180 ambienti al secondo su un host con 36 core della CPU.

Per gestire gli ambienti virtuali nello spazio utente, viene eseguito il processo in background Virtual Machine Manager, fornendo un'API RESTful che implementa funzioni come la configurazione, l'avvio e l'arresto di microVM, la selezione dei modelli CPU (C3 o T2), la determinazione del numero di processori virtuali (vCPU) e dimensione della memoria, aggiungendo interfacce di rete e partizioni del disco, impostando limiti sulla velocità effettiva e sull'intensità delle operazioni, fornendo memoria aggiuntiva e potenza della CPU in caso di risorse insufficienti.

Oltre ad essere utilizzato come strato di isolamento più profondo per i container, Firecracker è adatto anche per alimentare sistemi FaaS (Function as a Service), che offrono un modello di elaborazione serverless in cui lo sviluppo viene effettuato nella fase di preparazione di un insieme di piccoli singoli funzioni, ognuna delle quali gestisce un evento specifico e progettata per operazioni isolate senza riferimento all'ambiente (senza stato, il risultato non dipende dallo stato precedente e dal contenuto del file system). Le funzioni vengono avviate solo quando se ne presenta la necessità e subito dopo l'elaborazione dell'evento completano il loro lavoro. La stessa piattaforma FaaS ospita funzioni predisposte, organizza la gestione e garantisce il dimensionamento degli ambienti necessari per eseguire le funzioni predisposte.

Da segnalare inoltre la pubblicazione da parte di Intel dell'hypervisor Cloud Hypervisor 21.0, costruito sulla base di componenti del progetto congiunto Rust-VMM, al quale partecipano, oltre a Intel, anche Alibaba, Amazon, Google e Red Hat. Rust-VMM è scritto nel linguaggio Rust e consente di creare hypervisor specifici per attività. Cloud Hypervisor è uno di questi hypervisor che fornisce un monitor di macchina virtuale (VMM) di alto livello in esecuzione su KVM e ottimizzato per attività native del cloud. Il codice del progetto è disponibile con la licenza Apache 2.0.

Cloud Hypervisor si concentra sull'esecuzione di moderne distribuzioni Linux utilizzando dispositivi paravirtualizzati basati su virtio. Tra gli obiettivi chiave citati ci sono: alta reattività, basso consumo di memoria, alte prestazioni, configurazione semplificata e riduzione dei possibili vettori di attacco. Il supporto dell'emulazione è ridotto al minimo e l'attenzione è rivolta alla paravirtualizzazione. Sono supportate le architetture x86_64 e AArch64. Per i sistemi guest, attualmente sono supportate solo le build Linux a 64 bit. La CPU, la memoria, il PCI e gli NVDIMM vengono configurati in fase di assemblaggio. È possibile migrare macchine virtuali tra server.

La nuova versione di Cloud Hypervisor include la possibilità di eseguire un'efficiente migrazione live locale, che può essere utilizzata per aggiornare gli ambienti al volo (Live Upgrade). La nuova modalità si distingue per la disabilitazione del confronto della memoria tra gli ambienti di origine e di destinazione, riducendo il tempo di un'operazione di aggiornamento al volo da 3 secondi a 50 ms. Il kernel Linux consigliato è il 5.15 (il 5.14 ha problemi con virtio-net).

Fonte: opennet.ru

Aggiungi un commento