Schwerpunkte

Kubernetes als Managed Service

Container-Orchestrierung aus der Cloud

16. Juni 2020, 11:40 Uhr   |  Autor: Henrik Hasenkamp / Redaktion: Sabine Narloch

Container-Orchestrierung aus der Cloud
© Leo Wolfert/123rf

Kubernetes hat sich als Open-Source-Technologie letztlich zum Standard für die Orchestrierung von Microservices und containerisierten Anwendungen sowie das schnelle Deployment cloudnativer Workloads entwickelt. Was kann Kubernetes und was taugen Kubernetes-as-a-Service-Angebote?

Die Paradigmen in der Softwareentwicklung haben sich grundlegend verändert: Zum einen sorgen ausgereifte Infrastruktur-, Plattform- und Software-as-a-Services-Angebote (IaaS, PaaS, SaaS) dafür, dass die benötigte Architektur sowie die entsprechenden Dienste schneller und berechenbarer aus der Cloud heraus zur Verfügung stehen. Von der Abstraktion hochkomplexer IT-Infrastrukturen bis hin zu intelligenten Diensten wie Load Balancing, Datenbanken und anderen hochfrequentierten Anwendungen können Unternehmen alles als Service buchen. Zum anderen werden heute kaum mehr Anwendungen als große monolithische Releases konzipiert, vielmehr verbreiten sich Microservice-orientierte Modelle. Kleinere Softwaremodule stellen API-Endpunkte (Application Programming Interfaces) bereit, um Daten und Metriken für andere Module nutzbar zu machen. Die Software wird dadurch in viele kleine Teile zerlegt, die eigenständig funktionieren und mit anderen Applikationen interagieren können.
 
Alles Notwendige in einem Container
Durch die Entwicklung von Software im Stile von Microservices sinkt zwar die Komplexität insgesamt – mehrere Teams können sich gleichzeitig um verschiedene Module mit weniger Funktionen kümmern und schneller Ergebnisse liefern. Aber: Damit diese einzelnen Module später ausgeführt werden können, müssen sie die entsprechenden Parameter mitliefern – wie benötigte Infrastruktur für die Ausführung und Abhängigkeiten etwa von anderen Services. Umsetzen lässt sich dieses oft als „cloudnative“ bezeichnete Paradigma durch Containerisierung. Ein Container ist dabei eine Standardeinheit von Software, die neben dem Code eben auch die Abhängigkeiten wie Laufzeit, Systemwerkzeuge, Systembibliotheken und Einstellungen gewissermaßen im Paket enthält. So kann die Software unkompliziert bereitgestellt werden. Auf ihrer Virtualisierungsebene nutzen Container kein eigenes Betriebssystem, wie etwa Virtuelle Maschinen dies tun, deshalb sind die Container kleiner und starten schneller.
 
Damit Container zusammenspielen: die Orchestrierung
In der Praxis wächst die Anzahl der Container meist zügig. Um diese zu managen, zu skalieren und zu deployen, ist eine Orchestrierungsplattform bald nicht nur nützlich, sondern notwendig. Mit Kubernetes hat sich in den letzten Jahren eine Technologie durchgesetzt, die einige zentrale Herausforderungen bei der Orchestrierung von Containern löst. Der Markt bietet zahlreiche weitere Plattformen – jede mit Vor- und Nachteilen. Manche bauen sehr nativ auf einer bestimmten Container-Technologie auf, wie beispielsweise Docker Swarm, die vor allem für das Management von Docker-Containern entwickelt wurde, und unterliegen damit Einschränkungen. Andere Tools, wie etwa Nomad des Software-Anbieters HashiCorp, eignen sich eher für kleinere und mittlere Workloads.

Kubernetes unterstützt mehrere Container-Technologien und verdankt seine Beliebtheit dem Open-Source-Ansatz. Ursprünglich von Google entwickelt, übergab der Konzern das Projekt im Jahr 2015 an die Cloud Native Computing Foundation. Seither arbeitet neben namhaften Herstellern eine breite Community an der Weiterentwicklung, an neuen Schnittstellen und Services. Oft ist es der logische Schritt für Entwickler-Teams, sich eine eigene Kubernetes-Installation aufzusetzen. Gerade um erste Erfahrungen mit Container-Orchestrierung zu sammeln, ist das ein praktikabler Weg. Als Open-Source-Software ist Kubernetes für jeden erhältlich, Tutorials sind über zahlreiche Quellen ebenso verfügbar wie die große Zahl an Einträgen auf der Entwickler-Plattform GitHub. Dennoch ist dieser Weg nicht trivial
und erfordert einiges an Know-how. Spätestens wenn Störungen beim Betrieb auftreten, die Speichersysteme horizontal skaliert (Scale-out) oder die Prinzipien von Continuous Integration und Delivery weiter automatisiert werden sollen, wird der Eigenbetrieb zur Herausforderung.

Seite 1 von 2

1. Container-Orchestrierung aus der Cloud
2. Container-as-a-Service

Auf Facebook teilenAuf Twitter teilenAuf Linkedin teilenVia Mail teilen

Verwandte Artikel

Gridscale GmbH