Frisch vom Gartner Symposium/ITxpo

Was CIOs über Container, Kubernetes und Microservices wissen sollten

| Autor / Redakteur: Karin Johanna Quack / Ulrike Ostler

Das „Gartner IT Symposium/Xpo 2019“ hat vom 3. bis zum 7. November in Barcelona stattgefunden. Autorin Karin Quack war vor Ort.
Das „Gartner IT Symposium/Xpo 2019“ hat vom 3. bis zum 7. November in Barcelona stattgefunden. Autorin Karin Quack war vor Ort. (Bild: Gartner)

„Kubernetes ist die Antwort – aber wie heißt die Frage?“ – So begrüßte Gartner-Analyst und Vice President Richard Watson das Auditorium des hauseigenen Symposiums. Der Titel seiner Präsentation: „Der CIO-Führer zu Containern, Kubernetes und Microservices“; der Inhalt: alles, was ein Chief Information Officer über das neue IT-Operation-Modell wissen muss; das Fazit: Kubernetes ist nicht alles, hilft aber enorm.

Der typische CIO beschäftigt sich lieber mit strategischen als mit technischen Fragen. Aber er sollte sich mit Entwicklungs- und Betriebsmodellen so gut auskennen, dass er sie einordnen und bewerten kann. Wenn seine Vorstandskollegen mit „profundem Halbwissen“ glänzen, muss er die richtigen Erwiderungen parat haben. Und er sollte wissen, was sein Operations- oder Entwicklungs-Chef meint, wenn er erläutert, wie sich die IT agiler, effizienter und „widerstandsfähiger“ machen ließe.

Ein kurzer historischer Abriss

Das „Container“-Thema wurde zu Beginn des Jahrtausends virulent – als Architektur von „virtuellen Maschinen“. Damit ließen sich gleichzeitig die Hardware konsolidieren und das Software-Management vereinfachen. Nutznießer war vor allem der IT-Bereich selbst, der von rascher Provisionierung, hoher Verfügbarkeit und schneller Wiederherstellung (Stichwort HA/DR) sowie von den deutlich niedrigeren Betriebskosten profitierte. Hauptakteur auf der Anbieterseite war VMware.

Die Virtualisierung des eigenen Betriebssystems gelang um 2010 dem von Oracle übernommenen Hardwarehersteller Sun Microsystems mit „Solaris 10“ und den „Solaris Zones“. Im nicht proprietären Umfeld bot „Virtuozzo“ etwa gleichzeitig eine Container-basierte Virtualisierungslösung für „Linux„ -und „Windows„-Server an.

Die Container im heutigen Sinn tauchten etwa 2013 auf. In diesem Jahr stellte Docker seine quelloffene Container-Plattform vor. Die zweite Welle der Virtualisierung zielte auf die Entwickler; sie versprach ihnen mehr Komfort und Agilität bei der Arbeit sowie eine höhere Skalierbarkeit in ihren Produkten.

Mit der Container-Technik entstanden kleinteilige, horizontal skalierbare Architekturen aus „Microservices“. Vor allem aber ließ sich die Entwicklung eines komplexen Systems auf unterschiedliche Teams aufteilen, ohne dass die Konsistenz verloren ging.

Container-Vorteile für IT-Operations und Entwicklung

„Docker hat die Virtualisierung auch für Nicht-ITler verfügbar gemacht“, so Watson. Plötzlich habe sich das Image einer Software von einer auf eine andere Maschine übertragen lassen – mitsamt den jeweiligen Abhängigkeiten und ohne langwierige Anpassungsarbeiten.

Die Container-Technik brachte also Vorteile für IT & Organisation sowie für die Entwicklung: hier einen effizienten Gebrauch und die gemeinsame Nutzung der Ressoucen sowie die Unterstützung hybrider Systeme, dort Freiheit von Plattformbeschränkungen, mehr Geschwindigkeit und Agilität sowie die Unterstützung einer „collaborative“ Entwicklung. Rein wirtschaftlich betrachtet, ermöglicht es diese Technik, mehr Workload auf weniger Hardware zu packen. „Und das“, konstatierte Watson, „bedeutet am Ende mehr Geld.“

Das Spektrum der Anwendungsmöglichkeiten entfaltet sich in drei Bereichen:

  • Lift und Shift monolithischer Anwendungen: In Containern lassen sich Applikationen „verpacken“ und auf andere Plattformen „verschicken“. Das modernisiert die Anwendungs-Pipeline.
  • Neugestaltung überalteter Anwendungen: Anstatt die Applikationen zu kapseln, können die Entwickler sie aufbrechen und in Form einer Service-orientierten Architektur neu organisieren. Dann lassen sie sich sukzessive durch verteilte, „containerisierte“ Anwendungen ergänzen oder ersetzen.
  • Entwicklung neuer verteilter Anwendungen: Mit Hilfe der Container-Technik können umfassend dimensionierte Anwendungen direkt für die Cloud aufgebaut werden. Es entstehen Microservices mit stabilem Status, aber hoher Dynamik.

Taktgeber des Container-Orchesters

Damit aus Containern eine ablauffähige Anwendung wird, ist eine höhere Instanz notwendig. Sie übernimmt die Orchestrierung (vulgo: die Kombination) und das Scheduling (die zeitliche Abfolge) der Container; sie sorgt dafür, dass jeder von ihnen in dem jeweils optimalen Status arbeitet, überwacht die Service Level Agreements (SLAs) und leitet regelmäßige Updates ein. Darüber hinaus steuert sie die Bereitstellung der Container-Cluster aus dem Server-Pool heraus; umgekehrt managt sie die Platzierung der Container-Verbünde auf den Servern.

