Amazon heeft Firecracker 1.0 virtualisatiesysteem gepubliceerd

Amazon heeft een belangrijke release gepubliceerd van zijn Virtual Machine Monitor (VMM), Firecracker 1.0.0, ontworpen om virtuele machines te laten draaien met minimale overhead. Firecracker is een afsplitsing van het CrosVM-project, dat door Google wordt gebruikt om Linux- en Android-applicaties op ChromeOS uit te voeren. Firecracker wordt ontwikkeld door Amazon Web Services om de prestaties en efficiëntie van de AWS Lambda- en AWS Fargate-platforms te verbeteren. De Firecracker-code is geschreven in Rust en valt onder de Apache 2.0-licentie.

Firecracker biedt lichtgewicht virtuele machines, microVM's genaamd. Voor volledige microVM-isolatie worden hardwarevirtualisatietechnologieën op basis van de KVM-hypervisor gebruikt, maar tegelijkertijd worden de prestaties en flexibiliteit geboden op het niveau van conventionele containers. Het systeem is beschikbaar voor x86_64- en ARM64-architecturen en is getest op CPU's uit de Intel Skylake-, Intel Cascade Lake-, AMD Zen2- en ARM64 Neoverse N1-familie. Er worden tools geleverd om Firecracker te integreren in runtime container-insluitingssystemen zoals Kata Containers, Weaveworks Ignite en containerd (geleverd door runtime firecracker-containerd).

Amazon heeft Firecracker 1.0 virtualisatiesysteem gepubliceerd

De softwareomgeving die in virtuele machines draait, is uitgekleed en bevat slechts een minimale set componenten. Om geheugen te besparen, de opstarttijd te verkorten en de veiligheid in omgevingen te vergroten, wordt een uitgeklede Linux-kernel gelanceerd (kernels 4.14 en 5.10 worden ondersteund), waarvan al het onnodige is uitgesloten, inclusief verminderde functionaliteit en verwijderde apparaatondersteuning.

Als je met een uitgeklede kernel draait, is het extra geheugenverbruik vergeleken met een container minder dan 5 MB. De vertraging vanaf het moment dat microVM wordt gelanceerd tot het begin van de uitvoering van de applicatie bedraagt ​​naar verluidt 6 tot 60 ms (gemiddeld 12 ms), wat de creatie van nieuwe virtuele machines met een intensiteit van maximaal 180 omgevingen per seconde op een host mogelijk maakt. met 36 CPU-kernen.

Om virtuele omgevingen in de gebruikersruimte te beheren, wordt het achtergrondproces Virtual Machine Manager uitgevoerd, dat een RESTful API biedt die functies implementeert zoals het configureren, starten en stoppen van microVM, het selecteren van CPU-sjablonen (C3 of T2), het bepalen van het aantal virtuele processors (vCPU) en geheugengrootte, het toevoegen van netwerkinterfaces en schijfpartities, het instellen van limieten op de doorvoer en intensiteit van bewerkingen, het bieden van extra geheugen en CPU-vermogen in geval van onvoldoende bronnen.

Naast dat het wordt gebruikt als een diepere isolatielaag voor containers, is Firecracker ook geschikt voor het aandrijven van FaaS-systemen (Function as a Service), die een serverloos computermodel bieden waarin de ontwikkeling wordt uitgevoerd in de fase van het voorbereiden van een reeks kleine individuele functies, die elk een specifieke gebeurtenis afhandelen en zijn ontworpen voor geïsoleerde werking zonder verwijzing naar de omgeving (staatloos, het resultaat is niet afhankelijk van de vorige staat en inhoud van het bestandssysteem). Functies worden alleen gelanceerd wanneer de noodzaak zich voordoet en onmiddellijk na verwerking van de gebeurtenis voltooien ze hun werk. Het FaaS-platform host zelf voorbereide functies, organiseert het beheer en zorgt voor schaalvergroting van de omgevingen die nodig zijn om voorbereide functies uit te voeren.

Daarnaast kunnen we de publicatie door Intel noteren van de Cloud Hypervisor 21.0-hypervisor, gebouwd op basis van componenten van het gezamenlijke Rust-VMM-project, waaraan naast Intel ook Alibaba, Amazon, Google en Red Hat deelnemen. Rust-VMM is geschreven in de Rust-taal en stelt u in staat taakspecifieke hypervisors te maken. Cloud Hypervisor is zo'n hypervisor die een virtuele machinemonitor (VMM) op hoog niveau biedt die bovenop KVM draait en is geoptimaliseerd voor cloud-native taken. De projectcode is beschikbaar onder de Apache 2.0-licentie.

Cloud Hypervisor is gericht op het uitvoeren van moderne Linux-distributies met behulp van op virtio gebaseerde paravirtuele apparaten. Tot de genoemde belangrijkste doelstellingen behoren: hoge responsiviteit, laag geheugengebruik, hoge prestaties, vereenvoudigde configuratie en vermindering van mogelijke aanvalsvectoren. Emulatieondersteuning wordt tot een minimum beperkt en de focus ligt op paravirtualisatie. x86_64- en AArch64-architecturen worden ondersteund. Voor gastsystemen worden momenteel alleen 64-bits builds van Linux ondersteund. De CPU, het geheugen, PCI en NVDIMM worden tijdens de assemblagefase geconfigureerd. Het is mogelijk om virtuele machines tussen servers te migreren.

De nieuwe versie van Cloud Hypervisor biedt de mogelijkheid om efficiënte lokale livemigratie uit te voeren, die kan worden gebruikt om omgevingen direct te updaten (Live Upgrade). De nieuwe modus onderscheidt zich door het uitschakelen van geheugenvergelijking van de bron- en doelomgeving, waardoor de tijd van een on-the-fly updatebewerking wordt verkort van 3 seconden naar 50 ms. De aanbevolen Linux-kernel is 5.15 (5.14 heeft problemen met virtio-net).

Bron: opennet.ru

Voeg een reactie