Um die Bedeutung von Kubernetes für Unternehmen zu verstehen, ist ein Blick auf grundlegende Koordinaten für Geschäftsmodelle im Zeitalter der Digitalisierung hilfreich. „Why Software is eating the world“ lautet die pointierte Überschrift eines bereits 2011 erschienenen Beitrags von Marc Andreessen und ist vermutlich eines der am häufigsten zitierten Motive zur Beschreibung der digitalen Transformation.
Es steht außer Zweifel: Der Umbau der Unternehmen zu digitalen Playern ist Software-getrieben. Ob Online-Shopping, moderne Mobilitätskonzepte oder vernetzte Produktion: Software ist der Motor für kontinuierliche Innovationen.
Kubernetes ist zentraler Bestandteil der Software-getriebenen Transformation
Die Art, wie Software entwickelt, betrieben und gemanagt wird hat sich grundlegend verändert. Dabei geht es nicht nur um einzelne Maßnahmen zur Einführung agiler Softwareentwicklung, sondern um die Verbindung verschiedener Technologien und Methoden, die ein Unternehmen befähigen, eine hohe Dynamik und Flexibilität über den gesamten Software Lifecycle zu realisieren. Kubernetes spielt in diesem Setting eine zentrale Rolle.
Microservices und Container: Die Modularisierung von Software bringt die notwendige Agilität für Innovationen
Ein wichtiger Baustein für den Innovationschub sind Microservice-Architekturen als fester Bestandteil für digitale Workloads. Hierfür wird Software von Anfang an modular entwickelt oder existierende Software-Monolithen werden in kleinere voneinander unabhängige Einheiten zerlegt, die wesentlich flexibler gekoppelt und schneller ausgeliefert werden können.
Container sind das Mittel der Wahl für den Betrieb einer Microservice-basierten Architektur. Sie enthalten die Software und dazugehörige Dateien, Konfigurationen oder Bibliotheken. Alle Abhängigkeiten, die zum erfolgreichen Betrieb notwendig sind, werden innerhalb des Containers abgebildet. Dadurch werden Anwendungen unabhängiger von ihrer Systemumgebung.
Quelle: Crisp Research AG, 2019
Komplexität verlangt Steuerung: Kubernetes wird Standard für das Container-Management
Die Modularisierung von Software ist Voraussetzung für Flexibilität und Geschwindigkeit, führt aber schnell zu einer erheblichen Komplexität. Eine enorme Anzahl von Containern muss über unterschiedliche Umgebungen hinweg orchestriert und gemanagt werden. Hier kommt Kubernetes ins Spiel.
Kubernetes ist ein von Google als Open-Source-Software entwickeltes System für die Bereitstellung, Verwaltung und Überwachung einer Container-Umgebung, das sich mittlerweile als Standard etabliert hat. Es übernimmt die Steuerung von Ressourcen, gewährleistet die Verfügbarkeit der Anwendungen und hilft die Potenziale von Containern voll auszuschöpfen.
Aus technischer Sicht ist Kubernetes damit ein unentbehrliches Instrument für das Management einer Container-Umgebung. Aber wie sieht es mit dem Business-Nutzen aus?
Der geschäftliche Vorteil von Kubernetes entsteht im Wesentlichen aus der Fähigkeit, die Bereitstellung neuer Funktionen zu beschleunigen, die Stabilität der Infrastruktur zu optimieren und manuelle Arbeiten beim Aufbau und Betrieb von Container-Umgebungen zu automatisieren.
Die wichtigsten Vorteile von Kubernetes für Unternehmen:
- Beschleunigte Time-to Market
Kubernetes und Container ermöglichen homogene Entwicklungs-, Test- und Live-Umgebungen und helfen dabei, das Deployment zu automatisieren. Daraus resultieren enorme Vorteile für den Komfort und die Geschwindigkeit bei der Bereitstellung neuer Releases. - Multi-Cloud-Fähigkeit und Portabilität
Kubernetes und Container sorgen dafür, dass Anwendungen weitgehend unabhängig von der Umgebung funktionieren. So können Applikationen auf verschiedene Cloud-Plattformen verschoben werden, ohne dass ihre Funktionalität beeinträchtigt wird. Auch Multi-Cloud-Konzepte lassen sich so realisieren. - Bessere Stabilität und Verfügbarkeit
Kubernetes sorgt für einen höheren Grad an Automatisierung und damit für eine größere Robustheit sowie weniger Aufwand beim Incident-Management und bei der Fehlersuche. Außerdem bietet Kubernetes integrierte Self-Healing-Funktionen. - Optimierte Kosten und reduzierter Aufwand
Kubernetes ermöglicht eine optimale Packungsdichte unterschiedlicher container-basierter Applikationen und sorgt so für eine effizientere Auslastung und Nutzung von Ressourcen. Das reduziert die Infrastrukturkosten. Darüber hinaus können Infrastrukturkomponenten und Stacks wiederverwendet werden mit dem Effekt, dass sich die personellen Aufwände deutlich reduzieren.
Quelle: Crisp Research AG, 2018
Die Einführung von Kubernetes sollte gut geplant sein
Es liegt auf der Hand, dass Container und Kubernetes für Unternehmen enorme Vorteile versprechen. Ist Kubernetes damit eine Allzweckwaffe, die man für alle Szenarien bedenkenlos einsetzen sollte? Um den konkreten Nutzen für ein Unternehmen zu bewerten, empfiehlt es sich, im Vorfeld die konkreten Rahmenbedingungen zu klären.
Sind die Applikationen bereit für eine Modernisierung?
Der Einsatz von Containern und Kubernetes eignet sich in besonderem Maße für alle Cloud-nativen Applikationen, die von Anfang an auf Basis einer Microservice-Architektur entwickelt wurden. In vielen Unternehmen weist die IT-Landschaft aber zahlreiche bestehende Anwendungen auf. Hier gilt es die Komponenten der Applikation auf ihre Container-Readiness und Portierbarkeit zu überprüfen. In der Praxis müssen fast immer Anpassungen an den Anwendungen stattfinden, um ein Container-Szenario wirklich abbilden zu können. Nicht immer ist eine Modernisierung sinnvoll.
Wie lassen sich Managed Services integrieren?
Auch in einer containerbasierten Architektur muss die Bereitstellung von Managed Services berücksichtigt werden, um einen reibungslosen Betrieb zu gewährleisten. Hierzu zählen traditionelle Dienste wie Monitoring, Logging oder Backup, die im Kubernetes-Kontext neu durchdacht und reimplementiert werden müssen. Aber auch Services im Kontext von Container-Plattformen, die weiterführende Anforderungen abdecken wie beispielsweise das Bereitstellten einer Container Registry.
Ist das Unternehmen der Komplexität und Innovationsgeschwindigkeit gewachsen?
Die vielleicht gravierendste Herausforderung liegt in der enormen Komplexität von Kubernetes. Das Kubernetes-Ökosystem umfasst hunderte Technologien und Tools. Auch die extreme Innovationsgeschwindigkeit erschwert standardisierte Ansätze und macht es schwer, den Überblick zu behalten. Daher arbeiten viele Unternehmen bei der Umsetzung ihrer Kubernetes-Strategie mit Partnern zusammen, die schon konkrete Erfahrungen mit der Konzeption und Umsetzung einer containerbasierten Umgebung auf Basis von Kubernetes gesammelt haben.
Fazit: Wenn die Rahmenbedingungen stimmen und die Kompetenz zur Umsetzung vorhanden ist, trägt Kubernetes dazu bei, Applikationen in hoher Qualität und mit optimaler Customer Experience zu liefern. Der Business Nutzen ergibt sich dabei insbesondere aus der Fähigkeit, Prozesse zu automatisieren und im Zusammenspiel mit Microservices und Containertechnologie die Agilität und Reaktionsfähigkeit von Unternehmen zu erhöhen. Kubernetes kann insofern ein wichtiger Baustein moderner Applikationen und einer langfristig angelegten Digitalstrategie sein.
In diesem Sinne ist die Einschätzung von Urs Hölzle, Senior Vice President for Technical Infrastructure bei Google, bei der Vorstellung der neuen Plattform für Multicloud-Umgebungen „Anthos“ zu verstehen, bei der Kubernetes zu den Basistechnologien gehört: "I can’t really stress how big a change that is in the industry, because this is really the stack for the next 20 years."
Detaillierte Informationen zum Thema Kubernetes erhalten Sie im Whitepaper Kubernetes im Unternehmen – Einsatzmöglichkeiten und Herausforderungen im IT-Betrieb
Whitepaper anfordern