Firecracker, een virtuele machinemonitor van Amazon

Amazon kondigde de release van Firecracker 1.0 aan, dat is een virtuele machinemonitor (VMM, Virtual Machine Monitor), ontworpen om virtuele machines te laten draaien met minimale overhead. Voetzoeker is een splitsing van het CroVM-project gebruikt door Google om Linux- en Android-apps op ChromeOS uit te voeren.

Amazon Web Services ontwikkelt Firecracker om de prestaties en efficiëntie van de AWS Lambda- en AWS Fargate-platforms te verbeteren.

Over Firecracker

Voor degenen die niet op de hoogte zijn van Firecracker, je moet weten dat dit biedt lichtgewicht virtuele machines, microVM's genaamd. De volledige isolatie van microVM maakt gebruik van hardwarevirtualisatietechnologieën op basis van de KVM-hypervisor, met behoud van de prestaties en flexibiliteit van conventionele containers.

Het systeem is beschikbaar voor x86_64- en ARM64-architecturen en is getest op Intel Skylake, Intel Cascade Lake, AMD Zen2 en ARM64 Neoverse N1 CPU-families, plus tools om Firecracker te integreren in de runtime van containerisolatiesystemen zoals Kata Containers, Weaveworks Ignite en containers (geleverd door de firecracker- gecontaineriseerde looptijd).

De softwareomgeving die binnen de virtuele machines draait, is ingekort en bevat slechts een minimale set componenten. Om geheugen te besparen, de opstarttijd te verkorten en de beveiliging in omgevingen te verbeteren, er wordt een vereenvoudigde Linux-kernel uitgebracht (waarin kernels 4.14 en 5.10 worden ondersteund), waarvan al het overbodige is uitgesloten, inclusief verminderde functionaliteit en ondersteuning voor verwijderde apparaten.

Bij gebruik met een afgekapte kernel is het extra geheugenverbruik in vergelijking met een container minder dan 5 MB. De latentie vanaf het begin van de microVM tot het begin van de uitvoering van de applicatie is ingesteld tussen 6 en 60 ms (gemiddeld 12 ms), waardoor nieuwe virtuele machines kunnen worden voortgebracht met maximaal 180 omgevingen per seconde op een host met 36 cores.

Virtuele omgevingen beheren van gebruikersruimte, voert het achtergrondproces Virtual Machine Manager uit, dat een RESTful API biedt die functies implementeert zoals het configureren, starten en stoppen van de microVM, het selecteren van CPU-sjablonen (C3 of T2), het bepalen van het aantal virtuele processors (vCPU's) en geheugengrootte, het toevoegen van netwerkinterfaces en schijfpartities, het instellen van limieten voor de bandbreedte en intensiteit van operaties, waardoor extra geheugen en CPU-kracht wordt geboden in geval van een tekort aan bronnen.

Firecracker wordt gebruikt door/geïntegreerd met: appfleet, gecontainerd via firecracker-containerd, Fly.io, Kata Containers, Koyeb, Northflank, OpenNebula, Qovery, UniK en Weave FireKube.

Naast dat het wordt gebruikt als een diepere isolatielaag voor containers, Firecracker is ook geschikt voor het leveren van FaaS-systemen (Function as a Service), die een serverloos computermodel bieden, waarin de ontwikkeling wordt uitgevoerd op het voorbereidingsniveau van een reeks kleine individuele functies, die elk de verwerking van een bepaalde gebeurtenis bieden en het is ontworpen voor onafhankelijke werking zonder verwijzing naar de omgeving (staatloos, het resultaat is niet afhankelijk van de vorige staat en de inhoud van het bestandssysteem).

Functies worden alleen uitgevoerd wanneer dat nodig is en onmiddellijk nadat de gebeurtenis is verwerkt, voltooien ze hun werk. Het FaaS-platform zelf host de ingerichte functies, orkestreert het beheer en biedt de schaalbaarheid van de omgevingen die nodig zijn om de ingerichte functies uit te voeren.

Hoe firecracker op Linux te compileren?

Aan Ldegenen die geïnteresseerd zijn om vuurwerk te proberen op hun systeem kunnen ze het zelf compileren.

Hiervoor open gewoon een terminal en Het eerste wat ze moeten doen is de broncode verkrijgen om te kunnen compileren, dit kan doen door te typen:

git clone https://github.com/firecracker-microvm/firecracker

Zodra dit is gebeurd, kunnen we de map firecracker openen met:
cd voetzoeker

En we gaan verder met compileren met:

tools/devtool build
toolchain="$(uname -m)-unknown-linux-musl"

Eindelijk als u er meer over wilt weten Over Firecracker, u kunt de details bekijken op: de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.