Welche IT-Container-Plattform ist im Hinblick auf Cloud-native Strategien die richtige Lösung?

München, Starnberg, 25. Mai 2020 - Neben Containern sind nach Red Hat die Service-basierte Architektur, DevOps-Prozesse und eine API-basierte Kommunikation essentiell…

Zum Hintergrund: Damit Unternehmen weiterhin erfolgreich am Markt agieren können, müssen sie zwei kritische Punkte berücksichtigen: erstens ihre vorhandenen Ressourcen durch Innovationen nutzen und andererseits mit Hilfe neuer Technologien in Märkte investieren, in denen ihre vorhandene Fähigkeiten direkte Wettbewerbsvorteile gegenüber den Mitbewerbern bieten. Der Erfolg von Unternehmen hängt somit auch davon ab, wie sie neue Applikationen konzipieren, erstellen und nutzen. Dabei setzt die IT verstärkt auf Entwicklungs-Tools wie Container, um Cloud-native Anwendungen zu schaffen, die konsistent in einer Cloud-Infrastruktur betrieben werden können. Doch welche Container-Plattform ist für ein Unternehmen dafür am besten geeignet? Frau Erica Langhi, EMEA Senior Solutions Architect bei Red Hat (1), gibt nachfolgend für Sie Tipps zur Auswahl einer Container-Plattform und zur Container-Orchestrierung:

Zum Beitrag: "Die effiziente Umsetzung einer Cloud-nativen Entwicklungsstrategie kann Unternehmen einen erheblichen Wettbewerbsvorteil bringen. Sie erhöht die Geschwindigkeit der Anwendungsentwicklung und steigert die Flexibilität bei der anforderungsspezifischen Anpassung von Applikationen, ohne dass größere Änderungen an der Infrastruktur erforderlich werden. Container sind eine wesentliche Komponente einer solchen Cloud-nativen Strategie. Damit ein Unternehmen das prinzipiell vorhandene Potenzial von Containern voll ausschöpfen kann, muss es die für seine Zwecke optimale Container-Plattform nutzen.

Auswahl des Betriebssystems

Die erste Entscheidung für den Betrieb von Containern betrifft die Wahl des Betriebssystems. Sie ist im Vergleich zu „traditionellen“ Umgebungen von großer Bedeutung. Container können zwar auch auf anderen Betriebssystemen laufen, aber Linux sollte die bevorzugte Wahl sein.

  • Dafür gibt es gute Gründe: Die Container selbst nutzen einige wichtige Linux-Funktionen wie Control Groups, Namespaces oder SELinux, um die enthaltenen Anwendungen auszuführen. Darüber hinaus wurde Kubernetes unter Verwendung von Linux-Konzepten entwickelt. Und die Orchestrierungslösung verwendet auch Linux-Tooling und APIs zur Verwaltung von Containern. Damit ist Linux das prädestinierte Betriebssystem für eine Container-Plattform.

Container-Orchestrierung

In der Diskussion rund um die Orchestrierung von Containern wird oft übersehen, was Kubernetes wirklich leistet. Kubernetes wird vielfach nur als eine Anwendung definiert, die Container ausführt. Eine nähere Betrachtung zeigt aber, dass Kubernetes ein Bundle von APIs und Dienstprogrammen für die Orchestrierung und das Ressourcenmanagement bereitstellt. Doch auch damit ist noch nicht alles vorhanden, was Anwender für eine Container-Plattform benötigen. Sie erfordert darüber hinaus folgende Komponenten:

  • Container-Registry, Netzwerk, Storage, Protokollierung und Überwachung. Auch ein zugrunde liegendes Betriebssystem und eine Möglichkeit für die Integration von Continuous Integration (CI) und Continuous Delivery (CD) muss vorhanden sein.

  • Abhängig von den konkreten Anforderungen kann ein Unternehmen ein eigenes Orchestrierungswerkzeug entwickeln oder ein kommerzielles Framework nutzen. Letzteres kann viel Zeit und Ressourcen einsparen, die ansonsten für die Entwicklung und Wartung anfallen. Außerdem bietet ein kommerzielles Framework eine höhere Sicherheit, da komplexe Aufgaben wie Installation und Konfiguration optimiert sind. Nicht zuletzt stellt es Unternehmen auch Funktionen bereit, die sofort nutzbar sind. Zu den besonders nützlichen „Out of the Box“-Funktionen gehört die Cloud-Agnostik, die einen identischen Betrieb von Container-Plattformen bei verschiedenen Cloud-Anbietern ermöglicht.

