Die von einem Google-Team entwickelte Software Kubernetes erfreut sich bei Software- und Applikationsentwicklern aufgrund der Stabilität und Skalierbarkeit immer grösserer Beliebtheit. Kubernetes kam beispielsweise bei der Entwicklung des Games Pokémon GO zum Einsatz. In einer Umfrage des deutschen IT-Beratungsunternehmens Avenga wurden Kubernetes und Docker von IT-Entscheidungsträgern äusserst positiv beurteilt. Für 54 Prozent der Befragten waren Container-Technologien eine Hoffnung für die Zukunft.
Um das Potenzial der Open-Source-Software bestmöglich auszuschöpfen, ist die Zusammenarbeit mit einem externen Partner, der sich um die Installation von Kubernetes kümmert, empfohlen. Was muss bei der Wahl eines Service-Providers beachtet werden?
Erfahre in diesem Blog mehr über den Hintergrund sowie die Vorteile von Kubernetes und inwiefern ein externer Partner Software- und Applikationsentwickler beim Wechsel auf Kubernetes unterstützen kann.
Kubernetes wird auch als K8s bezeichnet und ist eine 2014 eingeführte Open-Source-Software zur End-zu-End-Automatisierung von Bereitstellungs- und Skalierungsprozessen sowie einem zentralisierten Management der Container-Cluster von Linux. Kubernetes wurde ursprünglich von einem Google-Team kreiert und heute schwören Tech-Grössen wie RedHat und Microsoft auf Kubernetes.
Die K8s-Software basiert auf der dynamischen Zuteilung von Management-Ressourcen zwischen Pods. Dasjenige Cluster, das in einem bestimmten Moment die Funktion des Container-Managements übernimmt, verfügt über Kubelet-Funktionalität, Wizard-Komponenten und Speicherplatz. In den Pods findet die Kapselung von Containern statt, wobei im Vorfeld festgelegte IP-Adressen den externen Zugang der Container garantieren. Ein solches System ist in hohem Masse fehlertolerant, da Kubelet im Falle eines inkorrekten Status die Pods automatisch auf einem zu diesem Zeitpunkt funktionierenden Nod neu startet.
Eine mit K8s betriebene Lösung kann auf einer elastischen Cloud oder einer physischen Server-Infrastruktur bereitgestellt werden. Bei einem Cloud-Service-Provider können Softwareentwickler schnell und unkompliziert Servereinheiten anmieten. Dabei werden dem Kunden virtuelle Server bereitgestellt, die wiederum auf physischen Servern in externen Rechenzentren liegen. Diese Server können ohne feste Vertragslaufzeit gemietet werden und die Abrechnung erfolgt bei den meisten Cloud-Service-Providern nach effektiver Nutzung. Beim Zuger IT-Infrastruktur-Anbieter Xelon beispielsweise bezahlen Kunden dank des Pay-as-you-go-Modells bloss tatsächlich genutzte Ressourcen.
Die Open-Source-Software kommt bevorzugt in Kombination mit dem Docker-Container-Manager zum Einsatz, was dank der Erhöhung der Gesamtperformance (CPU, RAM-Power) eines existierenden Gerätes simple und schnelle horizontale Skalierungen von Linux-Containern und Libcontainern sowie virtuelle Skalierungen ermöglicht.
Kubernetes ist aus der Softwareentwicklung kaum mehr wegzudenken. Der Zyklus von Entwicklung, Test und Betrieb – und sämtlichen möglichen Zwischenschritten – wird durch die automatische Container-Orchestrierung massiv vereinfacht. Kubernetes ermöglicht es, Container einfach von einer Stufe zur anderen zu verschieben und dabei viele Arbeitsschritte zu automatisieren.
Kubernetes sorgt für den notwendigen Abstraktionsgrad, der Probleme der Betriebssystem- und Hardware-Wahl für laufende Applikationen und Sites eliminieren kann. Gleichzeitig eröffnet die Open-Source-Software zahlreiche Möglichkeiten für Übertragungen und Erweiterungen. Die Platzierung von Containern kann an einem beliebigen Ort erfolgen: auf physischen Servern, in öffentlichen, hybriden oder privaten Clouds – ohne API-Referenz, unterstützte Sprachen und andere Betriebssystem-Funktionen. Aufgrund der Abstraktion und der Unabhängigkeit von Hardware können Websites oder Web-Anwendungen ohne grossen Aufwand von der Cloud auf einen physischen Server transferiert werden.
Kubernetes unterstützt die End-zu-End-Optimierung von Software-Einführungen sowie Management-Prozessen und stellt Skripts für eine höhere Fehlertoleranz, horizontale Skalierung und selbstreparierende Systeme bereit. Dank der Möglichkeit, Container auf mehreren Hosts gleichzeitig zu platzieren, können Veränderungen an den Kopien vorgenommen werden, ohne dass sämtliche Arbeitsprozesse unterbrochen werden müssen. Da Kubernetes End-zu-End-Softwarebereitstellung (inklusive Fernmessung und Security-Hardware) anbietet, können Lösungen ohne Verzögerung auf dem Markt eingeführt werden.
Xelon hat Kubernetes aufgrund der hohen Skalierbarkeit in das Portfolio aufgenommen. Kubernetes reduziert die Notwendigkeit von zusätzlicher Hardware bei Skalierungen. Horizontale Skalierungen sind deutlich kosteneffizienter, als sich bei der vertikalen Methode mit Server-Lastspitzen herumzuschlagen. Kubernetes löst nicht nur das Skalierungsproblem, sondern minimiert durch die Aktivierung von Containern auf verschiedenen Rechnern auch die Wahrscheinlichkeit von Ausfallzeiten.
Softwareentwickler auf der Suche nach einer universellen Lösung für die zentralisierte Bereitstellung von Websites und Apps im PaaS-Format mit einem hohen Flexibilitätsgrad in Bezug auf spezifische Komponenten sollten daher Kubernetes in Betracht ziehen.
Kubernetes ist inzwischen äusserst beliebt geworden, wird in der Tech-Szene vielfach in hohen Tönen gelobt und dürfte teilweise bloss aufgrund des aktuellen Hypes um die Software ausgewählt worden sein. Wir legen Softwareentwicklern ans Herz, mehrere Lösungen zu vergleichen, da Kubernetes im Bereich Automatisierung, Bereitstellung und Skalierung von Container-Anwendungen bei weitem nicht die einzige Option auf dem Markt ist. Ein externer IT-Infrastruktur-Spezialist kann bei der Beurteilung, ob Kubernetes im vorliegenden Fall Sinn macht, helfen.
Wer sich dazu entscheidet, künftig auf Kubernetes zu setzen, sollte vor dem Wechsel mit einem Service-Provider ein den Anforderungen an die IT-Infrastruktur passendes Konzept entwickeln. Die Kubernetes-Entwickler haben in Bezug auf die Bereitstellung von Containern in privaten, hybriden oder öffentlichen Clouds alle Eventualitäten bedacht. Dank des hohen Abstraktionsgrades ist es bei Kubernetes nicht notwendig, sich mit dem Innenleben der Software vertraut zu machen. Dennoch handelt es sich nicht um eine pfannenfertige Lösung und Software- oder Applikationsentwickler sind bei einem Wechsel zu Kubernetes auf einen starken Partner angewiesen, der in Zusammenarbeit mit dem Kunden massgeschneiderte Lösungen entwickelt, um das Potenzial der Software komplett auszuschöpfen.
Bekannte Namen Amazon Web Services (AWS), die Google Cloud Platform (GCP) und Azure Container Service bieten auf den ersten Blick attraktive Pakete. Weltweit wird AWS momentan am häufigsten genutzt. Die Angebote der Hyperscaler sind jedoch meistens auf Grossunternehmen ausgerichtet und bieten nur wenig Flexibilität für Adaptionen. Lokale Service-Provider wie Xelon hingegen können stärker auf die Bedürfnisse kleinerer Kunden eingehen. Xelon kann Softwareentwickler mit Managed Services unterstützen, sodass sich das Entwicklungsteam beim Kunden auf sein Kerngeschäft konzentrieren kann: das Entwickeln und Testen von Software.
Auch der Datenschutz sollte bei der Provider-Wahl berücksichtigt werden: Der Grossteil der Hyperscaler hat ihren Hauptsitz in den USA und Kundendaten unterliegen dem US-Datenschutzgesetz. Der Zugriff auf Daten, wie er zum Beispiel mittels des amerikanischen Patriot Acts bei US-Unternehmen ohne richterliche Kontrolle praktiziert wird, ist in der Schweiz nicht erlaubt. Lokale Provider befolgen Schweizer Datenschutzgesetze und können dadurch höchste Datensicherheitsstandards garantieren. Xelons Infrastruktur befindet sich in ISO-zertifizierten Rechenzentren in der Schweiz.
Die Open-Source-Software Kubernetes wird in der Software- und Applikationsentwicklung zur End-zu-End-Automatisierung von Bereitstellungs- und Skalierungsprozessen sowie einem zentralisierten Management der Container-Cluster von Linux genutzt und kommt bevorzugt in Testumgebungen zum Einsatz.
Um das Potenzial von Kubernetes vollständig auszuschöpfen, empfiehlt sich die Zusammenarbeit mit einem lokalen Service-Provider, der gemeinsam mit dem Kunden ein Kubernetes-Konzept erstellt und sich um die Installation kümmert. Der Sitz des Partner-Unternehmens kann in Datenschutzfragen zentral sein und wir raten, einen Service-Provider aus der Schweiz zu wählen.