Ihre Kubernetes-Plattform ist bereit für Container. Ist sie bereit für KI?
TL;DR Kubernetes hat sich als zentrale Plattform für die Bereitstellung und den Betrieb container …

Moderne Anwendungen beginnen nicht mehr im Rechenzentrum.
Es gibt eine merkwürdige Eigenschaft moderner Software.
Je leistungsfähiger unsere Plattformen geworden sind, desto einfacher scheint ihre Architektur auf den ersten Blick geworden zu sein.
Heute sprechen wir über Kubernetes , GitOps, Infrastructure as Code oder Continuous Deployment, als wären sie selbstverständliche Bestandteile jeder Anwendung. Innerhalb weniger Minuten entstehen Cluster, Container werden automatisch skaliert und neue Versionen erreichen den Produktivbetrieb, ohne dass ein Benutzer davon überhaupt Notiz nimmt. Verglichen mit der Infrastruktur vergangener Jahrzehnte wirkt moderne Software beinahe elegant.
Vielleicht sogar erstaunlich einfach.
Doch dieser Eindruck täuscht.
Nicht deshalb, weil moderne Systeme komplizierter wären als ihre Vorgänger.
Sondern weil sich ihre Komplexität an einen Ort verlagert hat, über den wir erstaunlich selten sprechen.
Betrachten wir für einen Moment, wie die meisten Architekturdiagramme beginnen.text Anwendung
+----------------------+
| Kubernetes |
+----------------------+
|
+----------------------+
| Datenbank |
+----------------------+
|
Internet ☁
Es ist ein Diagramm, das vermutlich jeder kennt.
Links befindet sich das Internet.
Danach folgt ein Loadbalancer, vielleicht noch ein Ingress Controller, anschließend Kubernetes und schließlich die eigentliche Anwendung.
Interessanterweise diskutieren wir fast ausschließlich über den rechten Teil dieses Diagramms.
Wir sprechen über Container .
Über Datenbanken.
Über Replikation.
Über Observability.
Über Deployments.
Der linke Teil verschwindet dagegen häufig hinter einer kleinen Wolke mit der Beschriftung Internet.
Als wäre zwischen einem Benutzer und unserer Plattform nichts weiter von Bedeutung.
Vielleicht ist genau das eines der größten Missverständnisse moderner Infrastruktur.
Die Vorstellung, dass eine Anwendung dort beginnt, wo der erste Prozess gestartet oder der erste Pod geplant wird, stammt aus einer Zeit, in der Anwendungen und Infrastruktur nahezu deckungsgleich waren.
Ein Webserver war eine Anwendung.
Eine Anwendung war ein Server.
Zwischen dem Browser eines Benutzers und der eigentlichen Software lagen vergleichsweise wenige technische Schichten. Ein Router leitete Pakete weiter, ein Webserver beantwortete HTTP-Anfragen und eine Datenbank speicherte Informationen. Routing, Transport und Anwendung bildeten eine Einheit, die sich noch auf einem Blatt Papier erklären ließ.
Heute wirkt dieses Bild beinahe nostalgisch.
Nicht, weil es falsch gewesen wäre.
Sondern weil es eine Welt beschreibt, die in dieser Form kaum noch existiert.
In den vergangenen anderthalb Jahrzehnten haben wir enorme Anstrengungen unternommen, Anwendungen von ihrer Infrastruktur zu entkoppeln.
Virtuelle Maschinen ersetzten physische Server.
Container machten Anwendungen portabel.
Kubernetes löste Workloads von einzelnen Hosts.
Infrastructure as Code ersetzte manuelle Konfigurationen.
GitOps machte Infrastruktur reproduzierbar.
Jede dieser Entwicklungen verfolgte dasselbe Ziel.
Die Komplexität innerhalb einer Plattform zu reduzieren.
Und sie war außerordentlich erfolgreich.
Vielleicht liegt genau darin jedoch eine bemerkenswerte Ironie.
Denn während wir Anwendungen immer weiter abstrahierten, entstand außerhalb dieser Plattformen eine vollkommen neue Architekturschicht, deren Verantwortung kontinuierlich wuchs.
Infrastruktur ist nicht einfacher geworden.
Sie ist gewandert.
Der erste Kontakt zwischen einem Benutzer und einer modernen Anwendung findet heute längst nicht mehr im Rechenzentrum statt.
Er findet an einer Stelle statt, die in Architekturdiagrammen häufig überhaupt nicht vorkommt.
Noch bevor Kubernetes einen Pod auswählt.
Noch bevor ein Service entscheidet, welches Backend eine Anfrage verarbeitet.
Noch bevor eine einzige Zeile Anwendungscode ausgeführt wird.
Existiert bereits eine Infrastruktur, deren einzige Aufgabe darin besteht, genau diese Entscheidungen vorzubereiten.
Sie bestimmt, welchen Weg eine Verbindung durch das Internet nimmt.
An welchem Standort sie endet.
Ob sie verschlüsselt wird.
Ob sie legitim ist.
Ob sie überhaupt bis zur eigentlichen Anwendung gelangen darf.
Vielleicht erscheint diese Unterscheidung zunächst subtil.
Tatsächlich verändert sie jedoch unseren gesamten Blick auf moderne Plattformen.
Denn plötzlich beginnt eine Anwendung nicht mehr dort, wo sie ausgeführt wird.
Sie beginnt dort, wo ein Benutzer zum ersten Mal mit ihr interagiert.
Dieser Gedanke wirkt zunächst beinahe selbstverständlich.
Und doch behandeln wir unsere Systeme meist so, als wäre genau das nicht der Fall.
Wir investieren Wochen in die Planung unserer Kubernetes-Architektur .
Wir diskutieren über Storage-Klassen, Deployment-Strategien oder Service Meshes.
Gleichzeitig verschwindet der gesamte Weg bis dorthin häufig hinter einer einzigen Linie mit der Beschriftung Internet.
Vielleicht liegt genau darin das eigentliche Problem.
Das Internet ist keine Wolke.
Es ist keine Verbindung zwischen zwei Kästen in einem Diagramm.
Und schon gar kein transparenter Transportkanal, durch den Requests einfach hindurchfließen.
Es ist vermutlich das größte verteilte System, das jemals gebaut wurde.
Ein System, das Routingentscheidungen trifft.
Das Netzwerke miteinander verbindet.
Das kontinuierlich bewertet, welche Wege erreichbar sind und welche nicht.
Und das jeden einzelnen Request bereits lange beeinflusst, bevor eine Anwendung überhaupt Gelegenheit erhält zu antworten.
Gute Infrastruktur besitzt eine bemerkenswerte Eigenschaft.
Sie verschwindet.
Niemand interessiert sich für DNS, solange sich eine Domain zuverlässig auflösen lässt.
Niemand denkt über Routing nach, solange Webseiten innerhalb weniger Millisekunden laden.
Niemand beschäftigt sich mit TLS, solange im Browser das kleine Schlosssymbol erscheint.
Und kaum jemand fragt sich, welchen Weg eine Anfrage tatsächlich genommen hat, solange die Antwort schnell genug zurückkommt.
Gute Infrastruktur erzeugt keine Aufmerksamkeit.
Sie erzeugt Vertrauen.
Vielleicht fällt es uns gerade deshalb so schwer, über sie nachzudenken.
Wir sehen sie meist erst dann, wenn sie versagt.
Vielleicht ist es deshalb an der Zeit, unsere Architekturdiagramme an einem anderen Punkt beginnen zu lassen.
Nicht hier.text Internet ☁ | Kubernetes | Anwendung
Sondern hier.text
Browser | DNS | Routing | Peering | Anycast | TLS | Edge | Loadbalancing | Kubernetes | Anwendung
Denn moderne Anwendungen beginnen längst nicht mehr im Rechenzentrum.
Vielleicht haben sie dort nie begonnen.
TL;DR Kubernetes hat sich als zentrale Plattform für die Bereitstellung und den Betrieb container …
Die Ära des rein manuellen Eingreifens bei Infrastruktur-Incidents neigt sich dem Ende zu. Während …
Versionsverwaltung als Cloud-Baustein oder als Plattformkern Versionsverwaltung wird oft auf ein …