Warum Container?
Ähnlich wie bei Ransomware ist es nicht eine Frage des Ob, sondern des Wann. Die Nutzung von Containern nimmt in Unternehmen weiter zu. Laut den ersten Daten der "Spring 2021 Hybrid Cloud Study" der Evaluator Group setzen 29 % der Unternehmen Kubernetes bereits heute in einer Produktionsumgebung ein und weitere 40 % testen Kubernetes mit dem Ziel, es in die Produktion zu überführen. Was treibt das Interesse an Containern an?
Container sind eine weitere Art der Virtualisierung, und Docker ist die beliebteste Container-Plattform. Container sind eine spezielle Umgebung, in der Anwendungen einfach bereitgestellt werden können. Container können als leichtgewichtige virtuelle Maschinen (VMs) betrachtet werden. VMs enthalten eine Kopie des Betriebssystems (OS) und Container teilen sich das zugrundeliegende OS, wobei jeder Container nur die erforderlichen Dateien/Bilder und Anwendungsdateien enthält, die die Anwendung zur Ausführung in einem Container benötigt. Viele Container, die auf einer einzigen VM ausgeführt werden, verbrauchen weit weniger Ressourcen als die gleiche Anzahl von VMs, die anderswo ausgeführt werden. Container sind in der Regel so konzipiert, dass sie eine Anwendung wie eine Datenbank, einen API-Server oder einen Load Balancer bedienen. Wenn mehrere Anwendungen miteinander kommunizieren müssen, müssen sie in der Lage sein, separat über das Netzwerk miteinander zu kommunizieren. Dies ermöglicht eine echte Scale-Out-Architektur für Anwendungen und trägt dazu bei, dass sie sowohl widerstandsfähig als auch verfügbar sind.
Brauchen Container ein Backup?
Container können in einer Umgebung laufen, in der der Zustand von Anwendungen aufrechterhalten werden kann oder nicht, was wir zustandsabhängige oder zustandslose Containeranwendungen nennen. Wenn der Zustand des Containers nicht gesichert werden muss, handelt es sich um eine zustandslose Anwendung. Das bedeutet, dass diese Anwendungen, die im Container laufen, keine Daten speichern. Es wird eine Instanz eines Container-Images ausgeführt. Falls der neue Container mit dem Anwendungsimage einfach hochgefahren werden muss, kann dies über die Container-Orchestrierungs-Engine Kubernetes erfolgen.
Kubernetes ist eine Container-Orchestrator-Engine und steuert den Lebenszyklus von Containern.
Dadurch wird die Hochverfügbarkeit in jedem Teil der Container-Infrastruktur gewährleistet. Das bedeutet auch, dass Container nach Bedarf für jede Arbeitslast erstellt und gelöscht werden können. Leider verwechseln viele diese Hochverfügbarkeit mit der Fähigkeit zur Wiederherstellung nach einer Katastrophe. Mit der zunehmenden Anwendungsmodernisierung erkennen die Entwickler, dass die durch Container vereinfachte Microservices-Architektur auch auf zustandsabhängige Anwendungen ausgeweitet werden kann. Dies hilft Unternehmen, den Entwicklungszyklus zu beschleunigen und Anwendungen schneller bereitzustellen.
Bei zustandsbehafteten Anwendungen, die in einem Kubernetes-Cluster ausgeführt werden, müssen die folgenden Fragen/Szenarien berücksichtigt werden:
- Reicht die in Kubernetes integrierte Hochverfügbarkeit aus, um die Daten zustandsabhängiger Anwendungen, die in Containern laufen, wiederherzustellen?
- Kann ich mich von menschlichen Fehlern bei der Bereitstellung einer falschen Konfigurationsdatei erholen, wenn Anwendungen vor einem Upgrade von einer TEST/DEV-Umgebung in die Produktion oder von der Produktion ins Staging verschoben werden müssen?
- Kann ich eine Anwendungskopie für TEST/DEV erstellen, um Probleme zu reproduzieren und zu analysieren, die nicht mit Produktionsdaten ausgeführt werden können?
Wenn Sie sich bei diesen Fragen nicht sicher sind, sollten Sie Ihre Backup- und DR-Strategie überdenken.
Im nächsten Blog dieser Reihe werden wir einen Blick darauf werfen, welche Daten Sie sichern müssen und wie Sie Container mit HYCU sichern können.