Diese Instanz ist das Open-Source-Framework Kubernetes. „Kubernetes spielt Tetris mit den Containern“, scherzte Watson. Ursprünglich von Google entwickelt, ist das Framework jetzt ein Projekt der Cloud Native Computing Foundation (CNCF). Es wird von mehr als 80 Anbietern unterstützt.

Mit Kubernetes lassen sich ohne direkte Hilfe der IT „elastische Service-Flotten aussenden“, wie Watson formulierte. Dabei schirmt das Framework die Services von etwaigen Fehlern in der darunter liegenden Infrastruktur ab. Alles in allem steigert es durch seine Robustheit die Service-Kapazität.

Die Software-Seite der Container-Medaille

Sowohl die Container als auch das Orchestrierungs- und Scheduling-Framework sind reine Infrastruktur. Aber sie haben ein Pendant auf der Software-Seite, und das sind die Microservices, unabhängige Anwendungskomponenten, die sich lose koppeln und zu skalierbaren Anwendungen verbinden lassen.

Container bilden die Technik, die es möglich macht, diese feingranularen Komponenten in einer gemeinsamen Architektur einzufangen. Und Kubernetes übernimmt die Orchestrierung sowie die dynamische Provisionierung der Microservices.

Die drei Stolpersteine

Alle beschriebenen Komponenten sind auch für sich genommen sinnvoll und hilfreich, betont Watson: „Für die Modernisierung von Legacy-Apps braucht man Container und Microservices, aber kein Kubernetes“, führte der Gartner-Analyst als Beispiel an. „Kubernetes ist halt nicht alles.“ Auch wenn es momentan extrem gehypt wird, möchte man hinzufügen.

Wer das ganze Paket will, muss sich ohnehin auf ein paar Herausforderungen gefasst machen: Die größte davon sei die Komplexität, weiß Watson aus Erfahrung seiner Kunden: „Es handelt sich hier schließlich um ein verteiltes System, dass dabei hilft, verteilte Systeme zum Laufen zu bringen.“

Gartner-Analyst und Vice President Richard Watson im Scheinwerferlicht der Veranstaltung.
Gartner-Analyst und Vice President Richard Watson im Scheinwerferlicht der Veranstaltung. (Bild: Karin Quack)

Hinzu kommt der unvermeidbare kulturelle Wandel: „Microservices erfordern DevOps. Sind Sie bereit dafür?“ Idealerweise gebe es im Unternehmen bereits ein DevOps-Team, das die passende Plattformstrategie entwirft und vorantreibt sowie eine agile Software-Entwicklung und ein ebensolches Deployment unterstützt.

Andere Fragen, die überdacht werden müssen, betreffen beispielsweise die neuen Rollen und Skills der Mitarbeiter, wie sie eine solche verteilte Umgebung erfordert. Mangelhaftes Training ist aus Watsons Sicht der dritte Stolperstein, der den Erfolg einer Container- und Microservices-Struktur gefährden kann.

Ein Team namens Platform Ops

Der Analyst schlägt vor, ein eigenes Team für den Aufbau der ver- und geteilten Umgebung zu gründen. Er nennt es „Platform Ops“, und wie der Name schon andeutet, ist es seine Aufgabe, die „Shared Platform“ aufzubauen und zu betreiben.

Ob sich das alles lohnt, muss das Top-Management individuell entscheiden. Auf der Haben-Seite stehen jedenfalls eine höhere Produktivität der Entwickler, mehr operationale Effizienz, eine schnellere CI/CD-Umgebung (kontinuierliche Integration/kontinuierliches Deployment) sowie geringerer Zeitaufwand für den IT-Betrieb.

Dagegen aufzurechnen sind die Kosten für Softwarelizenzen und Nutzung von Dienstleistungen wie Container as a Service (CaaS) oder Platform as a Service (PaaS). Hinzu kommen die Aufrüstung der Hardware und die Verstärkung der Persoanldecke, inklusive Onboarding und Training. Auch Roll-out und Implementierung sind nicht umsonst zu haben.

Empfehlungen von Gartner

Zum Ende seines Vortrags gab der Analyst den Zuhörern noch ein paar Empfehlungen mit auf den Weg. Einige mögen auf den ersten Blick trivial erscheinen; wie wichtig sie sind, merkt man wohl erst, wenn man sie außer Acht lässt:

  • Fangen Sie mit einem kleinen und einfachen Anwendungsfall an. Stellen Sie sicher, dass die Container keine Statusinformationen speichern und nicht veränderbar sind.
  • Fangen Sie frühzeitig mit den Trainings an. Ermutigen Sie Ihre Leute, an Open-Source-Software-Communities teilzunehmen und interne Kompetenzen zu entwickeln, bevor sie irgendeinen Roll-out planen.
  • Integrieren Sie CaaS beziehungsweise PaaS mit CI/CD sowie Securitity-Funktionen und operationalen Werkzeugen. Wo nötig, ergänzen sie die vorhandenen Systeme durch Best-of-Breed-Tools, damit Sie die Business-SLAs einhalten können.
  • Schaffen Sie ein Platform-Ops-Team. E soll mit den Anwendungsentwicklern gemeinsam die Plattform auswählen und den Betrieb entwerfen. Im Fokus steht die kontinuierliche Verbesserung.
  • Betrachten Sie jedes Deployment als taktisch – im Gegensatz zu strategisch. Vergessen Sie nicht, dass sich das Ökosystem für diese Art von Plattform noch in einem frühen Entwicklungsstadium befindet.

* Karin Quack ist freie Journalistin in München.

Was meinen Sie zu diesem Thema?
Platform Ops? Mit einem IBM Cloud Pak, basierend auf Red Hat Open Shift, kann jeder bestehende Ops...  lesen
posted am 25.11.2019 um 16:20 von Unregistriert


Mitdiskutieren
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 46233840 / Strategien)