Aus Kubernetes wird Container as a Service

De-facto-Standard Kubernetes

«Technisch gesehen sind Container eine logische Weiter­entwicklung diverser Innovationen im Linux-Kernel wie Cgroups oder Namespaces über das letzte Jahrzehnt. Dazu kommt die Etablierung von Kubernetes (vgl. Kasten S. 16) und einem ganzen Ökosystem von Projekten», sagt Björn Brundert, Principal Solution Engineer Application Platforms beim Cloud- und Virtualisierungs-Spezialisten VMware. Bei Kubernetes handelt es sich um ein ursprünglich von Google entwickeltes und inzwischen als Open Source zur Verfügung stehendes Tool zur Automatisierung der Bereitstellung, Skalierung und Ver­waltung von Container-Anwendungen. Kubernetes hat sich mittlerweile als Standard für die Verwaltung von Containern etabliert.
Während Kubernetes und Containerisierung grosse Vorteile mit sich bringen können, braucht deren Realisierung, wie es bei jeder neuen Technologie der Fall ist, jedoch ihre Zeit. Der technische Reifegrad, das Ökosystem an Tools und nicht zuletzt auch das vorhandene Wissen, zum Beispiel bei den Entwicklern, sind hier nur einige Faktoren. Kubernetes ist zwar eine komplexe Software, die es Nutzern einfacher macht, verteilte Systeme zu bauen – «aber nicht jede Anwendung eignet sich hierfür beziehungsweise die Verwendung kommt erst in einem neueren Release von Kubernetes infrage», schränkt Brundert ein. Mit zentralen Updates alle drei Monate schaffe Kubernetes jedoch zunehmend neue Möglichkeiten und decke neue Anwendungsfälle ab.
Auch laut Kleff von NetApp hat sich Kubernetes als Quasi-Standard im Bereich der Container erfolgreich durchgesetzt: «Die Lösung ist komplex, bietet aber auch einen sehr grossen Mehrwert und eine hohe Entwicklungs­geschwindigkeit. Da viele Alternativen nicht mithalten konnten, wurden sie bereits von Kubernetes verdrängt.»
Dabei ist Kubernetes allerdings kein Allheilmittel und schon gar keine Eier legende Wollmilchsau: Zwar nimmt Kubernetes den DevOps-Teams die meiste Arbeit ab, wenn es um Orchestrierung und Management geht, aber einen kompletten Überblick erhält man erst durch ein vernünftiges Monitoring. Hierfür eignen sich etwa die Tools Prome­theus und Grafana. Letztlich erfordert ein erfolgreiches Container-Management aber ein ganzes Potpourri unterschied­licher Werkzeuge, zum Beispiel für den sicheren Zugriff auf Datenbanken oder andere Unternehmensservices.

Rising Star Kubernetes

