Der Siegeszug agiler Containerisierung : Vorteile von DevOps, Cloud, Kubernetes und IaC – und eine Mahnung zur modernen Datensicherung
Cloud-native Lösungen und Kubernetes zur Verwaltung von Containern ermöglichen enorm schnelle Entwicklungszyklen und sind gewaltig auf dem Vormarsch. Unser Autorwarnt jedoch davor, in solch hochagilen Umgebungen eine passende Datensicherung zu vernachlässigen.
Von Michael Cade, Collyweston (UK)
Einer Untersuchung von 451 Research zufolge wollen fast drei Viertel weltweit befragter Unternehmen Kubernetes verwenden oder das innerhalb der nächsten zwei Jahre tun. Viele Organisationen, vor allem in Branchen wie dem Finanzsektor, die große Datenmengen produzieren und verbrauchen, haben bereits vor der Corona-Pandemie nach Möglichkeiten gesucht, um die Entwicklungszyklen ihrer Anwendungen und Services zu beschleunigen. 2020 mussten sehr viele Geschäfte das Internet für sich erschließen und digitale Angebote aufbauen oder erweitern, was diesen Bedarf noch vergrößert hat.
Warum Kubernetes ein solches Wachstum auslöst und was das für Unternehmen bedeutet, kann eine Analogie von Haus- und Nutztieren veranschaulichen: Klassisch haben manche IT-Abteilungen die Server und Systeme innerhalb der Infrastruktur ihres Unternehmens quasi als Haustiere betrachtet: Sie geben ihnen Namen, pflegen sie und widmen ihr Arbeitsleben der Aufgabe, sie sozusagen glücklich, gesund und am Leben zu erhalten. Wo die IT-Bestände aufgestockt wurden, entstand aus einer Menagerie von drei oder vier Servern schnell eine Menge von 10–20 physischen Systemen, später oft auch mit diversen virtuellen Maschinen (VMs) versehen und obendrauf die eine oder andere Cloud-Anbindung unterschiedlicher Anbieter. Das gleicht schon eher einer Herde von Rindern als ein paar putzigen Haustieren – die IT-Fachleute kümmern sich zwar auch um diese, aber das Persönliche ging verloren und die Geräte werden nun eher als austauschbare Einheiten betrachtet.
Spinnt man diese Analogie weiter, verwalten moderne IT-Abteilungen mittlerweile ein Gebilde, das vielmehr einem hocheffizienten Betrieb der Agrarindustrie ähnelt, wo Tiere (Server) längst nicht mehr als Individuum betrachtet und täglich begutachtet werden. Teils wurden sie in großen Mengen ausgelagert und der Hege und Pflege bezahlter Dienstleister unterworfen – doch die Verantwortung, falls „Assets“ verloren gehen, gestohlen werden oder ausfallen, liegt weiterhin bei den Eigentümern (bzw. IT-Abteilungen). Tatsächlich spielt es für viele Entscheidungsträger in Unternehmen jedoch keine Rolle mehr, wo sich „ihre“ Server befinden – alles, was noch interessiert, ist die Frage, was die eingesetzte IT-Umgebung ermöglicht. Aus diesem Grund setzt sich die moderne digitale Infrastruktur oft als hybrides Konstrukt aus physischen, virtuellen und Cloud-Komponenten zusammen.
In den letzten Jahren sind Container als Element hinzugekommen. Während sich VMs auf Hardware beziehen, die in mehreren Betriebssysteminstanzen (OS) ausgeführt werden, ermöglichen Container die Ausführung mehrerer Nutzlasten in einer einzigen Instanz. Dadurch sind sie kleiner, agiler und starten schneller als VMs, die auf einem eigenen Betriebssystem laufen müssen und einen größeren Speicherbedarf haben. Während IT-Entscheider weniger auf die Geschwindigkeit und Feeds ihrer Speicherinfrastruktur achten, sind sie doch sehr auf die Leistung ihrer Anwendungen und die Zufriedenheit ihrer Endbenutzer bedacht (egal, ob intern oder extern).
Container beschleunigen DevOps
Hier ist Kubernetes als Plattform von unschätzbarem Wert, da sie es einer IT-Abteilung ermöglicht, Container, die jeweils eine Anwendung ausmachen, zu logischen Einheiten zusammenzufassen. Der Einsatz von Kubernetes bietet IT-Spezialisten die Möglichkeit, die Anwendungsbereitstellung zu beschleunigen und zu skalieren – zuverlässig und bei geringem Risiko.
Außerdem können sie die Anwendungsbereitstellung automatisieren und so die fehlerfreie Umsetzung von Änderungen erhöhen, kontinuierliche Verbesserungen, Auffrischungen und Ersetzungen ermöglichen und gleichzeitig repetitive, manuelle Prozesse abschaffen.
Kubernetes macht IT-Teams agiler und flexibler, um Kapazitäten gegen Nachfrageschwankungen auszugleichen, kontinuierlich Anwendungen auszubauen und mehrere Anwendungen gleichzeitig auf verschiedenen Plattformen laufen zu lassen. Auf diese Weise stärkt Kubernetes die Verbindung zwischen Entwicklungs-, Qualitätssicherungs- und Betriebsabteilungen.
Bei DevOps als der engen Verknüpfung von Entwicklung und IT-Betrieb geht es darum, die Zusammenarbeit dieser Abteilungen zu erleichtern und Silos, also isoliertes Arbeiten, abzuschaffen, um letztlich den Wert des Unternehmens und den Nutzen für seine Kunden zu steigern. Das ist auch die Essenz dessen, was Kubernetes einem Unternehmen als Vorteil bringen will: die Fähigkeit, Anwendungen schneller und in größerem Umfang sowie mit größerer Genauigkeit bereitzustellen.
DevOps fügt sich wunderbar in die Notwendigkeit ein, viele Projekte künftig auf die Cloud zuzuschneiden – daher passt Kubernetes wie die Faust aufs Auge in die Strategie jeder DevOps-fähigen Organisation. Die Vorteile liegen jenseits der Vorstellungskraft vieler Unternehmen, denn wenn DevOps die Automatisierung und Skalierbarkeit nutzt, die Kubernetes bietet, ermöglicht das deutlich schnellere Entwicklungszyklen. Laienhaft ausgedrückt: Unternehmen können Anwendungen viel häufiger aktualisieren und durch Patches auffrischen als zuvor.
Bei Finanzdienstleistungen ist dies zum Beispiel ein entscheidender Vorteil: Als 2020 weltweit Bankfilialen schließen mussten, war die große Mehrheit bereit, ihre Kunden online zu bedienen. Dieser Grad an digitaler Dienstleistung ist zum Teil auf die Veränderung des Marktes durch neue Arten von Banken und Finanzdienstleistern (wie den FinTechs) in den letzten zehn Jahren zurückzuführen, als Unternehmen wie Monzo und Revolut den globalen Konzernen sehr viel Druck auferlegten. Eine Folge dieser Ereignisse ist, dass Banking-Apps und -Dienste nun monatlich aktualisiert und verbessert werden müssen – statt nur ein paar Mal im Jahr.
In Zukunft wird neue Technologie, wie künstliche Intelligenz (KI) und maschinelles Lernen (ML), die Art und Weise, wie Menschen ihre Bankgeschäfte tätigen, evolutionieren und Vorgänge weiter automatisieren, um die Verwaltung des Geldes, das Sparen und Anlegen sowie den Überblick über die eigenen Ausgaben einfacher zu gestalten.
Hier können Cloud-native Plattformen und DevOps ihre Stärken ausspielen, um schnelle und umfassende Innovationen zu realisieren, da Banken im harten Wettbewerb um die besten Apps und personalisierten Dienste stehen.
Automatisierung vereinfacht Abläufe
Wer die Skalierbarkeit bewundert, die Cloud-Umgebungen und Kubernetes bieten, sollte sich auch auf die Wiederholbarkeit und Genauigkeit beziehen, mit der sich neue Container-Umgebungen aufsetzen lassen. Um beim Beispiel der Finanzdienstleistungen zu bleiben: Nach der Covid-19-Krise werden sich die noch existierenden Filialen in ihrem Aufbau wohl völlig verändert haben und fortschrittliche digitale und kontaktlose Systeme installieren.
Die Einführung von Informations-Technologie und den zugehörigen Geräten wird Teil der neuen Norm werden, da die Menschen zwar in die Einkaufsstraßen zurückkehren, aber ein digitales Erlebnis erwarten. Dies wird wahrscheinlich ein gewisses Maß an IT-Auffrischung in vielen Filialen und Geschäften erfordern, um sicherzustellen, dass die Kunden sich darauf verlassen können, an jedem Standort zuverlässig bedient zu werden.
Passende Ansätze – wie „Infrastructure as Code“ (IaC) – werden daher für Unternehmen unerlässlich sein, die ein konsistentes und umfassendes Einkaufserlebnis über physische Standorte hinweg anbieten möchten. IaC bezieht sich auf den Prozess der Verwaltung und Bereitstellung von IT-Infrastruktur durch maschinenlesbare Definitionsdateien statt manueller Konfigurationen, die womöglich menschlichen Fehlern unterworfen sind.
IaC ermöglicht, wiederholbare Aufgaben jedes Mal zuverlässig auf die gleiche Weise auszuführen. Zuvor konnten IT-Fachkräfte eine IT-Umgebung über mehrere Standorte hinweg nur dadurch replizieren, dass sie einen Standort einrichteten und anschließend jeweils möglichst das gleiche Team und den gleichen Ablauf verwendeten. Das war längst nicht immer möglich und wird durch die Vergrößerung der IT-Infrastruktur nun gänzlich unvorstellbar, wenn Dutzende von Bankfilialen in jeder deutschen Großstadt bedient werden sollen – ganz zu schweigen von weltweiten Organisationen. IaC bedeutet letztlich, dass die Konfiguration, die man für den ersten Standort verwendet hat, im Wesentlichen als Softwarecode vorliegt, der sich nutzen lässt, um andernorts exakte Repliken zu erstellen.
Darüber hinaus ist für Unternehmen mit Platform-Ops-Abteilungen das Hochfahren von Nutzlasten nicht länger eine langwierige Aufgabe, weil Mitarbeiter die operativen Dienste für Entwickler in einer Art und Weise bereitstellen, die es
diesen ermöglicht, sich selbst zu bedienen – in Zusammenarbeit mit sogenannten Site-Reliability-Engineers (SRE). Unabhängig davon, ob sich die Nutzlast in der Cloud, vor Ort, virtuell oder in Containern befindet, erhöht IaC dabei die Geschwindigkeit und steigert die Effizienz – und macht den Prozess wiederholbar. Dies beschleunigt nicht nur die Einführung einer neuen digitalen Infrastruktur über mehrere Standorte hinweg, sondern reduziert menschliche Fehler, die zu Systemausfällen und Schwachstellen führen können.
Schwachpunkt Backup
Selbst im Finanzdienstleistungssektor, wie auch in vielen anderen Branchen, untergräbt jedoch häufig eine mangelhafte Datensicherung die Bemühungen um die digitale Transformation: Laut dem Veeam Data Protection Report 2021 [1] sind 58 % der Unternehmensdaten aufgrund von Backup-Ausfällen und -Unvollständigkeiten potenziell ungeschützt.
Kubernetes und Cloud-native Plattformen sind grundlegende Bausteine für die digitale Transformation von Unternehmen, bedienen aber nicht die Anforderungen des Datenmanagements. Herausforderungen für den Datenschutz ergeben sich aus der Verwendung von Code zur Bereitstellung und Versionierung von Anwendungen, da zustandsabhängige Daten aus externen Quellen (etwa Datenbanken oder Endbenutzer) in sie geschrieben werden.
Diese Daten sind nicht im Code enthalten – sie müssen entweder als Teil der Continuous-Integration-/- Delivery-Pipelines (CI/CD) und einer passenden Schnittstelle (API) geschützt werden, die vor jeder Codeänderung ein Backup auslöst. Oder man muss eine Richtlinie definieren, um Backups mit einer Software zu erstellen, die speziell für Kubernetes entwickelt wurde. Unternehmen, die Kubernetes nutzen wollen, aber hierzu (noch) kein eigenes Know-how besitzen, sind gegebenenfalls gut beraten, mit einem Experten für moderne Datensicherung zusammenzuarbeiten, der auf Cloud-native Plattformen und Tools für Kubernetes spezialisiert ist.
Fazit
Da die Popularität von Containern zunimmt und ihr Einfluss auf die Beschaffenheit von IT-Umgebungen wächst, müssen Unternehmen in der Lage sein, Daten sowohl in physischen als auch in virtuellen, Cloud- und Kubernetes-Umgebungen zu schützen und zu sichern.
Entscheider, welche die Vorteile der Agilität, Skalierbarkeit und Automatisierbarkeit von Kubernetes nutzen möchten, dürfen nicht übersehen, dass sie gleichzeitig ihre Strategie zur Datensicherung sowie die eingesetzten Lösungen modernisieren oder anpassen müssen. Schlussendlich ist eine moderne Datensicherung immer das Fundament einer sicheren Digitalisierung.
Literatur
[1] Dave Russell, Jason Buffington, Veeam Data Protection Report 2021, März 2021, kostenlos erhältlich über www.veeam.com/wp-2021-data-protection-trends.html (Registrierung erforderlich)