Suchen

Container cloud-basiert orchestrieren So klappt es mit Managed Kubernetes aus der Cloud

| Autor / Redakteur: Henrik Hasenkamp* / Elke Witmer-Goßner

Die Entwicklung neuer Anwendungen hat sich in den letzten Jahren grundlegend verändert. Agile und schnell zu implementierende Microservices und Container Lösungen haben von Unternehmen eigens entwickelte, monolithische Software abgelöst.

Beim Einsatz von Container- bzw. Kubernetes-Technologie stoßen gerade kleinere Unternehmen IT-seitig schnell an ihre Grenzen – hier springen Cloud-Dienstleister und Managed Hosting Provider in die Bresche.
Beim Einsatz von Container- bzw. Kubernetes-Technologie stoßen gerade kleinere Unternehmen IT-seitig schnell an ihre Grenzen – hier springen Cloud-Dienstleister und Managed Hosting Provider in die Bresche.
(Bild: © Gorodenkoff Productions OU - adobe.stock.com)

Die Herausforderung der Orchestrierung dieser neuen Technologie ist dadurch in den Vordergrund getreten. Die Open-Source-Technologie Kubernetes hat sich dafür zum De-facto-Standard entwickelt und ist als Managed Service aus der Cloud verfügbar. Doch wie unterscheiden sich die verschiedenen Angebote?

Der Anspruch, Software möglichst schnell und einfach nutzbar zu machen, hat dazu geführt, dass immer mehr Unternehmen auf cloud-basierte Software-Lösungen und Microservices setzen. Die Zahl der Infrastruktur-, Plattform- und Software-as-a-Service-Lösungen (IaaS, PaaS, SaaS) steigt dadurch zusehends. Um die Flexibilität von diesen Microservices, sprich kleine, unabhängig voneinander agierende Dienstprogramme, zu erhalten, werden sie in sogenannten Containern verpackt, die orchestriert werden müssen. Teil der Orchestrierung ist die Verwaltung und Planung der Container-Cluster oder die Bereitstellung neuer Hosts.

Kubernetes zur Container-Steuerung

Zu den Technologien, die dabei helfen, gehört beispielsweise Kubernetes. Das System wurde ursprünglich von Google im Rahmen eines GIFEE-(Google Infrastructure for Everybody Else)-Projekts entwickelt und ist als Open-Source-Technologie frei verfügbar und anpassbar. Der Ablauf innerhalb des Systems erfolgt komplett automatisch. Der Developer gibt Befehle an den Kubernetes-Master weiter, welcher daraufhin selbsttätig die untergeordneten Nodes, also Server, auf welchen sich die Container befinden, orchestriert. Container können außerdem in Pods zusammengefasst werden und bilden so eine Gruppe, die sich auf dem gleichen Node befindet und über localhost miteinander kommunizieren kann.

Der große Vorteil, den der Einsatz von Containern und Kubernetes bietet, ist die automatische und intelligente Aufteilung von in Containern verpackten Services auf den Kubernetes Cluster. So werden die vorhandenen Ressourcen optimal ausgenutzt. Je nach Bedarf und Anfrage des Developers können einzelne und zusätzliche Container gestoppt oder gestartet werden. Außerdem ist das System in der Lage den optimalen Platz für die jeweiligen Container ausfindig zu machen und verschiebt diese auf den Server der noch Kapazitäten und Rechenleistung übrig hat. Sollte es zu einem Server-Ausfall kommen, werden die dort angelegten Container automatisch auf einen laufenden Server verschoben. Das macht komplette System-Ausfälle beinahe unmöglich und garantiert die durchgehende Benutzbarkeit. Zusätzlich können IT-Teams große Anwendungen, die viele Container beinhalten, durch Kubernetes effizienter verwalten.

On-Premises oder cloud-basiert?

