- MicroVMs waren in den letzten fünf Jahren ein heißes Feld in der technischen F&E
- Die Kernidee ist eine Neuerfindung einiger Konzepte und Techniken, die IBM in den 1960er-Jahren zusammen mit dem Hypervisor erfunden hat
- Das Betriebssystem gezielt so zu entwerfen, dass es auf anderen Betriebssystemen als Gast läuft
- Innerhalb der VM auszuführen, aber mit den von einem bestimmten Hypervisor bereitgestellten Ressourcen (
VirtIO) zu kommunizieren statt mit vorgetäuschter Hardware
- Das kommerzielle Ziel ist es, die Leistung von „serverlosem“ Computing bereitzustellen
- AWS Lambda läuft auf Firecracker
- Firecracker basiert auf dem im Linux-Kernel integrierten KVM-Hypervisor (frühere AWS-Systeme basierten auf dem Xen-Hypervisor)
- Linux-on-Linux
- In derselben Umgebung, in der FreeBSD in 25 ms booten kann, braucht Linux 75–80 ms
- Als der FreeBSD-Kernel-Entwickler Colin Percival ursprünglich mit der Arbeit an der Verbesserung der Bootgeschwindigkeit begann, lag sie bei 10 Sekunden – inzwischen ist sie 400-mal schneller
- Derzeit ist dies für x86-64 optimiert, aber auch an Arm64 wird gearbeitet
- Firecracker ist derzeit eine der bekanntesten MicroVMs, aber es gibt auch andere Produkte
- QEMU hat die virtuelle Plattform
microvm hinzugefügt, und der Online-Entwicklungsumgebungsdienst Hocus ist von Firecracker auf QEMU umgestiegen
- Es könnte nicht nur für die Cloud, sondern auch für andere Einsatzzwecke nützlich sein
- Ein einzelnes Programm, das für ein bestimmtes Betriebssystem entwickelt wurde, auf einem völlig anderen Betriebssystem auszuführen, kann in vielen Situationen nützlich sein
5 Kommentare
Wie groß ist der Unterschied zwischen 80 Millisekunden und 20 Millisekunden eigentlich aus Sicht des gesamten Dienstes bzw. der Erfahrung des Service-Anbieters? Irgendwie habe ich vage das Gefühl, dass selbst 80 Millisekunden schon ausreichend sein könnten. 10 Sekunden waren allerdings schon etwas zu viel.
Wenn es gelingt, die Cold-Start-Zeit unter die Zeit zu senken, die für den TLS-Handshake mit dem Client benötigt wird, sind Maßnahmen wie eine durch langsame Cold Starts verursachte anfängliche gefühlte Verlangsamung für manche Nutzer oder ein Warm-up zu deren Vermeidung nicht mehr nötig.
CloudFlare hat einmal damit geprahlt, dies tatsächlich erreicht zu haben, indem die Ladezeit des Workers-Dienstes auf ganze 5 Millisekunden gesenkt wurde.
Die technische Kompetenz von Cloudflare ist wirklich beeindruckend ...
Kürzlich war Colin Percival wegen der Änderung von Bubble Sort zu Merge Sort in SYSINIT ein Thema,
do dieser Beitrag aber auch die zugrunde liegende Verbesserung der Boot-Geschwindigkeit von FreeBSD und ihren Zusammenhang mit microVMs erklärt, habe ich ihn übersetzt.
Hocus - die Open-Source-Alternative zu GitHub Codespaces
Warum Firecracker QEMU ersetzt hat
FreeBSD verwendet beim Booten 7 % der Zeit darauf, SYSINITs mit Bubble Sort zu sortieren
FreeBSD ändert den Bubble Sort von SYSINIT zu Merge Sort
Ah, das ist also ein Artikel in einem ähnlichen Kontext. Interessant.