Az Amazon közzétette a Firecracker 1.0 virtualizációs rendszert

Az Amazon közzétette Virtual Machine Monitor (VMM) jelentős kiadását, a Firecracker 1.0.0-t, amelyet virtuális gépek minimális többletköltséggel történő futtatására terveztek. A Firecracker a CrosVM projekt egyik része, amelyet a Google Linux és Android alkalmazások futtatására használ ChromeOS rendszeren. A Firecracker-t az Amazon Web Services fejleszti, hogy javítsa az AWS Lambda és AWS Fargate platformok teljesítményét és hatékonyságát. A Firecracker kód Rust nyelven íródott, és az Apache 2.0 licenc alatt van.

A Firecracker könnyű virtuális gépeket kínál, úgynevezett microVM-eket. A teljes microVM elkülönítéshez a KVM hypervisoron alapuló hardveres virtualizációs technológiákat alkalmazzák, ugyanakkor a teljesítmény és a rugalmasság a hagyományos konténerek szintjén biztosított. A rendszer x86_64 és ARM64 architektúrákhoz érhető el, és az Intel Skylake, Intel Cascade Lake, AMD Zen2 és ARM64 Neoverse N1 család CPU-in tesztelték. Eszközök állnak rendelkezésre a Firecracker futásidejű tárolórendszerekbe, például a Kata Containersbe, a Weaveworks Ignite-be és a konténerbe (a futásidejű firecracker-containerd által biztosított) integrálásához.

Az Amazon közzétette a Firecracker 1.0 virtualizációs rendszert

A virtuális gépeken belül futó szoftverkörnyezet lecsupaszított, és csak minimális összetevőket tartalmaz. A memóriatakarékosság, az indítási idő csökkentése és a környezetek biztonságának növelése érdekében egy lecsupaszított Linux kernel indul (a 4.14-es és 5.10-es kernel támogatott), amelyből minden felesleges ki van zárva, beleértve a csökkentett funkcionalitást és az eszköztámogatás megszüntetését.

Ha lecsupaszított kernellel fut, a többletmemória-fogyasztás egy tárolóhoz képest kevesebb, mint 5 MB. A microVM indításától az alkalmazás végrehajtásának kezdetéig tartó késleltetés 6 és 60 ms között van (átlagosan 12 ms), ami lehetővé teszi új virtuális gépek létrehozását másodpercenként akár 180 környezet intenzitással egy gazdagépen. 36 CPU maggal.

A virtuális környezetek felhasználói térben történő kezeléséhez a Virtual Machine Manager háttérfolyamat fut, amely egy RESTful API-t biztosít, amely olyan funkciókat valósít meg, mint a microVM konfigurálása, indítása és leállítása, CPU-sablonok kiválasztása (C3 vagy T2), virtuális processzorok számának meghatározása (vCPU). és memóriaméret, hálózati interfészek és lemezpartíciók hozzáadása, korlátok beállítása az átviteli sebességre és a műveletek intenzitására, további memória és CPU-teljesítmény biztosítása elégtelen erőforrások esetén.

Amellett, hogy a konténerek mélyebb szigetelőrétegeként használják, a Firecracker alkalmas FaaS (Function as a Service) rendszerek táplálására is, amelyek szerver nélküli számítási modellt kínálnak, amelyben a fejlesztés a kis egyedek halmazának előkészítésének szakaszában történik. függvények, amelyek mindegyike egy adott eseményt kezel, és izolált működésre tervezték a környezetre való hivatkozás nélkül (állapotmentes, az eredmény nem függ a fájlrendszer korábbi állapotától és tartalmától). A funkciók csak szükség esetén indulnak el, és az esemény feldolgozása után azonnal befejezik munkájukat. Maga a FaaS platform előkészített funkciókat tartalmaz, megszervezi a felügyeletet és biztosítja az előkészített funkciók végrehajtásához szükséges környezetek méretezését.

Emellett említésre méltó a közös Rust-VMM projekt összetevőire épülő Cloud Hypervisor 21.0 hypervisor Intel publikációja, amelyben az Intel mellett az Alibaba, az Amazon, a Google és a Red Hat is részt vesz. A Rust-VMM Rust nyelven íródott, és lehetővé teszi feladatspecifikus hipervizorok létrehozását. A Cloud Hypervisor egy ilyen hipervizor, amely magas szintű virtuális gép-figyelőt (VMM) biztosít, amely a KVM tetején fut, és a felhőalapú feladatokra optimalizálva van. A projekt kódja az Apache 2.0 licenc alatt érhető el.

A Cloud Hypervisor a modern Linux disztribúciók virtio-alapú paravirtualizált eszközökkel történő futtatására összpontosít. Az említett kulcsfontosságú célok között szerepel: nagy válaszkészség, alacsony memóriafogyasztás, nagy teljesítmény, egyszerűsített konfiguráció és a lehetséges támadási vektorok csökkentése. Az emuláció támogatása minimálisra csökken, és a hangsúly a paravirtualizáción van. x86_64 és AArch64 architektúrák támogatottak. Vendégrendszereknél jelenleg csak a 64 bites Linux buildek támogatottak. A CPU, a memória, a PCI és az NVDIMM konfigurálása az összeszerelési szakaszban történik. Lehetőség van a virtuális gépek kiszolgálók közötti migrációjára.

A Cloud Hypervisor új verziója magában foglalja a hatékony helyi élő migráció végrehajtásának lehetőségét, amivel menet közben is frissíthető a környezet (Live Upgrade). Az új módot az jellemzi, hogy letiltja a forrás- és célkörnyezet memória-összehasonlítását, ami 3 másodpercről 50 ms-ra csökkenti a menet közbeni frissítési művelet idejét. Az ajánlott Linux kernel az 5.15 (az 5.14-ben problémák vannak a virtio-nettel).

Forrás: opennet.ru

Hozzászólás