„Amazon“ išleido reikšmingą „Firecracker 1.0.0“ versiją – virtualių mašinų monitorių (VMM), skirtą virtualioms mašinoms paleisti su minimaliomis sąnaudomis. „Firecracker“ yra „CrosVM“ projekto, kurį „Google“ naudoja programoms paleisti, atšaka. Linux и Android „Firecracker“ sukūrė „Amazon Web Services“, siekdama pagerinti AWS Lambda ir AWS Fargate platformų našumą ir efektyvumą. „Firecracker“ parašyta „Rust“ kalba ir licencijuota pagal „Apache 2.0“ licenciją.
„Firecracker“ siūlo lengvas virtualias mašinas, vadinamas „microVM“. Visiškai „microVM“ izoliacijai naudojamos aparatinės įrangos virtualizacijos technologijos, pagrįstos KVM hipervizoriumi, tačiau tuo pat metu užtikrinamas našumas ir lankstumas įprastų konteinerių lygyje. Sistema galima x86_64 ir ARM64 architektūroms ir buvo išbandyta su Intel Skylake, Intel Cascade Lake, AMD Zen2 ir ARM64 Neoverse N1 šeimos procesoriais. Pateikiami įrankiai, skirti integruoti „Firecracker“ į vykdymo laiko konteinerių saugojimo sistemas, tokias kaip „Kata Containers“, „Weaveworks Ignite“ ir į konteinerius (pateikiamas vykdymo metu „Frecracker-containerd“).

Atliekama viduje virtualios mašinos Programinės įrangos aplinka yra supaprastinta ir joje yra tik minimalus komponentų rinkinys. Siekiant taupyti atmintį, sutrumpinti paleidimo laiką ir pagerinti saugumą, aplinkose veikia supaprastintas branduolys. Linux (palaikomi 4.14 ir 5.10 branduoliai), iš kurių pašalinti visi nereikalingi dalykai, įskaitant sumažintą funkcionalumą ir įrenginių palaikymo pašalinimą.
Kai veikia su išjungtu branduoliu, papildomos atminties suvartojimas, palyginti su konteineriu, yra mažesnis nei 5 MB. Nurodyta, kad delsa nuo „microVM“ paleidimo momento iki programos vykdymo pradžios svyruoja nuo 6 iki 60 ms (vidutiniškai 12 ms), o tai leidžia pagrindiniame kompiuteryje sukurti naujas virtualias mašinas, kurių intensyvumas yra iki 180 aplinkų per sekundę. su 36 procesoriaus branduoliais.
Norint valdyti virtualias aplinkas vartotojo erdvėje, veikia foninis procesas Virtual Machine Manager, suteikdamas RESTful API, kuri įgyvendina tokias funkcijas kaip mikroVM konfigūravimas, paleidimas ir sustabdymas, procesoriaus šablonų (C3 arba T2) pasirinkimas, virtualių procesorių (vCPU) skaičiaus nustatymas. ir atminties dydį, pridedant tinklo sąsajas ir disko skaidinius, nustatant pralaidumo ir operacijų intensyvumo ribas, suteikiant papildomos atminties ir procesoriaus galios esant nepakankamiems resursams.
„Firecracker“ yra ne tik naudojamas kaip gilesnis konteinerių izoliacijos sluoksnis, bet ir tinkamas maitinti FaaS (funkcija kaip paslauga) sistemoms, kurios siūlo be serverio skaičiavimo modelį, kuriame plėtra atliekama mažų asmenų rinkinio paruošimo etape. funkcijos, kurių kiekviena apdoroja konkretų įvykį ir yra skirta izoliuotam veikimui, neatsižvelgiant į aplinką (be būsenos, rezultatas nepriklauso nuo ankstesnės failų sistemos būsenos ir turinio). Funkcijos paleidžiamos tik esant poreikiui ir iškart po įvykio apdorojimo baigia savo darbą. Pati FaaS platforma talpina paruoštas funkcijas, organizuoja valdymą ir užtikrina paruoštų funkcijų vykdymui reikalingų aplinkų mastelį.
Be to, galime atkreipti dėmesį į Intel paskelbtą Cloud Hypervisor 21.0 hipervizorių, sukurtą remiantis bendro Rust-VMM projekto komponentais, kuriame, be Intel, taip pat dalyvauja Alibaba, Amazon, Google ir Red Hat. Rust-VMM parašytas Rust kalba ir leidžia kurti konkrečioms užduotims būdingus hipervizorius. „Cloud Hypervisor“ yra vienas iš tokių hipervizorių, teikiantis aukšto lygio virtualiosios mašinos monitorių (VMM), veikiantį KVM viršuje ir optimizuotą debesies užduotims atlikti. Projekto kodas yra prieinamas pagal Apache 2.0 licenciją.
Debesų hipervizorius yra orientuotas į šiuolaikinių platinimų vykdymą Linux Naudojami paravirtualizuoti įrenginiai, pagrįsti „Virtio“. Pagrindiniai tikslai: didelis reagavimo greitis, mažas atminties sunaudojimas, didelis našumas, supaprastinta konfigūracija ir sumažintas atakų vektorių skaičius. Emuliacijos palaikymas sumažintas iki minimumo, daugiausia dėmesio skiriant paravirtualizacijai. Palaikomos architektūros yra x86_64 ir AArch64. Šiuo metu svečių serveriams palaikomos tik 64 bitų versijos. LinuxKomponavimo proceso metu atliekamos CPU, atminties, PCI ir NVDIMM konfigūracijos. Virtualių mašinų perkėlimas tarp serveriai.
Naujoje „Cloud Hypervisor“ versijoje pristatomas efektyvus vietinis tiesioginis perkėlimas, kurį galima naudoti aplinkoms atnaujinti operatyviai („Live Upgrade“). Naujasis režimas išjungia atminties palyginimą tarp šaltinio ir paskirties aplinkų, sutrumpindamas atnaujinimo operatyviai laiką nuo 3 sekundžių iki 50 ms. Rekomenduojamas branduolys yra Linux 5.15 (5.14 versija turi problemų su „virtio-net“).
Šaltinis: opennet.ru
