System · das Netz, es verbindet

Nexus

Die Schicht, auf der alles läuft.

Nexus ist die selbst gehostete Plattform, die die Systeme und ihre Stores baut, verbindet und betreibt, auf Ihrer eigenen Infrastruktur in der EU. Im Alltag bedient sie ein Assistent über eine protokollierte Steuerfläche; alles mit realer Wirkung verbraucht eine einmalige Freigabe durch einen Menschen. Nexus ist das Fundament, auf dem das Produkt steht, keine Funktion davon.

Die Infrastruktur

Der Ablauf

Systeme + Stores
cortex · lens · atlas · …
Nexus-Mesh
Selbst gehostet · EU · verbunden
  • Verbindet jedes System und jeden Store über ein privates Mesh.
  • Selbst gehostet: Ihre Daten verlassen nie Ihre Infrastruktur.
  • Automatisches TLS, Deploys ohne Ausfallzeit und eine einmalige Freigabe durch einen Menschen für jede externe Aktion.

Im Zusammenspiel

Betreibt und verbindet Cortex, Lens, Atlas, Thalamus, Larynx, Pharynx und die Stores.

Unter der Haube

Ein Assistent am Steuer. Ein Mensch bei den Freigaben.

Nexus ist unsere eigene Deployment-Plattform: eine kontrollierte Engine, die aus git baut, jeder App automatisches TLS vorschaltet, Zugangsdaten zwischen Systemen verdrahtet und die ganze Flotte auf einem kleinen Cluster aus Maschinen betreibt. Ungewöhnlich ist, wer sie bedient. Ein Assistent erledigt den Alltag über dieselbe protokollierte Steuerfläche, die auch ein Mensch nutzt, und alles mit realer Wirkung bleibt hinter einer einmaligen Freigabe durch einen Menschen.

Die Konsole · mit Demodaten gezeigt

Die Arbeitsfläche von Nexus mit Demodaten: fünf Apps als Knoten, verbunden mit einem öffentlichen Router, eine Gruppe mit gemeinsamen Zugangsdaten und ein Deploy im Probelauf in der Live-Warteschlange

Apps sind Knoten auf einer Arbeitsfläche. Ein Kabel zum Router macht eine App öffentlich erreichbar, eine gestrichelte Hülle ist eine Gruppe mit gemeinsamen Zugangsdaten, und die Warteschlange unten ist ein Release im Probelauf vor der Umschaltung. Rechts dieselbe Flotte im Handyformat.

Ein Deploy, von Anfang bis Ende

git push
oder ein Satz im Chat
Build
isoliertes Image
Health-Check
Prüfung muss bestehen
Verdeckter Probelauf
0 % des Traffics
Umschaltung
transaktional · ohne Ausfallzeit
Rollback
das alte Release bleibt

Ein neues Release wird isoliert gebaut, muss seinen Health-Check bestehen und läuft dann eine Probezeit lang verdeckt mit, während der Produktions-Traffic beim alten bleibt. Nur ein Release, das gesund bleibt, wird umgeschaltet; eines, das scheitert, ersetzt nie, was live ist. Zustandsbehaftete Apps und Stores werden erst gestoppt, dann gestartet, mit automatischem Rollback.

Wer was darf

Assistent
protokollierte Oberfläche
Lesen
Logs · Status · Statistik
Ändern
Env · Limits · Verdrahtung
Deployen · veröffentlichen · löschen
extern
Freigabe durch Operator
einmalig · es geht live
∅ Abgelehnt
keine Freigabe, keine Aktion

Lesezugriffe laufen sofort. Konfigurationsänderungen fragen einmal nach. Deploys, Veröffentlichungen und Löschungen sind externe Aktionen: Jede verbraucht eine Freigabe, die ein menschlicher Operator erteilt, und der Assistent kann sich keine selbst erteilen. Die Engine erzwingt die Ablehnung, nicht ein Prompt, der höflich darum bittet.

Eine Sitzung aus unserer eigenen Flotte · Namen geändert

09:12 · Operator

„Die Laufzeit-Logs aller acht Dienste durchgehen und alles finden, was unnötig Lärm macht.“

09:13 · Assistent

Liest acht Log-Enden in einem Durchgang, Secrets bereits geschwärzt. Findet einen Worker, der bei leeren Warteschlangen alle fünf Sekunden einen Socket-Timeout wirft.

09:15 · Assistent

Korrigiert den Timeout der Warteschlange, ergänzt einen Regressionstest, committet.

09:15 · Assistent

Beantragt ein Deploy. Das ist eine externe Aktion, also braucht es eine Freigabe.

09:16 · Operator

Erteilt eine einmalige Deploy-Freigabe für den Worker.

09:16 · Nexus

Build → Health-Check → verdeckter Probelauf → Umschaltung. Rollback durchgehend scharf.

09:21 · Nexus

Worker live. Logs ruhig.

Neun Minuten von der Frage bis zu ruhigen Logs. Die einzigen menschlichen Handgriffe waren die Frage und die Freigabe.

3
Maschinen zu einem Cluster gekoppelt, darunter ein GPU-Host
29
unserer Apps und Stores laufen heute darauf
1
einmalige Freigabe durch einen Menschen, verbraucht von jedem Deploy
~30 %
eines PaaS, mit Absicht: der Teil, den eine kleine Flotte tatsächlich nutzt
Umgebungsänderungen, die früher einen Nachmittag Klickarbeit kosteten, sind ein Satz im Chat; Secrets lassen sich auf dem Server erzeugen, sodass der Assistent Zugangsdaten bestellt, ihren Wert aber nie sieht.
Jedes Log, das der Assistent liest, wird vorher geschwärzt, und Build-Logs überstehen Fehlschläge im gemeinsamen Cluster-Store: Ein Deploy, das um 03:00 Uhr gescheitert ist, lässt sich um 09:00 Uhr von jeder Maschine aus untersuchen.
Die Stores dahinter entstehen aus Rezepten (Postgres mit pgvector, Qdrant, Neo4j, Redis, MinIO); nutzende Apps bekommen beim nächsten Deploy die zum Protokoll passenden Verbindungsvariablen eingespielt.
Maschinen koppeln sich per Code in den Cluster und teilen einen gemeinsamen Zustand: Jede Maschine kann für die ganze Flotte Auskunft geben, und jede App wird an die Maschine gebunden, die zu ihr passt, mit GPU, wo nötig.

Die übrigen Systeme

Dies ist ein Teil eines Systems, das für ein einziges Versprechen gebaut ist: Jede Antwort ist belegt und rechtebewusst, oder sie kommt gar nicht.