Jenseits von Containern – Einführung in Boxer
(youtube.com)Dieser Vortrag stellt mit dem Projekt Boxer neue Möglichkeiten jenseits von Containern für WASM (WebAssembly) vor.
Boxer erstellt mithilfe von `dockerfile` WASM-Binärdateien und bietet über eine `lib c` namens marquott POSIX-Kompatibilität. Damit soll innerhalb von WASM eine Umgebung geschaffen werden, die nativem Code ähnelt.
Langfristig will Boxer eine sicherere, schnellere und allgegenwärtig bereitstellbare Computing-Umgebung aufbauen und so ein vertrauenswürdiges Ausführungsumfeld für das KI-Zeitalter bieten.
-
Vorstellung des Sprechers
Der Sprecher ist Dan Phillips und arbeitet bei Loophole Labs.
Er entwickelt hauptsächlich das Produkt Architect.Run, das eine Methode bietet, VMs ohne Downtime zu migrieren.
-
Warum Container so beliebt sind
Es gibt viele Gründe, warum Menschen Container mögen, aber der wichtigste ist, dass sie als Grundeinheit von Cloud Native wahrgenommen werden.
Container lassen sich im Betrieb sehr einfach nutzen, und Anwender müssen nicht wissen, wie die Runtime intern implementiert ist.
Viele Entwickler betrachten Container als Mini-VMs und nutzen sie per SSH.
-
Die Entwicklung von Docker
Container gab es schon vor Docker, doch Docker hat durch eine bessere Developer Experience die Nutzung von Containern deutlich vereinfacht.
Docker bietet eine Abstraktion über verschiedene Runtimes hinweg, sodass Entwickler es nutzen können, ohne sich um komplexe Details kümmern zu müssen.
-
WASM und Scale
Loophole Labs setzt seit zwei Jahren mit einem Produkt namens Scale tatsächlich WASM ein.
Scale ist ein Open-Source-Plugin-Framework mit Unterstützung für Rust, Go und TypeScript.
Entwickler möchten Systemcode nicht neu schreiben und bevorzugen eine einfache Entwicklungserfahrung.
-
Einführung in das Boxer-Projekt
Das Boxer-Projekt ist der Versuch, die Kompatibilität nativen Codes mit den Vorteilen von WASM zu verbinden.
Bestehende Container enthalten komplexe Systemfunktionen, Boxer verfolgt dagegen den Ansatz, nur die benötigten Komponenten gezielt hinzuzufügen.
-
Marquott und POSIX
marquott ist ein Teilprojekt von Boxer und hat das Ziel, die POSIX-Spezifikation umzusetzen.
Derzeit sind etwa 60 % der POSIX-Funktionen implementiert; Bereiche wie Prozess- und Thread-Management sind noch unvollständig.
-
Dateisystem und VFS
Für jedes Modul und jeden Prozess wird ein Dateisystem benötigt, und marquott verwendet dafür ein Rust-basiertes virtuelles Dateisystem (VFS).
Das virtuelle Dateisystem ähnelt der Abstraktion, die in den meisten Unix-Systemen verwendet wird.
-
Funktionen von Boxer
Boxer nimmt
docker-Dateien als Eingabe und erzeugt daraus WASM-Binärdateien sowie Host-Plugin-Funktionen.marquott umfasst ein virtualisiertes Dateisystem und eine Schicht für Systemcode und unterstützt damit verschiedene Runtimes.
-
Demo und Anwendungsfälle
Es wird demonstriert, wie sich mit einer
docker-Datei eine WASM-Binärdatei erzeugen lässt, die anschließend auf dem lokalen Rechner, auf Servern und im Browser ausgeführt werden kann.Dabei wird die Möglichkeit hervorgehoben, denselben Code in unterschiedlichen Umgebungen auszuführen.
-
Zukünftige Möglichkeiten
WASM ermöglicht kleine, sichere und schnelle Codeausführung und kann dadurch in verschiedensten Umgebungen eingesetzt werden.
Zudem eröffnet es die Chance, viele ungenutzte Computing-Ressourcen zu verwenden.
-
Fragen und Antworten
Nach dem Vortrag wurden Fragen gestellt und beantwortet, unter anderem dazu, wie sich C-Programme in WASM umwandeln lassen, wie hoch das Sicherheitsniveau ist und wie komplexe Funktionen umgesetzt werden können.
1 Kommentare
Dies ist der zusammenfassende Inhalt.
https://lilys.ai/digest/3762112/2446928?s=1&nid=2446928