Frank PientkaDie digitale Welt

Kubernetes – ein Betriebssystem für die Multi-Cloud

Das Angebot an Cloud-Diensten wird immer größer. Dennoch scheuen sich viele Unternehmen, alles auf eine Karte, sprich einen einzigen Anbieter, zu setzen und fahren eine Multi-Cloud-Strategie.

Eine Multi-Cloud-Strategie ist mit einem höheren Aufwand verbunden. Um einen Vendor-Lock-in zu vermeiden und sich einen Wechsel, sowohl von einem Anbieter oder auch zwischen einer Private und einer Public Cloud, offen zu halten, setzten viele Unternehmen auf die bereits etablierten Container-Techniken. Trotz allem sind Container jedoch nur die Basis für eine skalierbare, sichere und flexible Infrastruktur. Um die vielen Fäden nicht zu verlieren, bietet sich eine Management-Lösung zur Container-Orchestrierung in einem Cluster an. Glücklicherweise hat hier Google vorgearbeitet und seine Eigenentwicklung Borg, als Kubernetes (griech. Steuermann), auch als K8 bezeichnet, unter dem Dach der CNCF (Cloud Native Computing Foundation) als Open Source zur Verfügung gestellt. Die kleinste, bereitstellbare Einheit von Kubernetes sind Pods, die wiederum einen oder auch mehrere Container beinhalten können. Was sich einfach anhört, birgt für den kontinuierlichen Betrieb und das Deployment eine größere Herausforderung.

Hier bieten glücklicherweise fast alle Cloud-Anbieter inzwischen gemanagte Kubernetes-Lösungen an, die sich in vorhandene Cloud-Dienste integrieren lassen. Hier sind vor allem die Angebote von Google Kubernetes Engine (GKE), Azure Container Service (AKS) und Amazon Elastic Kubernetes Service (EKS) relevant. Selbst Docker, das mit dem containerbasierten Deployment vor fünf Jahren die gesamte Anwendungsentwicklung revolutioniert hat, ist inzwischen von seiner eigenentwickelten Orchestrierungslösung Swarm auf Kubernetes gewechselt.

Neben dem schnelleren Start ersparen sich Unternehmen auch hier die Folgeaufwände für die Pflege und Basisüberwachung des Kubernetes-Clusters. Einen interessanten Aspekt bietet die gemanagte Kubernetes-Lösung Fargate von Amazon mit ihren verschiedenen Abrechnungsmodellen an. Da diese auch verbrauchsabhängig abgerechnet werden kann, stellt so ein gemangtes Container-Cluster eine Alternative zu dem Serverless Computing-Angebot AWS Lambda dar ohne sich zu sehr an den Hersteller zu binden. Durch die einfachere Portierbarkeit eines Kubernetes-Cluster können sich Unternehmen den optimalen Leistungs- und Preis-Mix von verschiedenen Cloud-Anbietern zusammenstellen.

Wer ein privates und lokales Kubernetes-Cluster zu Entwicklungszwecken betreiben möchte, findet inzwischen einige vielversprechende Werkzeuge. So erleichtert die Rancher Kubernetes Engine (RKE) durch eine einfache API und ein einfaches Dashboard den Aufbau und Betrieb von eigenen Kubernetes-Clustern erheblich. Für die Installation von Anwendungen unterstützt Rancher den etablierten Kubernetes Paket-Manager Helm.

Neben der Provisionierung bietet Rancher eine zentrale Authentifizierung mit der Integration in bestehende Strukturen sowie Überwachung und Benachrichtigung, um einfach mit dynamischen Workloads für verschiedene Provider umgehen zu können. Damit wird es möglich, Cloud Kubernetes Cluster bei verschiedenen Cloud-Anbietern einheitlich selbst zu managen. Die Lösung ist eine interessante Alternative zu den gemanagten Kubernetes-Angeboten der Cloud-Anbieter.

Eine Herausforderung, mangels einheitlicher Standards und Werkzeuge, war bisher das kontinuierliche Deployment von containerbasierten Anwendungen. Bisherige CI/CD-Plattformen konnten zwar für die Entwicklung von Cloud-native Anwendungen verwendet werden, hatten dabei jedoch ihre Schwächen und Grenzen. Insofern ist es zu begrüßen, dass es jetzt zum Beispiel mit Jenkins X eine Erweiterung für das weit verbreitete CI/CD-Produkt Jenkins gibt. Damit wird es auch für Entwickler einfacher, Kubernetes in ihre Entwicklungsschritte zu integrieren und bestehendes Know-how und Skripte wiederzuverwenden.

Inzwischen haben fast 40 Hersteller, darunter das Who’s who der IT, die Konformitätsprüfung für ihre Kubernetes-basierten Produkte durchlaufen, wodurch Kubernetes eine sehr breite Unterstützungsbasis erfährt.

Ähnlich wie bei Linux ist es gut, wenn sich viele Anbieter auf eine gemeinsame Basis einigen, um ihre Kräfte zu bündeln und ihr Spezialwissen gezielt zum Wohle der Nutzer einzubringen. Insofern darf man von Kubernetes sicher auch in der Zukunft noch viel erwarten und es auch ohne falsche Bescheidenheit als das Linux für die Cloud bezeichnen. Damit wird es möglich, Multi-Cloud-Umgebungen zu betreiben und die Abhängigkeiten zum konkreten Anbieter zu minimieren. Das ist ein sonniger Ausblick mit dem Cloud-Steuermann Kubernetes.

 

In unserem Blog finden Sie weitere Beiträge zum Thema:

Warum die Public-Cloud keine Einbahnstraße sein muss

CNCF als Stiftung für die Cloud

Die Plattform-Revolution und die API-Ökonomie

Warum ist Cloud native Serverless Computing?

 

 

Schlagwörter: , ,