Wer sich mit Containerisierung und Containerverwaltung beschäftigt, landet ziemlich sicher erst einmal bei Kubernetes. Denn für die automatisierte Bereitstellung, Orchestrierung und Skalierung von Containern hat sich das von Google entworfene System, das als Open-Source-Lösung inzwischen an die Cloud Native Computing Foundation gespendet wurde, zum Marktstandard und zur mit Abstand am häufigsten eingesetzten Lösung entwickelt.
Bereits 2020 setzten laut „The State of Cloud-native Development“ 5,6 Millionen Entwickler auf Kubernetes als Techniklösung.
Im Folgenden stellen wir sieben beliebte Kubernetes-Alternativen und deren Vorteile sowie Nachteile kurz vor:
Amazon ECS: Verwaltungslösung für Container innerhalb der AWS Cloud
Amazon ECS lässt sich zur Implementierung von Microservices mit nativen, verwalteten AWS-Integrationen verwenden. (Quelle: AWS)
Vorteile
Aufgrund seiner Integration in AWS können Nutzer anderer AWS-Ressourcen diesen Service kostenlos nutzen. Das macht Amazon ECS gerade für kleinere und mittelständische Unternehmen attraktiv. Ebenso die hohe Verfügbarkeit und die große Zahl an mit AWS vertrauten Fachkräften – auch in Form von Managed AWS Services.
Nachteile
Anders als viele andere Lösungen handelt es sich hierbei nicht eine Open-Source-Technologie. Verbesserungswürdig ist zudem die Dokumentation von Amazon ECS. Gerade bei auftretenden Problemen tun sich Administratoren mit anderen Systemen leichter, diese zu beheben. Und der Vorteil der engen Bindung an die AWS Cloud kann natürlich je nach Sichtweise auch als Nachteil im Sinne eines Vendor Lock-in verstanden werden.
Azk: Besonders einfache Kubernetes-Alternative für die Orchestrierung von Entwicklungsumgebungen
Einen speziellen Ansatz mit Fokus auf Developer hat Azk, ein Orchestrierungs-Tool, das lokal zu installieren ist und kommandozeilenbasiert arbeitet. Jedes Projekt beinhaltet eine Konfigurationsdatei, über die die Entwicklungsumgebung definiert wird. Diese steuert auf einfache Weise die Container-Images sowie einige Netzwerk- und Umgebungsvariablen. À propos Container-Images: Die Entwickler halten eine Vielzahl an Standard-Containerabbildern bereit, mit denen sich speziell die Anforderungen von Entwicklern gut realisieren lassen.
Vorteile
Nachteile
Docker Swarm: Sichere Container-Orchestrierung mit enger Anbindung an das Docker-Ökosystem
Docker Swarm ist eine Orchestrierungslösung, die natives Clustering für Docker unterstützt. Dabei handelt es sich um die Docker-eigene Lösung, die ebenfalls quelloffen angeboten wird und der man in vielerlei Hinsicht ansieht, dass sie sich an Kubernetes in Sachen Funktionalität und Lieferumfang orientiert.
Ein Swarm-System besteht stets aus Manager-Nodes, die den Cluster orchestrieren und Worker-Nodes, die die Auftragsabwicklung erledigen. Dabei kann das System pro Swarm Manager bis zu 1.000 Knoten steuern und kommt auf bis zu 30.000 Container pro Swarm-Manager-Instanz. In den meisten Fällen dürfte das auch für größere Organisationen mehr als genug sein.
Vorteile
Nachteile
Gardener: Kubernetes-Alternative mit Garten-Metaphern aus dem Hause SAP
Gardener ist eine Open-Source-Software zur Verwaltung von Kubernetes-Clustern, die auf SAP zurückgeht. Open Souce und SAP müssen sich demnach nicht widersprechen, denn das Walldorfer Softwareunternehmen ist als Cloud-agnostisch bekannt und stellt Kundenunternehmen Lösungen für alle gängigen Cloud-Infrastrukturen und Kombinationen von Hyperscalern bereit.
Gardener ist ein Kubernetes-nativer Server für Erweiterungs-APIs und schließt ein komplett validiertes Erweiterungs-Framework ein, das sich an nahezu jeden programmatischen Cloud- oder Infrastrukturdienst anpassen lässt. Dabei läuft Gardener selbst in dem Kubernetes-Cluster und registriert sich über ein API-Service-Projekt. Die jeweiligen Komponenten sind dabei einfache Kubernetes-Pods. Der wichtigste Unterschied in der Architektur von Kubernetes zu Gardener liegt darin, dass Kubernetes auf jedem Knoten einen Kubelet ausführt, während Gardener ursprünglich einen einzigen Controller-Manager für alles verwendete. Inzwischen hat man sich aber auch hier dem Kubernetes-Prinzip angenähert.
Vorteile
Gardener eignet sich für gängige Cluster von AWS, Azure und Google Cloud über OpenStack bis hin zu vSphere, die alle über eine einheitliche Oberfläche verwaltet werden können. Das erleichtert Unternehmen die Arbeit in einer Multi-Cloud. Natürlich ist Gardener auch kompatibel zu den SAP-Produkten bis hin zu S/4HANA und kommt innerhalb der SAP Cloud-Runtime „Kyma“ zum Einsatz, die in Zukunft in zahlreichen Kundenprojekten zu finden sein wird. Neue Shoot-Cluster lassen sich vergleichsweise einfach mit Hilfe des Dashboards oder durch den Upload einer Shoot-Ressource initiieren.
Nachteile
Nomad: Fokussierung auf Orchestrierung von Containern und virtuellen Maschinen
Vorteile
Nachteile
OpenShift: Kubernetes-Alternative mit optimiertem Sicherheitskonzept und guter Handhabung von Red Hat
OpenShift stammt aus dem Hause Red Hat und nutzt einerseits Komponenten von Kubernetes, ergänzt diese aber um umfangreiche Produktivitäts- und Sicherheitsfunktionen. Eine Art Mash-up also, die es zu einer empfehlenswerten Alternative zu reinen Kubernetes-Lösungen macht. Die Steuerung von OpenShift erfolgt wahlweise per Kommandozeile oder browserbasiert. OpenShift hat übrigens – anders als die Namensähnlichkeit vermuten lässt – nichts mit OpenStack zu tun.
Die Open-Source-Container-Anwendungsplattform lässt sich nur über den hauseigenen Red Hat Enterprise Linux Atomic Host (RHELAH), per Fedora oder CentOS installieren, aber über verschiedene Clouds hinweg ausrollen. OpenShift eignet sich daher sowohl für die Private Cloud mit eigener Infrastruktur als auch für die gängigen Hyperscaler wie Amazon AWS oder Microsoft Azure – sowie natürlich für alle Cloud-Lösungen aus dem Hause IBM – schließlich gehört Red Hat seit drei Jahren zum IBM-Konzern.
Vorteile
Nachteile
Rancher: Vielseitige, gut zu handhabende Alternative für Kubernetes-Cluster
Rancher ist eine besonders vielseitige und mächtige Lösung in Form eines vollständigen Software-Stacks mit kompletter Kubernetes-Distribution. Mit Rancher lassen sich auch komplexe und plattformübergreifende Container-Lösungen umsetzen, die auf einer Vielzahl von Kubernetes-Clustern beruhen. Dabei verwaltet Rancher die Master Hosts und Worker Nodes und unterstützt Unternehmen bei der Applikationsverwaltung.
Unterstützt werden sowohl Cluster on-premises als auch solche in einer beliebigen Cloud. Wobei Rancher seine Stärken vor allem in Multi-Cloud-Infrastrukturen ausspielen kann. Möglich wird in diesem Zusammenhang nicht nur das Umgehen von Insellösungen (Stichwort Vendor Lock-in), sondern Rancher kann auch die Rechteverwaltung (Policy Management) und die Zugriffskontrolle anbieterübergreifend übernehmen.
Vorteile
Trotz der Vielseitigkeit bleibt die Handhabung von Rancher vergleichsweise einfach. Das hat vor allem mit der übersichtlichen Benutzeroberfläche zu tun, die auch in den genannten komplexeren Multi-Cloud-Umgebungen gut funktioniert. Das schließt auch die guten Funktionen zur Rettung und Wiederherstellung sowie bei der Fehlersuche ein. Aufgrund unterschiedlicher Templates lassen sich vielfältige Benutzergruppen mit den unterschiedlichen Hintergründen abholen.
Nachteile
Eine weitere Alternative: Managed Kubernetes
Wir sehen also, dass es eine Reihe von guten Gründen gibt, warum man als Organisation bei der Containerisierung bewusst nicht auf Kubernetes setzt – und zahlreiche Alternativen auf dem Software-Markt existieren. Bedenken sollten Unternehmen allerdings, dass die Wahl der passenden Lösung erfolgskritisch ist und im Nachhinein kaum noch revidiert werden kann.
Deshalb sollten Unternehmen vor Entwicklung der Strategie rund um die Containerisierung einen kompetenten Projektberater ins Boot holen, der teure Fehlentscheidungen verhindern kann. Auch kann es sinnvoll sein, einen Teil der Aufgaben an einen externen Managed Cloud Provider wie plusserver abzugeben.
Mit dessen plusserver Kubernetes Engine (PSKE) erhalten Unternehmen eine in Deutschland bereitgestellte Cloud-Plattform sowie die darauf laufenden Kubernetes Cluster aus einer Hand. Der Provider bietet eine Managed-Kubernetes-Lösung und kümmert sich in diesem Rahmen um die Verfügbarkeit und Aktualität der Plattform. Zudem werden Day-1- und Day-2-Operations durch die PSKE übernommen. Das ermöglicht es der eigenen IT-Abteilung, sich besser auf die Geschäftsprozesse zu konzentrieren.