Amazon zverejnil virtualizačný systém Firecracker 1.0

Spoločnosť Amazon zverejnila významnú verziu svojho monitora virtuálnych strojov (VMM), Firecracker 1.0.0, ktorý je určený na spustenie virtuálnych strojov s minimálnou réžiou. Firecracker je fork projektu CrosVM, ktorý Google používa na spúšťanie aplikácií pre Linux a Android v systéme ChromeOS. Firecracker vyvíja Amazon Web Services s cieľom zlepšiť výkon a efektivitu platforiem AWS Lambda a AWS Fargate. Kód Firecracker je napísaný v jazyku Rust a je licencovaný pod licenciou Apache 2.0.

Firecracker ponúka ľahké virtuálne stroje nazývané microVM. Pre kompletnú izoláciu microVM sú použité hardvérové ​​virtualizačné technológie založené na KVM hypervízore, no zároveň je poskytovaný výkon a flexibilita na úrovni bežných kontajnerov. Systém je dostupný pre architektúry x86_64 a ARM64 a bol testovaný na CPU z rodiny Intel Skylake, Intel Cascade Lake, AMD Zen2 a ARM64 Neoverse N1. K dispozícii sú nástroje na integráciu Firecracker do runtime kontajnerových systémov, ako sú Kata Containers, Weaveworks Ignite a kontajnery (poskytované runtime firecracker-containerd).

Amazon zverejnil virtualizačný systém Firecracker 1.0

Softvérové ​​prostredie bežiace vo virtuálnych strojoch je zredukované a obsahuje len minimálnu sadu komponentov. Pre úsporu pamäte, skrátenie času spustenia a zvýšenie bezpečnosti v prostrediach sa spúšťa orezané jadro Linuxu (podporované sú jadrá 4.14 a 5.10), z ktorého je vylúčené všetko nepotrebné, vrátane zníženej funkčnosti a odstránenej podpory zariadení.

Pri spustení s okliešteným jadrom je dodatočná spotreba pamäte v porovnaní s kontajnerom menšia ako 5 MB. Oneskorenie od spustenia microVM po začiatok vykonávania aplikácie sa uvádza v rozmedzí 6 až 60 ms (priemer 12 ms), čo umožňuje vytváranie nových virtuálnych strojov s intenzitou až 180 prostredí za sekundu na hostiteľovi. s 36 CPU jadrami.

Na správu virtuálnych prostredí v používateľskom priestore sa spúšťa proces Virtual Machine Manager na pozadí, ktorý poskytuje RESTful API, ktoré implementuje funkcie, ako je konfigurácia, spustenie a zastavenie microVM, výber šablón CPU (C3 alebo T2), určenie počtu virtuálnych procesorov (vCPU) a veľkosť pamäte, pridávanie sieťových rozhraní a diskových partícií, nastavenie limitov priepustnosti a intenzity operácií, poskytovanie dodatočnej pamäte a výkonu CPU v prípade nedostatku zdrojov.

Okrem toho, že sa Firecracker používa ako hlbšia izolačná vrstva pre kontajnery, je vhodný aj na napájanie systémov FaaS (Function as a Service), ktoré ponúkajú bezserverový výpočtový model, v ktorom sa vývoj uskutočňuje vo fáze prípravy sady malých jednotlivcov. funkcie, z ktorých každá spracováva špecifickú udalosť a sú určené na izolovanú prevádzku bez odkazu na prostredie (bezstavové, výsledok nezávisí od predchádzajúceho stavu a obsahu súborového systému). Funkcie sa spúšťajú len v prípade potreby a ihneď po spracovaní udalosti dokončujú svoju prácu. Samotná platforma FaaS hostí pripravené funkcie, organizuje správu a zabezpečuje škálovanie prostredí potrebných na vykonávanie pripravených funkcií.

Okrem toho si môžeme všimnúť, že spoločnosť Intel zverejnila hypervízor Cloud Hypervisor 21.0, postavený na základe komponentov spoločného projektu Rust-VMM, na ktorom sa okrem Intelu podieľajú aj Alibaba, Amazon, Google a Red Hat. Rust-VMM je napísaný v jazyku Rust a umožňuje vám vytvárať hypervízory špecifické pre úlohy. Cloud Hypervisor je jedným z takýchto hypervízorov, ktorý poskytuje vysokoúrovňový monitor virtuálneho stroja (VMM), ktorý beží nad KVM a je optimalizovaný pre úlohy natívne v cloude. Kód projektu je dostupný pod licenciou Apache 2.0.

Cloud Hypervisor je zameraný na prevádzku moderných linuxových distribúcií pomocou paravirtualizovaných zariadení založených na virtio. Medzi spomenuté kľúčové ciele patrí: vysoká odozva, nízka spotreba pamäte, vysoký výkon, zjednodušená konfigurácia a redukcia možných vektorov útoku. Podpora emulácie je obmedzená na minimum a dôraz sa kladie na paravirtualizáciu. Podporované sú architektúry x86_64 a AArch64. Pre hosťujúce systémy sú v súčasnosti podporované iba 64-bitové zostavy Linuxu. CPU, pamäť, PCI a NVDIMM sú nakonfigurované vo fáze montáže. Je možné migrovať virtuálne stroje medzi servermi.

Nová verzia Cloud Hypervisor obsahuje schopnosť vykonávať efektívnu lokálnu živú migráciu, ktorú možno použiť na aktualizáciu prostredí za behu (Live Upgrade). Nový režim sa vyznačuje zakázaním porovnávania pamäte zdrojového a cieľového prostredia, čo skracuje čas operácie aktualizácie za chodu z 3 sekúnd na 50 ms. Odporúčané jadro Linuxu je 5.15 (5.14 má problémy s virtio-net).

Zdroj: opennet.ru

Pridať komentár