
Sechzig Container auf einem Server
Eine Bare-Metal-Box führt Dutzende bis Hunderte von Hoody-Containern aus. KSM und BTRFS-Dedup machen die Marginalkosten nahezu null.
Der Code Orchestrator startet VS Code im Container und liefert es als ganz normale URL aus. Öffne es vom Handy am Flughafen, vom Tablet auf der Couch, vom Laptop am Schreibtisch. Derselbe Editor, dieselben Files, derselbe Dev-Server, der seit gestern noch läuft.
Der Code Orchestrator (der Service, der mit jedem Hoody-Container ausgeliefert wird) liefert das VS-Code-Webinterface über einen einzigen HTTPS-Endpoint aus. Die URL buchstabiert genau aus, welches Projekt, welcher Container und welcher Ordner im Editor geöffnet werden.
https://PROJECT-CONTAINER-code-1.SERVER.containers.hoody.com/?folder=/home/user/projectSetze einmal ein Bookmark. Öffne sie von jedem Gerät mit Browser. Der Code Orchestrator nutzt dieselbe VS-Code-Instanz pro id wieder, sodass ein zweiter Tab auf einem zweiten Gerät denselben Workspace-State aufgreift, statt einen neuen zu spawnen.
Kein abgespeckter Handy-Editor, der so tut, als wäre er VS Code. Der Orchestrator startet einen echten VS-Code-Prozess im Container mit eigenem Data Directory unter /data/instances/, vollen Extensions und dem Proxy-Endpoint für jeden lokalen Port, an den dein Dev-Server bindet.
Port-Proxy ist im Orchestrator eingebaut. Jeder Prozess, der an einen lokalen Port bindet — vite, next, der Rails-Server, das Python-REPL — ist unter /proxy/PORT/ auf derselben URL erreichbar. Der Browser auf dem Handy sieht deinen Dev-Server, weil das localhost des Containers das localhost des Containers ist, nicht das des Handys.
Der Pitch 'Handy als Editor' scheitert üblicherweise an den Klippen, die ein Handy zu einer schlechten Dev-Box machen. Das Orchestrator-Pattern bewegt sie alle vom Gerät weg.
Wenn der Laptop am Schreibtisch liegt und das Handy in deiner Hand, können beide dieselbe URL öffnen und dieselben Files aufgreifen. Reisen wird zur Hardware-Entscheidung, nicht zur Workflow-Entscheidung.
Eine Codezeile geht dir in der Schlange am Flughafen nicht aus dem Kopf. URL öffnen. File editieren. Tests im eingebetteten Terminal laufen lassen. Committen. Pushen. Tab zu. Der ganze Zyklus läuft auf dem Container, nicht auf dem Handy.
Extensions einmal installiert, Settings einmal synchronisiert, Dev-Server einmal gestartet. Der State gehört dem Container, nicht dem Laptop. Ein neues Gerät kaufen heißt, eine URL darauf zu öffnen.
Computing ist nicht mehr an das Gerät in deiner Hand gebunden.
Das Handy, das Tablet, der Laptop — sie sind Render-Surfaces. Die CPU, die Disk, der Dev-Server, der Build-Cache, die laufenden Prozesse leben alle im Container. Jeder Browser reicht aus, um sie zu erreichen.
Die Patterns, zu denen Entwickler greifen, wenn sie einen Laptop-Grade-Editor auf einem Nicht-Laptop-Gerät wollen. Jedes biegt entweder das Gerät oder den Workflow. Der Orchestrator biegt nichts.
URL öffnen. Fix machen. Tab zu. Dein Computer war nie in deiner Hand.