Die 4 C's der Containerplattformen

Jedes Unternehmen hat spezifische Anforderungen. Folglich gibt es auch nicht die ideale Container-Plattform für alle. Eine Möglichkeit für die Auswahl der jeweils besten Option bietet die Überprüfung der englischen „4 Cs“: Code, Customer, Cloud und Comprehensive.

  • Das erste C betrifft den Code: ein Unternehmen sollte überprüfen, in welcher Art und in welchem Umfang ein Container-Anbieter zur Code-Entwicklung beiträgt.
  • Beim zweiten C geht es darum, ob es bereits Kunden gibt, die die Plattform nutzen.
  • Das dritte C bezieht sich auf die Cloud und die Frage, bei welchem Cloud-Provider die Plattform überhaupt eingesetzt werden kann.
  • Und schließlich sollte ein Unternehmen das vierte C unter die Lupe nehmen, also ob die Plattform umfassend ist und ein vollständiges Portfolio von Produkten und Lösungen bietet, das den Anforderungen von Entwicklern und Administratoren gleichermaßen gerecht wird.

Service-basierte Architektur, DevOps-Prozesse und API-basierte Kommunikation

Im Hinblick auf Cloud-native Strategien darf nicht vergessen werden, dass Container zwar eine wichtige Rolle spielen, aber nur ein entscheidendes Element sind. Drei weitere Komponenten sind von essenzieller Bedeutung: Service-basierte Architektur, DevOps-Prozesse und API-basierte Kommunikation.

  • Eine Service-basierte Architektur ermöglicht den Aufbau modularer, lose gekoppelter Dienste, die leicht aktualisiert, ersetzt und getestet werden können. Durch die DevOps-Automatisierung arbeiten Entwicklung und Betrieb mit kollaborativen und vereinheitlichten Prozessen und Praktiken. Und mittels der API-basierten Kommunikation werden Prozesse über klar definierte Schnittstellen über das Netzwerk miteinander verbunden.

  • Die Art und Weise der Nutzung und Sicherung einer dieser Komponenten hat direkte Auswirkungen auf die Funktionsweise der anderen Elemente einer Cloud-nativen Strategie. Folglich darf keine getrennte Betrachtung dieser Komponenten erfolgen. Es muss stattdessen immer ein ganzheitlicher Ansatz gewählt werden, der Container, Service-basierte Architektur, DevOps-Prozesse und API-basierte Kommunikation gleichermaßen berücksichtigt und vor allem auch ihr Zusammenwirken fokussiert.


Abb. 1: Red Hat OpenShift Container Platform,, Manage hybrid cloud and multi cloud deployments (Bildquelle: Red Hat).


Cloud-native Zukunft

Sind die Grundvoraussetzungen für die erfolgreiche Einführung einer Container-Plattform geklärt, stellt sich noch die Frage nach der Zukunftssicherheit der Cloud-nativen Strategie. Dabei ist festzuhalten, dass eine solche Strategie immer als Prozess verstanden werden muss, der eine konstante Iteration und permanente Veränderung beinhaltet. Jede Cloud-native Strategie muss aktuelle und auch zukünftige Entwicklungen berücksichtigen und auf neue Herausforderungen vorbereitet sein. Wenn ein Unternehmen ein offenes Auge für neue Tools und Technologien hat, kann es nicht nur sicherstellen, dass es die bestmögliche Container-Plattform verwendet, sondern auch, dass die gesamte Cloud-native Strategie immer up to date ist und damit zukunftssicher bleibt.“

Das Foto zeigt Erica Langhi, EMEA Senior Solutions Architect (Bildquelle: Red Hat).


Querverweise: