Container-Technologie im Cloud-ZeitalterSo lassen sich „Lock-in-Effekte“ vermeiden
1. März 2019Die Wahl der richtigen Plattform für Unternehmensapplikationen mag auf den ersten Blick nebensächlich erscheinen, hat aber immensen Einfluss auf alle folgenden Entscheidungen im Hinblick auf die Entwicklungsumgebung. Denn fällt die Wahl auf den falschen Cloud-Anbieter, das falsche Betriebssystem oder die falsche Programmiersprache, kann das im Nachhinein bei Mitarbeitern zu Unzufriedenheit und Zähneknirschen führen und durch erhöhten Personalaufwand richtig teuer werden.
Um derartige Pobleme zu vermeiden, geht der Trend in Entwicklungsteams immer mehr zu (Software-)Containern und Microservices. Indem sie Fremdmaterial entfernen und die Größe der „Programm-Images“ auf das erforderliche Maß reduzieren, erleichtern es Container, Software zielgerichtet einzusetzen. Und diese Konzentration auf das Wesentliche steigert die Produktivität von Entwicklern enorm. Eine Umfrage von 451 Research hat das eindrucksvoll belegt: Rund 57 Prozent der befragten Unternehmen nannten die Produktivität der Entwickler als einen entscheidenden Grund für ihren Wechsel zu Containern.
Container sind ideal für den Einsatz von Microservices. Diese zerlegen Anwendungen in kleinere Komponenten, die alle ihre eigene Rolle innerhalb der Applikation einnehmen. Die Aufteilung in kleinere Bausteine macht die Anwendungen deutlich skalierbarer – nach oben oder nach unten. Somit ist die Kombination aus Containern und Microservices vor allem unerlässlich, wenn Unternehmen extrem schnell auf Nachfragespitzen reagieren wollen – um so die Erwartungen der Kunden an Services in Echtzeit zu erfüllen.
Cloud-Strategie mit Containern
Neben diesem Trend im Development verändert sich auch die Rolle der Infrastruktur. Denn um mit dem steigenden Nachfrageniveau auch IT-seitig mitzuhalten, setzen immer mehr Unternehmen auf Hybrid- oder Multi-Cloud-Strategien. Das bestätigen auch Studien: Gartner schätzte, dass bis 2019 rund 70 Prozent aller Unternehmen auf Multi-Cloud-Strategien umsteigen – im Vergleich dazu lag dieser Anteil im Jahr 2016 bei lediglich 10%.
Das Marktforschungsinstitut Forrester Consulting stellte für das vergangene Jahr einen ähnlichen Trend fest, nämlich, dass 2018 bereits rund 60 Prozent der Unternehmen die Public Cloud für Produktionsanwendungen nutzten – wobei als Hauptgründe der Studie zufolge die positiven Auswirkungen auf die Geschäftsleistung und die betriebliche Effizienz genannt wurden. Den schnellen Wandel treiben nicht zuletzt die Entwickler voran, wünschen sie sich doch mehr Flexibilität bei der Ausführung und Bereitstellung von Anwendungen.
Ein weiterer Grund für den Wechsel auf Hybrid- oder Multi-Cloud-Umgebungen ist die Angst vor einem „Lock-in“. Denn auch wenn die Services aus der Public Cloud eine enorme Rechen- oder Speicherverfügbarkeit aufweisen, ist es riskant, alles auf eine Karte zu setzen. Nutzt man beispielsweise einen speziellen Service eines Anbieters umfänglich, muss man sich der negativen Folgen im Klaren sein, die eine Änderung oder gar der Wegfall dieses Angebots mit sich bringen. Ein schneller Umzug des gesamten Datenbestands ist so kaum möglich. Die Folge: Der Kunde ist eingeschlossen.
Container sollen diesen „Lock-in-Effekt“ vermeiden: Reduziert auf die wesentlichen Elemente und unabhängig von der zugrunde liegenden Hardware und Plattform kann ein Container-Image prinzipiell auf jedem Cloud-Service ausgeführt werden. Dies war auch einer der Gründe für das Wachstum von Kubernetes, der Management- und Orchestrierungsplattform für Container auf Open-Source-Basis. Da Kubernetes die Bedienung und Verwaltung nach und nach vereinfacht hat, lassen sich Container heute effizient und skalierbar betreiben. Noch wichtiger ist, dass mehrere Public Clouds Kubernetes unterstützen und auch Managed Kubernetes Services anbieten. Das erleichtert den Umzug, wenn ein Plattformwechsel ansteht.
Der „Lock-in“ droht weiterhin
Allein mit Containern entkommt der Nutzer dem „Lock-in“ allerdings nicht. Denn Container sind in der Regel „stateless“, sie werden nicht zur Speicherung oder Analyse von Daten verwendet. Sind Anwendungen in Betrieb, generieren diese im Laufe der Zeit aber Daten, die gespeichert und verwaltet werden müssen.
Um mit den Anwendungen autonom zu bleiben, müssen Container und Daten gemeinsam betrachtet werden. Denn sind beispielsweise die Container portabel, die Daten aber nicht, läuft die Anwendung nur bei einem Anbieter. Um diese Abhängigkeiten zu vermeiden, ist es daher wichtig, sich genau anzusehen, welche Anforderungen an Datenmanagement, -speicherung und -analyse gestellt werden. Werden die Daten aus der Anwendung analysiert und wenn ja, in welchem zeitlichen Abstand zur Generierung der Daten? Geht es darum, Trends über einen Zeitraum zu betrachten oder muss man zeitnah analytische Entscheidungen treffen? Für die meisten Anwendungen gilt Zweiteres. Gerade für E-Commerce- und Handelsunternehmen müssen Schritte wie Personalisierung oder Produktempfehlungen so zeitnah wie möglich nach einer Kundenaktion erfolgen, um eine Erfolgschance zu haben.
Die Datenanalyse wiederum kann auf verschiedenen Arten der Datenspeicherung basieren. Relationale, NoSQL- und Graph-Datenbanken setzen alle auf unterschiedliche Methoden, um die wichtigen Informationen aus den Datenmassen herauszufiltern, die von Anwendungen generiert werden. Bei all diesen verfügbaren Möglichkeiten lohnt es sich, vorab zu prüfen, ob und wie die unterschiedlichen Datenbanken und -modelle neben containerbasierten Anwendungen integriert werden oder als eigenständige Container fungieren können.
Natürlich bieten Public-Cloud-Dienste spezifische Funktionen für die Datenspeicherung oder -analyse. Werden diese genutzt, begibt man sich für diese Zeit in Abhängigkeit, unabhängig davon, ob Container im Einsatz sind oder nicht. Dieser „Lock-in-Effekt“ ließe sich mit einem Data Layer umgehen, der über mehrere Standorte und Cloud-Anbieter hinweg funktioniert – so wie es Container tun. Ein solcher, von der Cloud unabhängiger Ansatz ermöglicht es Unternehmen, bei Bedarf zwischen den eigenen Rechenzentren und einem Public-Cloud-Anbieter zu wechseln oder verschiedene Public-Cloud-Services gleichzeitig zu nutzen.
Unabhängig mit Containern und der richtigen Datenstrategie
Container bieten eine gute Möglichkeit, skalierbare Anwendungen bereitzustellen, die schneller und effizienter auf die Benutzeranforderungen reagieren können als herkömmliche Infrastrukturen. Sie allein verhindern allerdings noch keinen „Lock-in“. Dafür ist es vielmehr erforderlich, auch die Anforderungen der Anwendung an Datenmanagement, -analyse und Storage-Umgebung zu prüfen.
Denn wirklich autonom ist ein Unternehmen nur mit einer möglichst umfassenden und durchdachten Datenstrategie. Durch vorausschauende Planung können Entwickler beeinflussen, wie gut ihr Unternehmen neue Cloud-Strategien umsetzt, um Datenautonomie zu gewährleisten und „Lock-ins“ zu vermeiden. Ein positiver Nebeneffekt: Die Bedürfnisse der sogenannten „Right Now Economy“ erfüllen sie so gleich mit.
Patrick Callaghan
Hier geht es zu Datastax