Kubernetes als Katalysator für Cloud-nativ
Klassische Systeme, die über Jahre aktualisiert und gepflegt werden, sind nicht mehr State of the Art
Infrastructure as Code (IaC) dagegen beschreibt einen Sollzustand und überlässt Automatisierungswerkzeugen die eigentliche Arbeit. Kubernetes hat sich hierbei nicht nur als De-facto-Standard für Microservice-Infrastruktur etabliert, sondern darüber hinaus eine beachtliche Flotte an neuen innovativen Softwarelösungen im Schlepptau. Die Landschaft der eigens gegründeten Cloud Native Computing Foundation (CNCF) umfasst mittlerweile rund 1200 Produkte rund um Kubernetes.
Gestartet aus Unzufriedenheit mit der bestehenden Container-Orchestrierung von Docker-Swarm war nicht abzusehen, dass ein kleines Nebenprojekt einiger Google-Entwickler die Softwarewelt verändern würde. Erst die Veröffentlichung als Open-Source 2014 ermöglichte weltweite Kollaboration und stetes Wachstum. Der Durchbruch gelang dann im wahrsten Sinne des Wortes spielerisch: Niantic, eine Google-Tochter, setzte für ihr Augmented-Reality-Spiel Pokémon Go schon zum Start auf Kubernetes im Maschinenraum. Die Stabilität und enorme Skalierbarkeit setzte neue Maßstäbe.
So bieten nicht nur die großen Hyperscaler AWS, Azure und Google Cloud Infrastruktur und Managed Kubernetes an, auch deutsche Anbieter wie die Open Telekom Cloud oder Ionos haben entsprechende Angebote im Portfolio. Für Anbieter ohne Managed Kubernetes gibt es fertige Automatisierungen, die ähnlich einfach umzusetzen sind.
Ob beim Online-Shopping oder im Einzelhandel, ob beim Streaming oder Nachrichtenportal, in der Produktion oder der Logistik setzen immer mehr Unternehmen auf Anwendungen in Kubernetes. Auch in sicherheitskritischen Branchen wie Banken, Versicherungen, Infrastrukturbetrieben oder auch Behörden ist Kubernetes nicht mehr wegzudenken. Oftmals ist in diesen Bereichen der Betrieb im eigenen Rechenzentrum notwendig. Dafür bieten die Enterprise-Linux-Distributionen auch entsprechende Kubernetes-Lösungen an.
Red Hat stellt mit OpenShift neben Kubernetes einen kompletten Werkzeugkasten zum Lifecycle-Management für Applikationen zur Verfügung. Suse setzt mit Rancher den Fokus neben Workload-Management auch auf das Verwalten von Kubernetes-Clustern über Infrastrukturgrenzen hinweg. Ubuntu bietet mit MicroK8s und den Charmed Operators komplette Applikations-Stacks. SAP hat ihre anfangs intern entwickelte Cluster-Verwaltung Gardener ihrer Open-Source-Strategie folgend unter Apache-Lizenz freigegeben und bietet so einen CNCF-zertifizierten Installer für Kubernetes an. Daneben entstehen auch neue Distributionen, die – den Cloud-nativen Prinzipien folgend – das Betriebssystem weitgehend wegreduzieren und sich wie Kubernetes selbst komplett über ein API steuern lassen.
Die Prinzipien des Cloud-native Computing sind dabei, anders als der Name vermuten lässt, nicht auf die Anwendung in der Cloud beschränkt. Die grundlegenden Eigenschaften Beobachtbarkeit, Elastizität, Skalierbarkeit, Service-of-Services-Systeme und in sich geschlossene Bereitstellungseinheiten lassen sich auch in eigener Infrastruktur umsetzen. Komplexe, aus unterschiedlichen Microservices bestehende Anwendungen können so hochverfügbar, resilient und anpassungsfähig bereitgestellt werden. Auch die Infrastruktur lässt sich diesen Prinzipien folgend widerstandsfähig und anpassbar betreiben. Monitoring, Log- und Policy-Management stellen die notwendigen Informationen bereit, um die Selbstheilungsfähigkeiten von Kubernetes auszunutzen.
Die Abstraktionen und Interaktionen der beteiligten Komponenten bringen zwangsweise erhöhte Komplexität des Gesamtsystems mit sich. Diese Komplexität erfordert freie Standards, definierte Schnittstellen und kollektive Zusammenarbeit. Open Source ermöglicht genau diese Zusammenarbeit. So ist es schon heute möglich, mit OpenStack, Kubernetes, Ceph und weiteren freien Komponenten eine komplett freie private Cloud zu betreiben.