In-house aufgesetzte Systeme, um den Umgang mit Microservices, Container und Kubernetes zu erlernen, können für Entwickler zu Beginn ein sinnvoller Einstieg sein. Das Problem: Die Anzahl der Container nimmt in der Praxis meist relativ schnell zu und somit auch die Anforderungen an die Orchestrierung. Trotz der Vielzahl an Tutorials rund um die Nutzung von Kubernetes und einer großen Anzahl an Einträgen auf der Entwickler-Plattform GitHub, ist für den Einsatz ein gewisses Know-how notwendig. Besonders Unternehmen, die nicht über ein großes Entwicklerteam verfügen, stoßen spätestens bei den ersten Störungen an ihre Grenzen.

Cloud-Dienstleister und Managed Hosting Provider setzen genau dort an und bieten eine Reihe verschiedener Angebote, die von reinem Server-Hosting bis zu umfassenden Komplettlösungen reichen können. Die mögliche Vorerfahrung kann dabei helfen die individuellen Bedürfnisse des eigenen Unternehmens zu definieren und das richtige Angebot zu finden. Nichtsdestotrotz ist es schwer die verschiedenen Modelle zu verstehen, ohne eine tiefgehende Recherche betreiben zu müssen.

Die Auswahl des richtigen Angebots

Einige Managed Hosting Provider treten lediglich als Reseller auf, Beispiele dafür sind die Hyperscaler Google, Microsoft und Amazon. Providern wie diesen ist es allerdings nicht möglich, Fachwissen für die einzelnen Tools aufzubauen, da das Angebot zu umfangreich ist und teils durch weitere Lösungen, wie etwa die Kubernetes-Container-Plattform OpenShift von Red Hat, ergänzt wurde. Hierbei sind Unternehmen selbst für die Konfiguration und die Auswahl der Tools verantwortlich, was entweder nach einer Zusammenarbeit mit Partnern oder hohe Kompetenzen im eigenen Unternehmen verlangt.

Durch Container-as-a-Service-Angebote von Cloud-Providern bleibt die Verantwortlichkeit für die Skalierung und Verfügbarkeit der Kubernetes-Infrastruktur bei dem jeweiligen Dienstleister. Dabei werden die Ressourcen und die Leistung agil an den Bedarf des Unternehmens angepasst. Load Balancer, persistenter Speicher sowie Scheduler müssen allerdings richtig ausgewählt werden, was sich ohne IT-Fachwissen als schwierig herausstellen kann.

Kleinere und spezialisierte Provider wie beispielsweise gridscale, stellen selbst für Laien zu händelnde Lösungen bereit. Die Steuerung der Cloud-Workloads wird durch ein hohes Maß an Benutzerfreundlichkeit und die intuitiv bedienbare, grafische Oberfläche erleichtert. Das Managed Kubernetes Angebot des Providers setzt außerdem auf eine Vorauswahl der wichtigsten Module. Die Konfiguration der gesamten Umgebung geht wesentlich einfacher und der Einstieg innerhalb weniger Minuten vonstatten. Administratorische Aufgaben werden den Entwicklerteams abgenommen und vom Cloud-Dienstleister verantwortet. Die eigentliche Anwendungsentwicklung in Containern kann so voll und ganz im Vordergrund stehen.

Welche Variante für das eigene Unternehmen am sinnvollsten und gut umsetzbar ist, hängt von verschiedenen Faktoren ab. Beispielsweise das verfügbare Budget, die Unternehmensstruktur und die vorhandenen Kompetenzen im eigenen Team. Für kleine Entwicklerteams sind Angebote wie Managed Kubernetes allerdings durch ihre Benutzerfreundlichkeit eine ratsame Lösung.

Henrik Hasenkamp, gridscale GmbH.
Henrik Hasenkamp, gridscale GmbH.
(Bild: gridscale)

* Der Autor Henrik Hasenkamp verantwortet als CEO der gridscale GmbH die Strategie und Ausrichtung des europäischen Infrastructure- und Platform-as-a-Service-Anbieters. Bevor er gridscale 2014 mit ins Leben rief, war Hasenkamp im Hosting-Geschäft zu Hause. So sammelte er Erfahrung bei der PlusServer AG, beim IaaS-Provider ProfitBricks, der Vodafone-Geschäftssparte „Cloud & Hosting Germany“ und der Host Europe Group.

(ID:46849205)