Container bieten Entwicklern die Möglichkeit, kleinen, fokussierten Code in unabhängige, portable Module zu packen, die nur das enthalten, was zur Ausführung der Anwendungen benötigt wird. Dies macht den Entwicklungsprozess extrem agil und fügt sich nahtlos in die breiteren Technologie-Infrastrukturtrends ein, die Cloud-basierte Anwendungen und IT-Strategie vorantreiben.

Virtuelle Maschinen (VMs) leisten IT-Teams und ihren Organisationen seit vielen Jahren gute Dienste. Sie bieten eine sehr effektive Architektur, die das Betriebssystem und die Anwendungen von der zugrunde liegenden Hardware trennt. Zu ihren vielen Vorteilen gehört, dass sie die Ressourcennutzung optimieren und eine hohe Verfügbarkeit für alle Anwendungen bieten. Doch mittlerweile werden Container zu einer immer beliebteren Alternative zu VMs.

Die Einführung von Containern ist jedoch beileibe nicht einfach. Es kann beispielsweise sehr schwierig sein, das richtige Fachwissen für die Entwicklung, Verwaltung und Bereitstellung von Kubernetes zu finden, da es neue Disziplinen und viel Schulung erfordert, um die in den IT-Teams der Unternehmen benötigten Fähigkeiten aufzubauen.

Herausforderungen durch Container-Technologie

Auch die Definition der richtigen Speicheranforderungen für Kubernetes kann Kopfschmerzen bereiten. Die anfänglich bevorzugten Anwendungen von Kubernetes waren zum Beispiel zustandslose Netzwerkdienste und Prozesse, die nur CPU, Netzwerk und RAM verbrauchen und keinen Storage benötigen.

Leider sind die heutigen Anforderungen eher „zustandsbehaftet“, und die meisten Anwendungen liefern einen Mehrwert, indem sie Daten manipulieren, die tatsächlich irgendwo gespeichert werden müssen. Unterschiede in der Architektur zwischen VMs und Containern bedeuten auch, dass sich das unterstützende Ökosystem um die Anwendung und die Container ändern muss. Überwachung, Protokollierung, Sicherheitswerkzeuge und insbesondere der Datenschutz müssen neu überdacht werden, um das Container-Ökosystem effektiv zu unterstützen.

End-to-End-Schutz und Ausfallsicherheit

Am wichtigsten ist jedoch die Notwendigkeit, sich darauf zu konzentrieren, die Sicherheits- und Widerstandsfähigkeit zu erhöhen, die zuvor für VM-basierte Anwendungen bereitgestellt wurden. Beispielsweise werden Top-Tier-Anwendungen in der Regel mit mehreren Datensicherungs- und Disaster-Recovery-Lösungen geschützt, während Anwendungen auf niedrigeren Ebenen nur selten oder gar nicht mit Backups geschützt werden. Obwohl Kubernetes einige eingeschränkte Funktionen bietet, kann es sein, dass Unternehmen nur begrenzt in der Lage sind, echten End-to-End-Schutz und Ausfallsicherheit zu bieten.

Container unterscheiden sich von ausgereiften virtuellen Umgebungen auch dadurch, dass es weniger Methoden gibt, um sicherzustellen, dass neue Workloads korrekt für den Datenschutz konfiguriert werden. Selbst bei Anwendungen der nächsten Generation, die mit Blick auf interne Verfügbarkeit und Ausfallsicherheit entwickelt wurden, gibt es oft immer noch keine einfache Möglichkeit, sich von Risiken wie menschlichem Versagen oder Cyber-Angriffen wie etwa Ransomware zu erholen. Agilität und eine schnelle, unterbrechungsfreie Wiederherstellung sind jedoch der Schlüssel für die erfolgreiche und sichere Implementierung von Container-basierten Anwendungsumgebungen.

Container benötigen einen anderen Ansatz

Aus betrieblicher Sicht erfordern Container auch andere Werkzeuge, Prozesse, Kenntnisse und Erfahrungen und letztlich auch einen anderen Ansatz. Im Idealfall sollten Belastbarkeit und Datenschutz in bestehende Kubernetes-Workflows integriert werden, um die Auswirkungen auf die tägliche Arbeitslast eines Entwicklers zu minimieren.

Aus betrieblicher Sicht muss noch viel Arbeit geleistet werden, um sicherzustellen, dass Container effektiv arbeiten können, ohne das Ökosystem von vertrauten und ausgereiften Werkzeugen und Prozessen aufzugeben. Die Wiederverwendung vorhandener Lösungen ist eine bessere Alternative, als Zeit und Geld für die Schulung von Teams zur Verwendung eines neuen Werkzeugsatzes zu investieren.

Datensicherung als Code

Die Entscheidung für neue Lösungen von Anbietern älterer Backup- und Disaster-Recovery-Lösungen bringt jedoch nur zusätzliche Zeit, Ressourcen und Hindernisse für die Anwendungsentwicklung und -bereitstellung mit sich. Die Wahl der richtigen Lösung für die Datensicherung macht einen wesentlichen Unterschied in der Agilität eines Unternehmens aus. Die Verwendung einer nativen Lösung kann jedoch dazu beitragen, eine Strategie der „Datensicherung als Code“ voranzutreiben.

Dies bedeutet, dass Prozesse für die Datensicherung und Disaster-Recovery von Anfang an in den Lebenszyklus der Anwendungsentwicklung integriert werden und Anwendungen von Beginn an geschützt sind. Folglich können Organisationen, die diesen Ansatz verwenden, die Ausfallsicherheit ihrer Anwendungen sicherstellen, ohne die Agilität, Geschwindigkeit und Skalierbarkeit von containerisierten Anwendungen zu beeinträchtigen.

Der Blick in die Zukunft

Infrastruktur- und Betriebsteams sollten nach einer Plattform suchen, die die erforderliche Verfügbarkeit und Belastbarkeit bietet, ohne die Geschwindigkeit der Entwicklung von Unternehmensanwendungen und -diensten zu beeinträchtigen. Dies bedeutet, dass sie in der Lage sein müssen, ihre Container zu schützen, wiederherzustellen und zu verschieben, ohne dass die Arbeitslast von DevOps um weitere Schritte, Tools und Richtlinien erweitert werden muss. Container eröffnen eine Welt der agilen Entwicklungsmöglichkeiten und werden es auch in Zukunft bleiben.

Aber die Bereitstellung von Datensicherung, Disaster Recovery und Mobilität für Kubernetes-Anwendungen, ob vor Ort oder in der Cloud, sind wichtige Teile des Puzzles. Unternehmen, die jede Kubernetes-Anwendung und ihre persistenten Daten problemlos schützen, wiederherstellen und verschieben können, sind gut aufgestellt, um die Vorteile von Containern als Teil ihrer umfassenderen Technologiestrategie zu nutzen.

Reinhard Zimmer ist Regional Sales Manager DACH bei Zerto und Spezialist für die Absicherung virtueller Infrastrukturen.

Zerto