Amazon lanserer Firecracker 1.0 virtualiseringssystem

Amazon har publisert en betydelig utgivelse av Virtual Machine Monitor (VMM), Firecracker 1.0.0, designet for å kjøre virtuelle maskiner med minimal overhead. Firecracker er en gaffel fra CrosVM-prosjektet, brukt av Google til å kjøre Linux- og Android-applikasjoner på ChromeOS. Firecracker utvikles av Amazon Web Services for å forbedre ytelsen og effektiviteten til AWS Lambda- og AWS Fargate-plattformene. Firecracker-koden er skrevet i Rust og er lisensiert under Apache 2.0-lisensen.

Firecracker tilbyr lette virtuelle maskiner kalt microVMs. For fullstendig microVM-isolasjon brukes maskinvarevirtualiseringsteknologier basert på KVM-hypervisoren, men samtidig gis ytelsen og fleksibiliteten på nivå med konvensjonelle beholdere. Systemet er tilgjengelig for x86_64- og ARM64-arkitekturer, og har blitt testet på CPUer fra Intel Skylake, Intel Cascade Lake, AMD Zen2 og ARM64 Neoverse N1-familien. Verktøy er gitt for å integrere Firecracker i runtime container containment-systemer som Kata Containers, Weaveworks Ignite og containerd (levert av runtime firecracker-containerd).

Amazon lanserer Firecracker 1.0 virtualiseringssystem

Programvaremiljøet som kjører inne i virtuelle maskiner er strippet ned og inneholder bare et minimalt sett med komponenter. For å spare minne, redusere oppstartstid og øke sikkerheten i miljøer, lanseres en nedstrippet Linux-kjerne (kjernene 4.14 og 5.10 støttes), som alt unødvendig er ekskludert fra, inkludert redusert funksjonalitet og fjernet enhetsstøtte.

Når du kjører med en nedstrippet kjerne, er det ekstra minneforbruket i forhold til en beholder mindre enn 5 MB. Forsinkelsen fra øyeblikket microVM er lansert til starten av applikasjonskjøring er oppgitt til å variere fra 6 til 60 ms (gjennomsnittlig 12 ms), noe som gjør det mulig å lage nye virtuelle maskiner med en intensitet på opptil 180 miljøer per sekund på en vert med 36 CPU-kjerner.

For å administrere virtuelle miljøer i brukerrommet kjører bakgrunnsprosessen Virtual Machine Manager, og gir en RESTful API som implementerer funksjoner som å konfigurere, starte og stoppe microVM, velge CPU-maler (C3 eller T2), bestemme antall virtuelle prosessorer (vCPU) og minnestørrelse, legger til nettverksgrensesnitt og diskpartisjoner, setter grenser for gjennomstrømning og intensitet av operasjoner, gir ekstra minne og CPU-kraft i tilfelle utilstrekkelige ressurser.

I tillegg til å bli brukt som et dypere isolasjonslag for containere, er Firecracker også egnet for å drive FaaS (Function as a Service) systemer, som tilbyr en serverløs databehandlingsmodell der utviklingen utføres på stadiet av å forberede et sett med små individer funksjoner, som hver håndterer en spesifikk hendelse og designet for isolert drift uten referanse til miljøet (statløst, resultatet avhenger ikke av den forrige tilstanden og innholdet i filsystemet). Funksjoner lanseres bare når behovet oppstår og umiddelbart etter behandling av hendelsen fullfører de arbeidet. Selve FaaS-plattformen er vert for forberedte funksjoner, organiserer administrasjon og sikrer skalering av miljøene som kreves for å utføre forberedte funksjoner.

I tillegg kan vi merke oss publiseringen av Intel av Cloud Hypervisor 21.0-hypervisoren, bygget på grunnlag av komponenter i det felles Rust-VMM-prosjektet, der Alibaba, Amazon, Google og Red Hat også deltar i tillegg til Intel. Rust-VMM er skrevet på Rust-språket og lar deg lage oppgavespesifikke hypervisorer. Cloud Hypervisor er en slik hypervisor som gir en høynivå virtuell maskinmonitor (VMM) som kjører på toppen av KVM og er optimalisert for skybaserte oppgaver. Prosjektkoden er tilgjengelig under Apache 2.0-lisensen.

Cloud Hypervisor er fokusert på å kjøre moderne Linux-distribusjoner ved bruk av virtiobaserte paravirtualiserte enheter. Blant de nevnte hovedmålene er: høy respons, lavt minneforbruk, høy ytelse, forenklet konfigurasjon og reduksjon av mulige angrepsvektorer. Støtte for emulering holdes på et minimum og fokus er på paravirtualisering. x86_64- og AArch64-arkitekturer støttes. For gjestesystemer støttes for øyeblikket kun 64-bits versjoner av Linux. CPU, minne, PCI og NVDIMM konfigureres på monteringsstadiet. Det er mulig å migrere virtuelle maskiner mellom servere.

Den nye versjonen av Cloud Hypervisor inkluderer muligheten til å utføre effektiv lokal live-migrering, som kan brukes til å oppdatere miljøer på farten (Live Upgrade). Den nye modusen utmerker seg ved å deaktivere minnesammenligning av kilde- og målmiljøene, noe som reduserer tiden for en on-the-fly oppdateringsoperasjon fra 3 sekunder til 50 ms. Den anbefalte Linux-kjernen er 5.15 (5.14 har problemer med virtio-net).

Kilde: opennet.ru

Legg til en kommentar