Kennisbank

MicroVM: de piepkleine virtuele machine achter moderne cloudtechnologie

Bijgewerkt: 7 september 2026 · 6 min leestijd

Stel je een hotel voor. Een traditionele virtuele machine is als het bouwen van een compleet nieuw huis voor elke gast: met eigen fundering, eigen elektriciteitsmeter, eigen cv-ketel en eigen voordeur. Veilig en volledig afgescheiden, maar het kost tijd en ruimte om zoiets neer te zetten. Een microVM is meer als een kant-en-klare hotelkamer: minimalistisch, binnen een paar tellen gereed voor gebruik, maar nog altijd met een eigen afsluitbare deur die gasten strikt van elkaar scheidt.

MicroVMs zijn piepkleine, sterk afgeslankte virtuele machines die binnen enkele tientallen milliseconden opstarten en maar een paar megabytes geheugen nodig hebben. Ze worden vooral gebruikt door clouddiensten die razendsnel en veilig code van duizenden verschillende klanten tegelijk moeten uitvoeren, zoals bij zogeheten 'serverless' functies. Het bekendste voorbeeld is Firecracker, de technologie waarmee Amazon Web Services (AWS) sinds 2018 zijn dienst Lambda draait. Dit artikel legt uit hoe microVMs werken, wat ze anders maakt dan gewone virtuele machines en containers, en wie er wereldwijd aan bouwen.

Wat is het precies?

Om een microVM te begrijpen, helpt het om eerst twee bestaande technieken op een rijtje te zetten. Bij een gewone virtuele machine simuleert software (een zogeheten hypervisor) een compleet stuk computerhardware: een processor, een netwerkkaart, een grafische kaart, een BIOS om op te starten, enzovoort. Daar bovenop draait dan een volledig besturingssysteem, met alle bijbehorende stappen die ook een fysieke computer doorloopt bij het opstarten. Dat kost al gauw enkele seconden tot minuten en honderden megabytes aan geheugen.

Een container (zoals Docker) doet het anders: die deelt het besturingssysteem van de computer waarop hij draait en isoleert alleen de applicatie zelf. Dat is razendsnel en licht, maar de scheiding tussen containers is minder streng, omdat ze uiteindelijk allemaal gebruikmaken van dezelfde onderliggende kernel (het hart van het besturingssysteem). Als daar een lek in zit, kan dat gevolgen hebben voor alle containers op die machine.

Een microVM probeert het beste van beide werelden te combineren. Het maakt, net als een gewone virtuele machine, gebruik van hardwarematige virtualisatie: een functie die in vrijwel elke moderne processor zit (bekend onder namen als Intel VT-x of AMD-V) en die onder Linux toegankelijk wordt gemaakt via een kernelonderdeel genaamd KVM (Kernel-based Virtual Machine). Daardoor krijgt elke microVM echt zijn eigen afgeschermde stukje processor en geheugen, los van andere microVMs op dezelfde server.

Het verschil met een gewone VM zit in wat er wordt weggelaten. Een microVM simuleert geen verouderde hardware, geen BIOS, geen scherm en geen dozijn aan denkbare randapparaten. Er is meestal maar één simpel, modern soort virtueel netwerkkaartje en schijfje (via een standaard genaamd virtio). Het besturingssysteem dat erin draait, is een sterk uitgeklede Linux-kernel die meteen naar de applicatie doorstart, zonder alle stappen die een normale computer doorloopt. Het resultaat: een microVM is binnen ongeveer 100 tot 150 milliseconden klaar voor gebruik en gebruikt vaak minder dan 5 megabyte geheugen aan overhead. De software die dit allemaal regelt heet een VMM (virtual machine monitor); bekende voorbeelden zijn Firecracker, Cloud Hypervisor en crosvm. Deze zijn veelal geschreven in de programmeertaal Rust, die geheugenfouten (een veelvoorkomende bron van beveiligingslekken) al tijdens het compileren opspoort.

Wat wil men ermee bereiken?

De drijfveer achter microVMs is een spanningsveld waar elke cloudaanbieder mee worstelt: hoe voer je code uit van klanten die elkaar niet vertrouwen (en soms zelfs bewust kwaadwillend zijn), zonder dat het traag of duur wordt? Containers zijn snel maar bieden zwakkere isolatie; volwaardige VMs zijn veilig maar te log om er duizenden per seconde van op te starten voor een kortstondige taak.

MicroVMs zijn bedacht om dat dilemma op te lossen. Het doel is drieledig. Ten eerste sterke isolatie: elke klant of functie krijgt zijn eigen hardwarematig afgeschermde omgeving, zodat een fout of aanval in de ene microVM niet kan overslaan naar de andere. Ten tweede snelheid en dichtheid: een server moet duizenden microVMs tegelijk kunnen draaien en ze binnen milliseconden kunnen opstarten en weer afbreken, essentieel voor serverless computing, waarbij code alleen draait op het moment dat hij nodig is. Ten derde een kleiner aanvalsoppervlak: doordat een microVM zoveel minder simuleert dan een gewone VM, zijn er ook veel minder regels code die kwetsbaarheden kunnen bevatten. Minder simulatie betekent minder plekken waar iets mis kan gaan.

