Firecracker, en virtuell maskinmonitor fra Amazon

Amazon annonserte utgivelsen av Firecracker 1.0, som er en virtuell maskinmonitor (VMM, Virtual Machine Monitor), designet for å kjøre virtuelle maskiner med minimal overhead. Fyrverkeri er en gaffel av CrosVM-prosjektet brukes av Google til å kjøre Linux- og Android-apper på ChromeOS.

Amazon Web Services utvikler Firecracker for å forbedre ytelsen og effektiviteten til AWS Lambda- og AWS Fargate-plattformene.

Om Firecracker

For de som ikke er klar over Firecracker, bør du vite at dette tilbyr lette virtuelle maskiner kalt microVMs. Den fullstendige isolasjonen av microVM bruker maskinvarevirtualiseringsteknologier basert på KVM hypervisor, samtidig som ytelsen og fleksibiliteten til konvensjonelle beholdere opprettholdes.

Systemet er tilgjengelig for x86_64 og ARM64 arkitekturer og har blitt testet på Intel Skylake, Intel Cascade Lake, AMD Zen2 og ARM64 Neoverse N1 CPU-familier, pluss verktøy for å integrere Firecracker i kjøretiden til containerisolasjonssystemer som Kata Containers, Weaveworks Ignite og containerd (levert av firecracker- containerd kjøretid).

Programvaremiljøet som kjører inne i de virtuelle maskinene har blitt avkortet og inneholder kun et minimalt sett med komponenter. For å spare minne, redusere oppstartstiden og forbedre sikkerheten i miljøer, en forenklet Linux-kjerne er utgitt (hvor kjernene 4.14 og 5.10 støttes), hvor alt unødvendig er utelukket, inkludert redusert funksjonalitet og støtte for slettede enheter.

Når du kjører med en avkortet kjerne, er det ekstra minneforbruket i forhold til en beholder mindre enn 5 MB. Latensen fra starten av microVM til starten av applikasjonskjøringen er satt til mellom 6 og 60 ms (gjennomsnittlig 12 ms), slik at nye virtuelle maskiner kan spawnes med opptil 180 miljøer per sekund på en vert med 36 kjerner.

For å administrere virtuelle miljøer av brukerplass, kjører bakgrunnsprosessen Virtual Machine Manager, som gir en RESTful API som implementerer funksjoner som å konfigurere, starte og stoppe microVM, velge CPU-maler (C3 eller T2), bestemme antall virtuelle prosessorer (vCPUer) og minnestørrelse, legge til nettverksgrensesnitt og diskpartisjoner, sette grenser for båndbredden og intensiteten til operasjoner, som gir ekstra minne og CPU-kraft i tilfelle ressursmangel.

Firecracker brukes av/integrert med: appfleet, containerd via firecracker-containerd, Fly.io, Kata Containers, Koyeb, Northflank, OpenNebula, Qovery, UniK og Weave FireKube.

I tillegg til å bli brukt som et dypere lag med isolasjon for containere, Firecracker er også egnet for å levere FaaS-systemer (Function as a Service), som tilbyr en serverløs databehandlingsmodell, der utviklingen utføres på forberedelsesnivået til et sett med små individuelle funksjoner, som hver gir behandling av en bestemt hendelse og den er designet for uavhengig drift uten referanse til miljøet (statløst, resultatet avhenger ikke av forrige tilstand og innholdet i filsystemet).

Funksjoner kjører kun når det er nødvendig, og umiddelbart etter at arrangementet er behandlet, fullfører de arbeidet sitt. Selve FaaS-plattformen er vert for de klargjorte funksjonene, orkestrerer ledelsen og gir skalerbarheten til miljøene som kreves for å kjøre de klargjorte funksjonene.

Hvordan kompilere fyrverkeri på Linux?

Til Lde som er interessert i å kunne prøve fyrverkeri på systemet deres, kan de kompilere det på egen hånd.

For dette bare åpne en terminal og Det første de må gjøre er å skaffe kildekoden for å kunne kompilere, dette kan gjøre ved å skrive:

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

Når dette er gjort kan vi gå inn i firecracker-mappen med:
cd fyrverkeri

Og vi fortsetter å kompilere med:

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

Endelig hvis du er interessert i å vite mer om det Om Firecracker kan du sjekke detaljene på følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.