Amazon oznámil vydání Firecracker 1.0, který je monitor virtuálního stroje (VMM, Virtual Machine Monitor), navržený pro provoz virtuálních strojů s minimální režií. Petarda je fork projektu CrosVM používá Google ke spouštění aplikací pro Linux a Android v systému ChromeOS.
Amazon Web Services vyvíjí Firecracker s cílem zlepšit výkon a efektivitu platforem AWS Lambda a AWS Fargate.
O Firecracker
Pro ty, kteří neznají Firecracker, měli byste vědět, že toto nabízí odlehčené virtuální stroje zvané microVMs. Kompletní izolace microVM využívá technologie hardwarové virtualizace založené na hypervizoru KVMpři zachování výkonu a flexibility konvenčních kontejnerů.
Systém je k dispozici pro architektury x86_64 a ARM64 a byl testován na Intel Skylake, Intel Cascade Lake, AMD Zen2 a ARM64 Neoverse N1 CPU rodiny, plus jsou poskytovány nástroje pro integraci Firecracker do běhu systémů pro izolaci kontejnerů, jako jsou Kata Containers, Weaveworks Ignite a kontejnery (poskytované firecracker- kontejnerový běh).
Softwarové prostředí, které běží uvnitř virtuálních strojů, bylo zkráceno a obsahuje pouze minimální sadu komponent. Chcete-li ušetřit paměť, zkrátit dobu spouštění a zlepšit zabezpečení v prostředích, je uvolněno zjednodušené jádro Linuxu (ve kterých jsou podporována jádra 4.14 a 5.10), ze kterého je vyloučeno vše nepotřebné, včetně snížené funkčnosti a podpory smazaných zařízení.
Při běhu s zkráceným jádrem je dodatečná spotřeba paměti ve srovnání s kontejnerem menší než 5 MB. Latence od spuštění microVM do začátku spouštění aplikace je nastavena na 6 až 60 ms (průměrně 12 ms), což umožňuje spouštění nových virtuálních strojů rychlostí až 180 prostředí za sekundu na hostiteli s 36 jádry.
Pro správu virtuálních prostředí uživatelského prostoru, spouští na pozadí proces Virtual Machine Manager, který poskytuje RESTful API který implementuje funkce, jako je konfigurace, spuštění a zastavení microVM, výběr šablon CPU (C3 nebo T2), určení počtu virtuálních procesorů (vCPU) a velikosti paměti, přidání síťových rozhraní a diskových oddílů, nastavení limitů šířky pásma a intenzity operace, poskytující další paměť a výkon CPU v případě nedostatku zdrojů.
Firecracker je používán/integrován s: appfleet, zabalený přes firecracker-containerd, Fly.io, Kata Containers, Koyeb, Northflank, OpenNebula, Qovery, UniK a Weave FireKube.
Kromě toho, že se používá jako hlubší vrstva izolace pro kontejnery, Firecracker je také vhodný pro poskytování systémů FaaS (Function as a Service), které nabízejí bezserverový výpočetní model, ve kterém probíhá vývoj na úrovni přípravy sady malých jednotlivých funkcí, z nichž každá zajišťuje zpracování určité události a je navržena pro samostatný provoz bez odkaz na prostředí (bezstavové, výsledek nezávisí na předchozím stavu a obsahu souborového systému).
Funkce běží pouze v případě potřeby a ihned po zpracování události dokončují svou práci. Samotná platforma FaaS hostí zřízené funkce, organizuje správu a poskytuje škálovatelnost prostředí potřebných ke spuštění zřízených funkcí.
Jak zkompilovat firecracker na Linuxu?
Do Lti, kteří mají zájem si petardu vyzkoušet na svém systému si jej mohou zkompilovat sami.
Pro tento stačí otevřít terminál a První věc, kterou musí udělat, je získat zdrojový kód, aby mohli zkompilovat, toto lze provést zadáním:
git clone https://github.com/firecracker-microvm/firecracker
Jakmile to uděláme, můžeme vstoupit do složky petarda s:
cd petarda
A pokračujeme v kompilaci s:
tools/devtool build toolchain="$(uname -m)-unknown-linux-musl"
Konečně pokud máte zájem o tom vědět více Podrobnosti o Firecrackeru si můžete ověřit na následující odkaz.