Amazon har publicerat Firecracker 1.0 virtualiseringssystem

Amazon har publicerat en betydande release av sin Virtual Machine Monitor (VMM), Firecracker 1.0.0, designad för att köra virtuella maskiner med minimal overhead. Firecracker är en gaffel av CrosVM-projektet, som används av Google för att köra Linux- och Android-applikationer på ChromeOS. Firecracker utvecklas av Amazon Web Services för att förbättra prestanda och effektivitet hos AWS Lambda och AWS Fargate-plattformarna. Firecracker-koden är skriven i Rust och är licensierad under Apache 2.0-licensen.

Firecracker erbjuder lätta virtuella maskiner som kallas microVMs. För fullständig microVM-isolering används hårdvaruvirtualiseringsteknologier baserade på KVM-hypervisorn, men samtidigt tillhandahålls prestanda och flexibilitet på nivån för konventionella behållare. Systemet är tillgängligt för x86_64- och ARM64-arkitekturerna och har testats på processorer från Intel Skylake, Intel Cascade Lake, AMD Zen2 och ARM64 Neoverse N1-familjen. Verktyg tillhandahålls för att integrera Firecracker i runtime containerinneslutningssystem som Kata Containers, Weaveworks Ignite och containerd (tillhandahålls av runtime firecracker-containerd).

Amazon har publicerat Firecracker 1.0 virtualiseringssystem

Programvarumiljön som körs inuti virtuella maskiner är avskalad och innehåller endast en minimal uppsättning komponenter. För att spara minne, minska starttiden och öka säkerheten i miljöer lanseras en avskalad Linux-kärna (kärnorna 4.14 och 5.10 stöds), från vilken allt onödigt utesluts, inklusive minskad funktionalitet och borttaget enhetsstöd.

När du kör med en avskalad kärna är den extra minnesförbrukningen jämfört med en behållare mindre än 5 MB. Fördröjningen från det ögonblick microVM lanseras till start av applikationsexekvering anges vara från 6 till 60 ms (i genomsnitt 12 ms), vilket möjliggör skapandet av nya virtuella maskiner med en intensitet på upp till 180 miljöer per sekund på en värd med 36 CPU-kärnor.

För att hantera virtuella miljöer i användarutrymmet körs en bakgrundsprocess som kallas Virtual Machine Manager, som tillhandahåller ett RESTful API som implementerar funktioner som att konfigurera, starta och stoppa microVM, välja CPU-mallar (C3 eller T2), bestämma antalet virtuella processorer (vCPU:er) ) och minnesstorlek, lägga till nätverksgränssnitt och diskpartitioner, sätta gränser för bandbredd och intensitet för operationer, ge extra minne och CPU-kraft i händelse av resursbrist.

Förutom att användas som ett djupare isoleringslager för containrar, är Firecracker också lämpligt för att driva FaaS-system (Function as a Service), som erbjuder en serverlös datormodell där utvecklingen utförs i det skede av att förbereda en uppsättning små individer funktioner, som var och en hanterar en specifik händelse och är designade för isolerad drift utan referens till miljön (tillståndslöst, resultatet beror inte på det tidigare tillståndet och innehållet i filsystemet). Funktioner startas först när behov uppstår och omedelbart efter bearbetning av händelsen slutför de sitt arbete. Själva FaaS-plattformen är värd för förberedda funktioner, organiserar förvaltningen och säkerställer skalning av de miljöer som krävs för att utföra förberedda funktioner.

Dessutom kan vi notera publiceringen av Intel av Cloud Hypervisor 21.0-hypervisorn, byggd på basis av komponenter i det gemensamma Rust-VMM-projektet, där förutom Intel, Alibaba, Amazon, Google och Red Hat också deltar. Rust-VMM är skrivet på språket Rust och låter dig skapa uppgiftsspecifika hypervisorer. Cloud Hypervisor är en sådan hypervisor som tillhandahåller en virtuell maskinövervakare på hög nivå (VMM) som körs ovanpå KVM och är optimerad för molnbaserade uppgifter. Projektkoden är tillgänglig under Apache 2.0-licensen.

Cloud Hypervisor är fokuserat på att köra moderna Linux-distributioner med virtiobaserade paravirtualiserade enheter. Bland de viktigaste målen som nämns är: hög respons, låg minnesförbrukning, hög prestanda, förenklad konfiguration och minskning av möjliga attackvektorer. Emuleringsstödet hålls till ett minimum och fokus ligger på paravirtualisering. x86_64- och AArch64-arkitekturerna stöds. För gästsystem stöds för närvarande endast 64-bitars versioner av Linux. CPU, minne, PCI och NVDIMM konfigureras vid monteringsstadiet. Det är möjligt att migrera virtuella maskiner mellan servrar.

Den nya versionen av Cloud Hypervisor inkluderar möjligheten att utföra effektiv lokal livemigrering, som kan användas för att uppdatera miljöer i farten (Live Upgrade). Det nya läget kännetecknas av att inaktivera minnesjämförelse av käll- och målmiljöer, vilket minskar tiden för en on-the-fly-uppdateringsoperation från 3 sekunder till 50 ms. Den rekommenderade Linuxkärnan är 5.15 (5.14 har problem med virtio-net).

Källa: opennet.ru

Lägg en kommentar