Er zit ook een economisch motief achter: hoe meer klanten een cloudaanbieder veilig op één fysieke server kan samenpersen, hoe lager de kosten per klant. MicroVMs maken die verdichting mogelijk zonder in te leveren op de veiligheidsgarantie die klanten van een cloudaanbieder verwachten.

Voorbeelden uit de praktijk

AWS Firecracker is het bekendste voorbeeld. Amazon ontwikkelde het intern en maakte het in 2018 open source. Het draait sindsdien onder de motorkap van AWS Lambda (de serverless-dienst van Amazon) en AWS Fargate, en voert dagelijks miljarden korte rekentaken uit voor klanten wereldwijd.

Kata Containers ontstond eind 2017 uit de samenvoeging van twee eerdere projecten, Intel Clear Containers en Hyper.sh runV. Het idee: laat ontwikkelaars containers gebruiken zoals ze gewend zijn (met Docker of Kubernetes), maar voer elke container in de praktijk uit in zijn eigen microVM voor extra isolatie. Het project wordt gehost door de Cloud Native Computing Foundation (CNCF), dezelfde stichting die ook achter Kubernetes zit.

Fly.io, een cloudplatform gericht op het dicht bij gebruikers draaien van applicaties ('edge computing'), bouwde zijn dienst Fly Machines op Firecracker en bracht die rond 2022 breed uit. Elke applicatie van een klant draait daar in een eigen microVM die binnen een fractie van een seconde kan opstarten of pauzeren.

Google crosvm is een vergelijkbare, in Rust geschreven VMM van Google. Het wordt al jaren gebruikt in Chrome OS (voor Crostini, waarmee Chromebook-gebruikers Linux-applicaties draaien) en is later ook de basis geworden van het Android Virtualization Framework, dat sinds Android 13 (2022) bepaalde gevoelige systeemonderdelen van Android in een beschermde microVM isoleert.

Cloud Hypervisor is een gezamenlijk opgezette VMM die in 2019 begon als initiatief van Intel en inmiddels onderdak heeft gevonden bij de Linux Foundation, met bijdragen van onder meer Arm, Microsoft en Alibaba Cloud. Het wordt onder meer gebruikt als alternatieve motor voor Kata Containers.

Hoe ver is de techniek?

MicroVMs zijn geen labstudie meer: Firecracker draait al sinds 2018 op enorme schaal binnen AWS en heeft zich in de praktijk bewezen op een schaal van vele biljoenen uitvoeringen. Dat maakt microVMs een van de weinige relatief jonge virtualisatietechnieken die meteen op wereldwijde, kritieke infrastructuur zijn ingezet.

Toch is het veld nog volop in ontwikkeling. Functies als live migratie (een draaiende microVM zonder onderbreking verplaatsen naar een andere server) en het snel 'pauzeren en hervatten' van microVMs via geheugensnapshots worden nog verder uitgebouwd. Ondersteuning voor grafische kaarten en andere gespecialiseerde hardware (zogeheten accelerators, belangrijk voor bijvoorbeeld AI-toepassingen) is beperkter dan bij volwaardige virtuele machines, al wordt hieraan gewerkt. Ook de integratie met containerorkestratiesystemen zoals Kubernetes, via projecten als Kata Containers, brengt een zekere mate van extra complexiteit en een klein prestatieverlies met zich mee ten opzichte van kale containers.

Het is ook belangrijk onderscheid te maken met een verwant maar ander concept: gVisor, eveneens van Google. Dat bootst een Linux-kernel na in software (geschreven in Go) zonder gebruik te maken van hardwarematige virtualisatie. Het lijkt qua doel op een microVM (extra isolatie voor containers) maar werkt technisch fundamenteel anders en wordt bijvoorbeeld gebruikt in Google Cloud Run. Wie over 'lichte, veilige sandboxing' leest, moet dus goed opletten welke van de twee benaderingen wordt bedoeld.

Wie werken eraan?

Amazon Web Services is de drijvende kracht achter Firecracker en de belangrijkste partij die de techniek op wereldschaal in productie heeft gebracht. De Cloud Native Computing Foundation (CNCF), onderdeel van de bredere Linux Foundation, host Kata Containers en brengt daarmee de microVM-gedachte samen met het bredere Kubernetes-ecosysteem. De Linux Foundation zelf huisvest ook het Cloud Hypervisor-project, met actieve bijdragen van chipmakers Intel en Arm, en van Microsoft en Alibaba Cloud. Google ontwikkelt zowel crosvm (voor Chrome OS en Android) als het verwante maar technisch andere gVisor. Ook kleinere, gespecialiseerde clouddiensten zoals Fly.io dragen bij aan de praktijkervaring en soms aan de broncode van deze projecten. Onderliggend leunt vrijwel alles op KVM, het virtualisatieonderdeel van de Linux-kernel, waar honderden ontwikkelaars wereldwijd aan bijdragen binnen het bredere Linux-project.

Verder lezen