Container-Orchestrierung 16.03.2020, 14:07 Uhr

Managed Kubernetes als Cloud Service

Anwendungsentwicklung ist immer noch ein komplexes Feld. Aber die Herangehensweise und die Rahmenbedingungen haben sich massiv verschoben.
(Quelle: gridscale.io)
Auf der Suche nach Möglichkeiten, einfacher und schneller Software zu entwickeln, hat sich die Herangehensweise vom monolithischen Ansatz hin zu Microservices verschoben. Diese bringen mehr Flexibilität in das Development, das Testing und den Rollout neuer Anwendungen oder deren Updates. Damit sie eben diese Flexibilität bewahren können, werden sie in autarke Linux-Umgebungen, also Container, verpackt. Da solche Umgebungen schnell ein hohes Maß an Komplexität erreichen, müssen sie orchestriert werden. Orchestrierung bedeutet Clusterverwaltung, Containerplanung und häufig das Bereitstellen weiterer Hosts. Tools wie Mesos, Swarm und Kubernetes geben Entwicklern die nötigen Werkzeuge an die Hand.
Kubernetes, das ursprünglich von Google entwickelte Open-Source-System, folgt dem Master-Slave-Ansatz. Der Master wird vom Developer administriert. Dieser Steuerung untergeordnet sind die Nodes, auf diesen wiederum befinden sich die Container. Kubernetes ist nicht festgelegt auf eine hauseigene Linux-Entwicklung, sondern ist auf herkömmlichen Distributionen und Windows-Systemen lauffähig. Das öffnet die Lösung für unzählige Umgebungen. Die Anwendung kümmert sich um die automatische Skalierung, den Scheduler und andere Orchestrierungsaufgaben.

Was kommt nach On-Premises?

In den meisten Unternehmen versuchen sich Administratoren und Entwickler anfangs an eigens inhouse aufgesetzten Systemen, um den Umgang mit den Microservices und ihren Containern in überschaubarem Rahmen zu erlernen. Die Umgebung wächst schrittweise und zumeist ziemlich schnell. Doch spätestens mit einem weiteren Scale-Out, einer Vergrößerung, der Infrastruktur, der ersten Störung oder der weiteren Automatisierung über Continuous Delivery and Integration, stellt sich den Verantwortlichen die Frage, ob der On-Premises-Betrieb noch zeitgemäß ist.
Die Angebote von Managed Hosting Providern und Cloud-Dienstleistern rund um Kubernetes umfassen alles - vom reinen Server-Hosting bis zum Rundum-Sorglos-Paket. Jeder Dienstleister bietet seinen Kunden ein vielfältiges Repertoire an Services in verschiedenen Abstufungen an. Um in diesem Überangebot das Passende zu finden, gereicht Administratoren und Developern der vorangegangene Lernprozess zum wertvollen Vorteil. Die dort gesammelten Erfahrungen können verwendet werden, um die genauen Anforderungen und deren Dimension zu benennen. Sich im Dickicht der Hosted Services zurechtzufinden, ist dennoch schwer. Kubernetes wird beim Provider nicht einfach aktiviert, um dann wie von selbst zu laufen.

Reseller-Angebote oder native Managed Services

Eine Möglichkeit ist das Outsourcing an einen Managed Hosting Provider. Einige dieser Dienstleister treten dabei als Reseller auf, etwa für die amerikanischen Hyperscaler Amazon, Microsoft und Google. Manche Anbieter ergänzen ihr Repertoire durch weitere Lösungen, wie etwa die Kubernetes-Container-Plattform OpenShift von Red Hat, und stellen diese dann auf den eigenen oder bei Partnern angemieteten Cloud-Ressourcen zur Verfügung. Das Problem dabei: Solchen breit aufgestellten Providern ist es oft nicht möglich, für jedes Tool tiefes Fachwissen aufzubauen. Das erfordert die Zusammenarbeit mit Partnern und viel Kompetenz auf Kundenseite.
Kubernetes Cluster über die Oberfläche anlegen.
Quelle: gridscale.io
Cloud Native Provider hingegen setzen auf hochautomatisierte Komplettangebote. Die Container-as-a-Service Angebote reichen hier von einfachen Registrierungen bis hin zu potenten Container-Orchestrierungslösungen, die jegliche administrative Notwendigkeit, wie Updates oder Monitoring, vom Kunden fernhalten. Das Leistungsvermögen und die Ressourcen werden dynamisch an den Bedarf angeglichen. Die Herausforderung liegt hier in der richtigen Auswahl der Module wie Load Balancer, Scheduler und persistenter Storage. Zudem bieten sich dem Anwender unzählige Konfigurationsmöglichkeiten. Ohne erweitertes Fachwissen ist es nicht leicht, hier den Überblick zu wahren.
Diese Lücke schließen spezialisierte Anbieter, wie zum Beispiel der Kölner IaaS- und PaaS-Provider gridscale. Eine benutzerfreundliche Oberfläche soll bei der Konfiguration und Steuerung der Cloud Workloads helfen. Zudem ist der Managed Kubernetes Services von gridscale vorkonfiguriert: Die Module, die Kunden am häufigsten wählen, sind voreingestellt. Das erleichtert die Konfiguration der Umgebung und einen schnellen Start erheblich.

Fazit

Das Hauptaugenmerk von Kubernetes liegt auf Verfügbarkeit, Skalierbarkeit und Sicherheit, was sich hauptsächlich in seiner Flexibilität und Zuverlässigkeit niederschlägt. Diese Punkte spielt es besonders als Cloud-Service aus. Angesichts der rasant steigenden Hardware-Anforderungen für Entwicklungsumgebungen und dem zunehmenden Wunsch nach ortsunabhängigem Arbeiten nimmt die Bedeutung von Cloud-Native-Angeboten zu. Wenn also die technischen Anforderungen dem Machbaren enteilen oder wirtschaftlichen Überlegungen zu dem Schluss führen, dass On-Premises-Installationen nicht mehr ohne weiteres zu rechtfertigen sind, ist der Umzug in die Cloud der nächste logische Schritt.
Welches der vielen Angebote dabei das richtige ist hängt von der Unternehmensstruktur, der Kosten-Nutzen-Rechnung sowie den eigenen Kompetenzen und verfügbaren Ressourcen ab. Schlüsselfertige, intuitiv bedienbare und obendrein gemanagte Lösungen nehmen den Entwicklerteams zahlreiche Administrationsaufgaben ab und stellen zugleich wichtige Werkzeuge zur Verfügung.



Das könnte Sie auch interessieren