Micro-VM

Micro-VM

Eine Micro-VM ist ein extrem abgespeckter virtueller Computer, der in Sekundenbruchteilen startet und nur wenig Speicher braucht. Cloud-Anbieter nutzen sie, um fremden Programmcode sicher voneinander getrennt laufen zu lassen.

Ein Server im Rechenzentrum bedient nicht nur einen Kunden, sondern hunderte. Damit sich die Programme dieser Kunden nicht gegenseitig sehen oder stören können, teilt man den Server per Software in mehrere abgeschottete Computer auf. Jeder dieser nachgebildeten Computer hat sein eigenes Betriebssystem und glaubt, allein auf der Maschine zu sein. Solche nachgebildeten Rechner heißen virtuelle Maschinen. Eine Micro-VM ist eine besonders schlanke Variante davon: Sie bekommt nur die absolut nötigsten nachgebildeten Bauteile, also etwa eine Netzwerkkarte und eine Festplatte, aber keine Grafikausgabe, keinen Sound und keine USB-Anschlüsse. Deshalb startet sie in etwa hundert Millisekunden statt in einer halben Minute und belegt manchmal nur wenige Megabyte Arbeitsspeicher.

Warum Cloud-Anbieter darauf umgestiegen sind

Klassische virtuelle Maschinen sind sicher, aber träge und speicherhungrig. Sie eignen sich für Server, die monatelang durchlaufen. Moderne Cloud-Dienste funktionieren anders: Da wird ein winziges Programm gestartet, weil jemand eine Webseite aufruft, und nach 200 Millisekunden ist es wieder weg. Für diesen Rhythmus wäre eine schwere virtuelle Maschine völlig unbrauchbar.

Der zweite Grund ist Sicherheit. Es gibt eine leichtere Alternative zur Virtualisierung, nämlich Container. Container teilen sich den Kern des Betriebssystems, also den innersten Steuerungsteil des Wirtsrechners. Findet ein Angreifer dort eine Lücke, kann er unter Umständen aus seinem Container ausbrechen und die Nachbarn erreichen. Eine Micro-VM hat dagegen ihren eigenen Betriebssystemkern und eine echte, von der Hardware unterstützte Trennwand.

Micro-VMs verbinden also beides: die harte Isolation einer virtuellen Maschine mit einer Startzeit, die nahe an einen Container herankommt. Genau diese Kombination war lange der Engpass beim Betrieb von Cloud-Plattformen, auf denen fremder Code läuft. Wirtschaftlich ist das relevant, weil ein Server so mehr zahlende Kunden gleichzeitig tragen kann.

Was beim Abspecken weggelassen wird

Eine normale virtuelle Maschine tut so, als wäre sie ein kompletter PC. Sie täuscht ein BIOS vor, also die Startsoftware eines echten Rechners, dazu Laufwerke, Anschlüsse und Bildschirmausgabe. Dieses Nachbilden kostet Zeit und Programmcode. Eine Micro-VM lässt fast alles davon weg und bootet direkt in den Betriebssystemkern.

Der Vorteil ist doppelt. Zum einen geht der Start schneller, weil weniger Bauteile initialisiert werden müssen. Zum anderen sinkt das Risiko: Jede nachgebildete Komponente ist Programmcode, und in jedem Programmcode können Fehler stecken, über die ein Angreifer ausbrechen könnte. Weniger Bauteile bedeuten also weniger Angriffsfläche. Fachleute sprechen hier von einer kleinen Angriffsoberfläche.

Das bekannteste Werkzeug dafür heißt Firecracker und wurde bei Amazon entwickelt. Es ist bewusst so gebaut, dass es nur eine Handvoll nachgebildeter Geräte kennt. Ein häufiger Irrtum ist, eine Micro-VM sei einfach ein besonders kleiner Container. Das trifft nicht zu: Die Trennung läuft über einen anderen Mechanismus, nämlich echte Virtualisierung mit Unterstützung durch den Prozessor.

Micro-VMs in Cloud-Diensten und KI-Produkten

Wer eine Funktion bei AWS Lambda ausführt, arbeitet mit hoher Wahrscheinlichkeit in einer Micro-VM, ohne es zu merken. Das Gleiche gilt für viele Dienste, bei denen man Code in einem Browserfenster tippt und sofort ausführen lässt. Auch Online-Programmierkurse und automatische Testsysteme nutzen die Technik.

Besonders wichtig geworden ist sie durch KI-Assistenten, die selbst Programme schreiben und ausführen. Dieser Code ist nicht geprüft und kann fehlerhaft oder sogar schädlich sein. Man lässt ihn deshalb in einer Micro-VM laufen, die man nach der Aufgabe einfach wegwirft. In Fachtexten heißt so ein abgeschotteter Testbereich Sandbox.

In Wirtschaftsnachrichten begegnet dir der Begriff meist im Zusammenhang mit Kosten und Auslastung. Wenn ein Anbieter berichtet, er könne mehr Kunden pro Server bedienen oder Kaltstarts verkürzen, steckt oft diese Technik dahinter. Kaltstart meint dabei die Wartezeit, wenn eine Umgebung erst neu hochgefahren werden muss.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.