Amazon on avaldanud Firecracker 1.0 virtualiseerimissüsteemi

Amazon on avaldanud oma virtuaalmasinamonitori (VMM) olulise väljalase Firecracker 1.0.0, mis on loodud virtuaalmasinate käitamiseks minimaalse üldkuluga. Firecracker on projekti CrosVM kahvel, mida Google kasutab Linuxi ja Androidi rakenduste käitamiseks ChromeOS-is. Firecrackerit arendab Amazon Web Services, et parandada AWS Lambda ja AWS Fargate platvormide jõudlust ja tõhusust. Firecrackeri kood on kirjutatud Rust keeles ja see on litsentsitud Apache 2.0 litsentsi alusel.

Firecracker pakub kergeid virtuaalmasinaid, mida nimetatakse microVM-ideks. Täielikuks microVM-i isoleerimiseks kasutatakse KVM-i hüperviisoril põhinevaid riistvara virtualiseerimistehnoloogiaid, kuid samal ajal tagatakse jõudlus ja paindlikkus tavaliste konteinerite tasemel. Süsteem on saadaval x86_64 ja ARM64 arhitektuuridele ning seda on testitud Intel Skylake'i, Intel Cascade Lake'i, AMD Zen2 ja ARM64 Neoverse N1 perekonna protsessoritega. Pakutakse tööriistu Firecrackeri integreerimiseks käitusaegsetesse konteineritesse, nagu Kata Containers, Weaveworks Ignite ja konteinerisse (pakkub käitusaegne firecracker-containerd).

Amazon on avaldanud Firecracker 1.0 virtualiseerimissüsteemi

Virtuaalsete masinate sees töötav tarkvarakeskkond on tühjendatud ja sisaldab ainult minimaalset komponentide komplekti. Mälu säästmiseks, käivitusaja vähendamiseks ja turvalisuse suurendamiseks keskkondades käivitatakse mahavõetud Linuxi kernel (toetatud on tuumad 4.14 ja 5.10), millest on välja jäetud kõik ebavajalik, sh vähenenud funktsionaalsus ja eemaldatud seadme tugi.

Tühistatud tuumaga töötamisel on lisamälukulu võrreldes konteineriga alla 5 MB. Viivitus alates microVM-i käivitamisest kuni rakenduse käivitamise alguseni on väidetavalt vahemikus 6–60 ms (keskmiselt 12 ms), mis võimaldab hostis luua uusi virtuaalmasinaid intensiivsusega kuni 180 keskkonda sekundis. 36 CPU tuumaga.

Virtuaalsete keskkondade haldamiseks kasutajaruumis töötab taustprotsess Virtual Machine Manager, pakkudes RESTful API-d, mis rakendab selliseid funktsioone nagu microVM-i konfigureerimine, käivitamine ja peatamine, protsessori mallide valimine (C3 või T2), virtuaalsete protsessorite arvu (vCPU) määramine. ja mälumaht, võrguliideste ja kettapartitsioonide lisamine, piirangute seadmine läbilaskevõimele ja toimingute intensiivsusele, lisamälu ja protsessori võimsuse pakkumine ebapiisavate ressursside korral.

Lisaks konteinerite sügavama isolatsioonikihina kasutamisele sobib Firecracker ka FaaS-i (Function as a Service) süsteemide toiteks, mis pakuvad serverita arvutusmudelit, milles arendus viiakse läbi väikese üksikisiku komplekti ettevalmistamise etapis. funktsioonid, millest igaüks käsitleb konkreetset sündmust ja on mõeldud isoleeritud tööks ilma keskkonnale viitamata (olekuta, tulemus ei sõltu failisüsteemi eelmisest olekust ja sisust). Funktsioonid käivitatakse ainult vajaduse korral ja kohe pärast sündmuse töötlemist lõpetavad nad oma töö. FaaS platvorm ise majutab ettevalmistatud funktsioone, korraldab haldust ja tagab ettevalmistatud funktsioonide täitmiseks vajalike keskkondade skaleerimise.

Lisaks võib märkida Inteli väljaannet Cloud Hypervisor 21.0 hüpervisorist, mis on ehitatud Rust-VMM ühisprojekti komponentide baasil, milles osalevad lisaks Intelile ka Alibaba, Amazon, Google ja Red Hat. Rust-VMM on kirjutatud Rust keeles ja võimaldab teil luua ülesandepõhiseid hüperviisoreid. Cloud Hypervisor on üks selline hüperviisor, mis pakub kõrgetasemelist virtuaalmasina monitori (VMM), mis töötab KVM-i peal ja on optimeeritud pilvepõhiste toimingute jaoks. Projekti kood on saadaval Apache 2.0 litsentsi all.

Cloud Hypervisor on keskendunud kaasaegsete Linuxi distributsioonide käitamisele, kasutades virtio-põhiseid paravirtualiseeritud seadmeid. Mainitud põhieesmärkide hulgas on: kõrge reageerimisvõime, väike mälutarbimine, kõrge jõudlus, lihtsustatud konfiguratsioon ja võimalike ründevektorite vähendamine. Emulatsiooni tugi on viidud miinimumini ja keskendutakse paravirtualiseerimisele. Toetatud on x86_64 ja AArch64 arhitektuurid. Külalissüsteemide puhul toetatakse praegu ainult 64-bitiseid Linuxi järge. Protsessor, mälu, PCI ja NVDIMM konfigureeritakse kokkupaneku etapis. Virtuaalseid masinaid on võimalik serverite vahel migreerida.

Cloud Hypervisori uus versioon sisaldab võimalust teostada tõhusat kohalikku reaalajas migratsiooni, mida saab kasutada keskkondade käigupealt värskendamiseks (Live Upgrade). Uus režiim eristub lähte- ja sihtkeskkonna mälu võrdlemise keelamisega, mis vähendab lennu ajal värskendamise aega 3 sekundilt 50 ms-ni. Soovitatav Linuxi kernel on 5.15 (5.14-l on virtio-netiga probleeme).

Allikas: opennet.ru

Lisa kommentaar