Früher war vor allem das Container-Verwaltungs-Tool Docker beliebt. Auch wenn dessen Bedeutung schwindet, so ist es in den Unternehmen doch weiterhin vertreten: «Gerade beim Evaluieren neuer Software und solange es sich nicht um eine reine Microsoft-Umgebung handelt, gehört Docker für Entwickler zum Standard», berichtet Frank Haumann. Er ist Partner beim Cloud-Dienstleister Red Reply. Vermehrt sehe er Docker in produktiven Umgebungen und bei Kunden, die versierter im Umgang mit der CI/CD-Pipeline (Continuous Integration and Continuous Delivery) sind. Doch je grösser die Installationen seien, desto häufiger treffe man auf das Container-Management-Framework Kubernetes, «das sich verstärkt zum Standard entwickelt und ältere Frameworks wie Cloud Foundry, Apache Mesos oder Docker Swarm ablöst». Haumann unterstreicht: «Ohne Kubernetes sind Lösungen mit mehreren Hundert Containern nicht mehr wirtschaftlich und sicher zu betreiben.» Kubernetes bringe aber auch eine Komplexität mit sich, die Operations-Teams vor Herausforderungen stelle. Aus diesem Grund wanderten viele Kubernetes-Installationen als Managed Kubernetes in Private oder Public Clouds.
Entwicklung
Von Unix über Linux zu Kubernetes
Wie so oft in der Technikgeschichte starten viele Revolutionen weitgehend un­beachtet von der Öffentlichkeit. Das traf anfangs auch auf Linux zu. Dabei war der Begriff «Open Source» vor 30 Jahren offiziell noch kein Thema. Und was nichts kostet, kann ja auch nichts sein, so das Credo der damals von grossen Namen wie DEC, IBM und Sun Microsystems dominierten IT-Welt. Zwar gab es auch dort längst Unix, aber der IT-Alltag war von proprietären Betriebssystemen gekennzeichnet, die ordentliche Umsätze in die Kassen der Anbieter spülten.
Das änderte sich jedoch schnell. Denn 1991 veröffentlichte der erst 21-jährige finnische Informatikstudent Linus Torvalds das unter der GNU General Public License (GPL) lizenzierte Open-Source-Betriebssystem Linux. Es wurde im Rahmen eines Lernprojekts entwickelt und wuchs zu einem vollständigen Betriebssystem heran, das von Anfang an frei zugänglich war. Die erste Version umfasste im Grunde nur einen GPL-lizenzierten Kernel, während ein umfassendes Betriebssystem (Kernel, Funktionsbibliotheken, Systemdienste, Tools und Anwendungsprogramme) bis heute als Linux-Distribution gilt.
Eine grosse internationale Entwicklergemeinde aus Firmen, Organisationen und Einzelpersonen entwickelte das Gesamtsystem stetig weiter. Neben dessen Kernel stehen die meisten Komponenten und Anwendungsprogramme einer Linux-Distribution ebenfalls unter GPL oder einer weiteren Open-Source-Lizenz. Wie macOS X, Solaris und die BSD-Systeme gehört auch Linux zur Familie der Unix- und Unix-ähnlichen Betriebssysteme. Bis heute gilt Linux als schnell und sehr sicher, da Schadsoftware fast vollständig fehlt. Durch den freien Quellcode lässt sich Linux auf andere Plattformen portieren und an den jeweiligen Einsatzzweck anpassen. Somit ist Linux hochgradig skalierbar, sodass es auf praktisch allen Arten von Computersystemen läuft. Das Spektrum reicht von Android-Smartphones und anderen Mobilgeräten über PCs und Server bis hin zu Superrechnern.
Im Laufe der letzten zwei Jahrzehnte haben sich verschiedene Linux-Distribu­tionen entwickelt. Darunter gelten das PC-Betriebssystem Ubuntu sowie Red Hat Enterprise Linux (RHEL) und Suse Linux Enterprise Server (SLES) als die bekanntesten Distributionen. Sowohl RHEL als auch SLES werden in der Unternehmens-IT auf Servern und Workstations eingesetzt, wobei RHEL ohne Einschränkungen und SLES als Testversion erhältlich ist. Sowohl Red Hat (USA) als auch Suse (D) finanzieren die Entwicklung ihrer Linux-Distributionen über kostenpflichtige Updates, Support-Verträge, Schulungen etc. Red Hat gilt als weltweit marktführende Linux-Distribution im Enterprise-Umfeld.
Kubernetes ist ebenfalls eine Open-Source-Plattform, die den Betrieb von Linux-Containern automatisiert. Dabei werden viele manuelle Prozesse zur Bereitstellung und Skalierung von containerisierten Anwendungen eliminiert. Damit kann man Gruppen von Hosts, auf denen Linux-Container laufen, in Clustern zusam­men­fassen und mit Kubernetes auf einfache und effiziente Weise verwalten. Die-se Cluster können Hosts in Public, Private oder Hybrid Clouds haben. Aus diesem Grund ist Kubernetes die ideale Plattform für das Hosting Cloud-nativer Anwendungen, die eine schnelle Skalierung benötigen. (Rüdiger Sellin)


Das könnte Sie auch interessieren