Quantifizierung und Reaktion auf die spezifischen Herausforderungen der Kubernetes-Sicherung

Die Google Cloud bietet vielleicht den besten Einblick, wie weit verbreitet Kubernetes in Unternehmen werden könnte.
Geschrieben von:
Subbiah Sundaram
Veröffentlicht am:

Zusammenfassung

Nahezu jedes Unternehmen rechnet in den nächsten Jahren mit der Einführung und Übernahme von Kubernetes in seine Produktionsumgebung.

Diese Unternehmen sind sich auch darüber im Klaren, dass die Einführung von Kubernetes in die Produktion voraussetzt, dass es die gleichen Standards wie ihre anderen Produktionsanwendungen erfüllt. Zu diesen Anforderungen gehört, dass sie über eine Möglichkeit verfügen müssen, die containerisierten Anwendungen, die sie in Kubernetes hosten, zu sichern und wiederherzustellen.

Auf der anderen Seite gibt es Gemeinsamkeiten zwischen der Sicherung von containerisierten Anwendungen und VMs. Alle Anwendungen sind virtuell, es gibt APIs zur Durchführung von Backups, und die Backup-Daten bestehen im Kern immer noch aus Einsen und Nullen. Dadurch ist es möglich, Backups von containerisierten Anwendungen und VMs in denselben Backup-Tresoren zu sichern und zu speichern.

Doch die Sicherung von containerisierten Anwendungen in Kubernetes birgt fünf besondere Herausforderungen. Dazu gehören:

  1. Schutz der zeitlichen Daten und des Speichers von containerisierten Anwendungen
  2. Management der unvorhersehbaren Natur von containerisierten Anwendungen
  3. Bewältigung der Dynamik von sich schnell verändernden Kubernetes-Umgebungen
  4. Bereitstellung der gesamten Bandbreite an Backup-Funktionen, die für Kubernetes benötigt werden
  5. Erstellung zuverlässiger Wiederherstellungen aus einer sich ständig verändernden Kubernetes-Produktionsumgebung

Um diese fünf Herausforderungen von Kubernetes-Backups zu bewältigen, muss sich jede Backup-Lösung die spezifischen Kubernetes-Funktionen zunutze machen. Vor allem muss sie die Metadaten nutzen, die mit jeder containerisierten Anwendung verbunden sind. Auf diese Weise kann sie feststellen, ob die containerisierte Anwendung gesichert werden muss und wenn ja, wie sie am besten gesichert werden kann.

Sie muss diese Metadaten-Labels dann für mehrere Zwecke verwenden. Zumindest muss es sie verwenden, um eindeutig zu identifizieren, welches Backup welches ist. Außerdem sollte sie Backups über mehrere Container hinweg koordinieren, damit sie bei Bedarf zuverlässige Wiederherstellungen synchronisieren kann.

Schließlich benötigen Unternehmen eine Backup-Lösung, die auf einer Cloud-nativen Architektur basiert, um sich dynamisch an eine sich ständig verändernde Kubernetes-Umgebung anzupassen. Im Idealfall wird die Backup-Lösung auch als Service bereitgestellt und verwaltet sowohl Backups von containerisierten Anwendungen als auch von VMs.

HYCU geht auf diese spezifischen Herausforderungen von Kubernetes-Backups ein. Es erfüllt die Anforderungen von Unternehmen, die ihre virtualisierten Umgebungen schützen und gleichzeitig ihre neue Kubernetes-Umgebung sichern wollen. Damit sind sie in der Lage, Backups von containerisierten Anwendungen und VMs auf die gleiche Weise und mit minimalen oder gar keinen betrieblichen Unterbrechungen zu verwalten.

Die Zukunft ist Kubernetes

Eine der größten Transformationen in der Geschichte der Computertechnik scheint kurz bevorzustehen. In dieser Iteration konzentrieren sich die Unternehmen weniger auf die genaue Hardware, Software, Netzwerke, Virtualisierung oder Cloud-Technologien, die sie verwenden. Vielmehr können sie containerisierte Anwendungen auf jeder beliebigen Cloud-Plattform in jeder beliebigen Umgebung einsetzen.

Diese Vision steht kurz davor, Realität zu werden.

Mit dem Einsatz von containerisierten Anwendungen, die von Kubernetes verwaltet und auf Cloud-nativen Plattformen gehostet werden, rückt dieses Ideal in greifbare Nähe.

Durch den Einsatz dieser Technologien der nächsten Generation können Unternehmen:

  • Beschleunigen und verkürzen Sie die Anwendungsentwicklung und -bereitstellung
  • Richten Sie die Platzierung von Anwendungen auf Cloud-Plattformen an Ihren Geschäfts-, Kosten-, Leistungs- und Ressourcenanforderungen aus, und Ressourcenbedarf abstimmen
  • Künftige Kosten und Ressourcenanforderungen besser vorhersagen
  • Anwendungen jederzeit auf einer beliebigen Cloud-Plattform hosten
  • Die IT-Infrastruktur je nach Bedarf nach oben oder unten skalieren
  • weniger IT-Ressourcen für die Entwicklung und das Hosting von Anwendungen benötigen
  • Verfügbare IT-Ressourcen effizienter und effektiver nutzen und wiederverwenden

Diese Vorteile veranlassen viele Unternehmen dazu, diese Technologien als die Zukunft der IT zu betrachten. Unter ihnen erwarten Unternehmen insbesondere den Einsatz von Kubernetes, um containerisierte Arbeitslasten und Dienste über mehrere Cloud-Umgebungen hinweg zu koordinieren und zu orchestrieren.

Eine Umfrage der Cloud Native Computing Foundation vom Juni 2020 ergab, dass 78 Prozent ihrer Mitglieder Kubernetes bereits in irgendeiner Form nutzen. Eine weitere Umfrage ergab, dass 64 Prozent der IT-Fachleute in Unternehmen Kubernetes bereits vor Ort eingesetzt haben.

Die Google Cloud bietet vielleicht den besten Einblick, wie weit verbreitet Kubernetes in Unternehmen werden könnte. Google führt bereits alle seine Anwendungen auf Containern innerhalb seiner Cloud aus und startet jede Woche Milliarden von Containern. Das Unternehmen verwendet Kubernetes, um containerisierte Anwendungen in seiner Cloud bereitzustellen, zu verwalten, zu betreiben und zu orchestrieren.

Damit diese Vision Wirklichkeit wird, müssen Unternehmen eine Infrastruktur einrichten, die diese containerisierten Anwendungen und ihre Daten schützt. Als Teil dieser neu entstehenden Infrastruktur benötigen viele Unternehmen eine Backup-Lösung, bevor sie Kubernetes formell einführen. Im Idealfall möchten sie dieselbe Software verwenden, um sowohl ihre bestehende virtuelle Umgebung als auch ihre neue Kubernetes-Umgebung zu sichern.

Gemeinsamkeiten bei Backup-Merkmalen

Container und virtuelle Maschinen (VMs) haben mehrere Eigenschaften gemeinsam, die es Unternehmen ermöglichen, eine einzige Lösung für den Schutz beider zu verwenden.

Drei Merkmale, die hervorstechen, sind:

  • Container und VMs sind beide virtuell. Sowohl Container als auch VMs arbeiten unabhängig von der Plattform, auf der sie gehostet werden. Eine entsprechend konzipierte Backup-Software kann sowohl Container als auch VMs als Objekte behandeln und schützen.
  • APIs verfügbar. Die zugrunde liegenden Kubernetes- und Hypervisor-Plattformen, die Container und VMs hosten, bieten APIs. Die Backup-Software interagiert mit diesen APIs, um Aufgaben wie die Erstellung von Snapshots einzelner Container oder VMs durchzuführen.
  • Daten sind Daten. Ob Unternehmen ihre Daten in Containern oder VMs hosten, Daten sind immer noch Daten. Backup-Software speichert und verwaltet alle Backup-Daten im Wesentlichen auf die gleiche Weise, unabhängig von ihrer Herkunft.

Trotz dieser und anderer Ähnlichkeiten muss Backup-Software Container-Backups und -Wiederherstellungen anders verwalten als VM-Backups.

Die fünf Herausforderungen bei der Sicherung von Kubernetes

Backup-Software muss fünf spezifische Herausforderungen bewältigen, die die Sicherung und Wiederherstellung von Containern in Kubernetes mit sich bringt.

1. Ephemerer Speicher

Die Bereitstellung von containerisierten Anwendungen in Kubernetes unterscheidet sich in einem wesentlichen Punkt von der Bereitstellung von Anwendungen auf VMs. Wenn eine Anwendung oder ihre Hosting-VM heruntergefahren wird, bleiben die Daten der Anwendung und der Speicher der VM erhalten. Auf diese Weise kann die Anwendung innerhalb der VM oder die VM beim nächsten Start auf die ihr zugewiesenen Daten oder den Speicher zugreifen.

Kubernetes geht mit den Daten und Speicherressourcen, die mit containerisierten Anwendungen und ihren Pods verbunden sind, anders um. Sobald eine Anwendung oder ein Pod heruntergefahren wird, holt sich Kubernetes automatisch die zugewiesenen Ressourcen zurück, einschließlich des Speichers. Nach der Rückgewinnung sind die mit der Anwendung oder dem Pod verbundenen Daten praktisch "verloren".

Aus Sicht der Datensicherung stellt dies eine doppelte Herausforderung dar.

Erstens muss die Datensicherungssoftware von der Existenz der containerisierten Anwendung erfahren.

Zweitens existieren containerisierte Anwendungen möglicherweise nur für kurze Zeit. Daher kann man keine täglichen Backups planen und erwarten, dass sie die Daten dieser Anwendungen schützen. Backups müssen während der Zeit erfolgen, in der die containerisierte Anwendung existiert.

2. Unvorhersehbarkeit

Die Flexibilität, die Kubernetes bietet, um Container jederzeit und überall auf fast jeder Cloud zu starten, macht es für Unternehmen noch attraktiver. Allerdings bringt diese Flexibilität auch ein Maß an Unvorhersehbarkeit und Komplexität mit sich, das weit über dem von Umgebungen mit VMs liegt.

Eine Backup-Lösung muss mehrere Aufgaben erfüllen, um diese Umgebung zu sichern. Zunächst muss sie die Herausforderungen bewältigen, die mit containerisierten Anwendungen und deren ephemerem Speicher verbunden sind. Sie muss auch feststellen, ob sie jede containerisierte Anwendung sichern muss, da nicht alle Container Backups benötigen.

Sollte sie die containerisierte Anwendung sichern, muss sie die entsprechende Richtlinie verwenden, um sie zu sichern. Die Richtlinie bestimmt, wie oft die Lösung ein Backup der Anwendung durchführen muss. Ein Backup kann einmalig erfolgen, beispielsweise kurz vor dem Herunterfahren der containerisierten Anwendung. Alternativ können Backups mehrmals während der Lebensdauer der containerisierten Anwendung erfolgen.

3. Skalierbarkeit der Backup-Lösung
Kubernetes ermöglicht das Starten und Herunterfahren von Tausenden, Millionen und vielleicht Milliarden von containerisierten Anwendungen pro Woche oder Monat.

Die Backup-Lösung muss über ausreichende Ressourcen verfügen, um alle containerisierten Anwendungen zu erkennen, die Backup-Aufträge zu planen und zu verwalten. Die Lösung muss auch über ausreichende Ressourcen verfügen, um Backend-Backup-Daten zu verwalten und Wiederherstellungen durchzuführen.

Der Einsatz von Kubernetes in Cloud-Infrastrukturen verschärft die Backup-Herausforderungen noch weiter. Die Anzahl der aktiven containerisierten Anwendungen kann ohne Vorwarnung drastisch ansteigen oder sinken.

Um auf diese Umgebung zu reagieren und sie zu verwalten, muss sich die Backup-Lösung automatisch und kosteneffizient daran anpassen. Wenn containerisierte Anwendungen in Betrieb genommen werden, muss die Backup-Lösung dynamisch skaliert werden. Ebenso muss die Backup-Lösung dynamisch verkleinert werden, wenn Container offline gehen.

4. Umfang der Kubernetes-Backup-Funktionen

Die Wahl einer Backup-Lösung für ein Unternehmen hängt zum Teil von der Reife seiner Kubernetes-Bereitstellung ab. In einer stabilen, ausgereiften Kubernetes-Umgebung schreibt ein Unternehmen oft Skripte, die die Bereitstellung von Kubernetes-Kernkomponenten automatisieren. In diesen Umgebungen kann ein Unternehmen nur seine in der Kubernetes-Umgebung gehosteten containerisierten Anwendungen sichern.

Im Gegensatz dazu kann ein Unternehmen, das Kubernetes erst vor kurzem eingeführt hat, vor anderen Backup-Herausforderungen stehen. Möglicherweise hat es den Aufbau seiner Kubernetes-Umgebung noch nicht abgeschlossen. Oder das Unternehmen stellt sich die Frage, ob seine aktuelle Kubernetes-Infrastruktur diejenige ist, die es in Zukunft haben möchte.

In beiden Fällen hat ein Unternehmen wahrscheinlich noch keine Skripte erstellt, um seinen Kubernetes-Kontrollplatz neu zu erstellen. Infolgedessen benötigt es eine Lösung mit einer größeren Bandbreite an Backup-Funktionen. Die Lösung muss sowohl die Kubernetes-Kontrollebene als auch die containerisierten Anwendungen und Daten sichern.

5. Wiederherstellung

Während die Sicherung von containerisierten Anwendungen eine Herausforderung darstellt, ist die Wiederherstellung von containerisierten Anwendungen eine noch größere Herausforderung. Um eine Wiederherstellung durchzuführen, muss die Backup-Software zunächst jedes Backup mit einer bestimmten Anwendung, einem bestimmten Benutzer oder einer anderen Umgebungskonstante verknüpfen.

Sollte ein Unternehmen eine Wiederherstellung durchführen, muss es über eine Möglichkeit verfügen, das wiederherzustellende Backup zu identifizieren. Die zeitliche Natur von containerisierten Anwendungen in Kubernetes-Umgebungen erfordert zuverlässige Verfahren, um die Wiederherstellung einzuleiten.

Als Teil der Wiederherstellung muss ein Unternehmen auch den Umfang der Wiederherstellung in der Kubernetes-Umgebung bestimmen. Möglicherweise muss die Software nur eine einzige containerisierte Anwendung wiederherstellen. Es kann jedoch sein, dass zwischen mehreren Containern Abhängigkeiten bestehen, was auch häufig der Fall ist. Dies kann die gleichzeitige Wiederherstellung mehrerer Container erforderlich machen.

Das Ausmaß des Datenverlusts hat auch Einfluss darauf, welche Kubernetes-Komponenten die Backup-Software wiederherstellen muss. Sollte ein Kubernetes-Einsatz kompromittiert werden, muss die Backup-Software möglicherweise auch die Kubernetes-Kontrollebene wiederherstellen.

Unternehmen sollten auch die neuen Anforderungen für die Wiederherstellung von containerisierten Anwendungen in anderen Kubernetes-Einsätzen berücksichtigen. Immer mehr Unternehmen nutzen hybride Clouds mit verschiedenen Kubernetes-Versionen, die in jeder Cloud laufen. Bei der Durchführung von Wiederherstellungen möchten sie Anwendungen möglicherweise in einer anderen Cloud wiederherstellen als der, in der sie ursprünglich gesichert wurden.

Die in verschiedenen Clouds verwendeten Kubernetes-Implementierungen weisen viele Ähnlichkeiten auf. Es gibt jedoch auch Unterschiede. Man muss sicherstellen, dass die Backup-Lösung die Kubernetes-Bereitstellung in jeder Cloud unterstützt, in die sie eventuell wiederhergestellt werden muss.

Herausforderungen für Kubernetes-Backups

Um diese fünf Herausforderungen im Zusammenhang mit der Sicherung von Kubernetes-Umgebungen zu meistern, müssen Unternehmen Backups anders verwalten. Diese Änderung der Backup-Verwaltung beginnt damit, wie Unternehmen containerisierte Anwendungen in Kubernetes einsetzen.

Effektiv Container-Labels nutzen
Alle containerisierten Anwendungen können optional Metadaten besitzen, die Labels enthalten. Die Verwendung dieser Labels ist zwingend erforderlich, um diese containerisierten Anwendungen in Kubernetes zu sichern.

Bei jedem Start einer containerisierten Anwendung muss diese beim Kubernetes-Node-Service registriert werden.

Bei der Registrierung finden drei Ereignisse statt.

  • Erst liest der Kubernetes-Node-Service die bereits vorhandenen Metadaten-Labels des Containers.
  • Zweitens fügt Kubernetes den Labels des Containers Schlüsselwertpaare hinzu.
  • Drittens helfen diese Schlüsselwerte bei der Identifizierung, welche Anwendungsressourcen zusammengehören, da sie einander für den Betrieb benötigen können.

Container-Labels effektiv nutzen

Eine Backup-Lösung muss sich diese Funktionen zunutze machen. Sie überwacht die Starts von Kubernetes-Containern und den Inhalt ihrer Metadaten. Während des Starts des Containers prüft sie, ob die Labels des Containers Schlüssel-Wert-Paare enthalten, die von der Backup-Lösung geschützt werden müssen.

Die Backup-Software verwendet die Metadaten jedes Containers, um zu bestimmen, ob, wann und wie sie die containerisierten Anwendungen sichern und wiederherstellen muss. Sie erstellt und weist die entsprechenden Backup-Richtlinien zu, die den Wiederherstellungsanforderungen entsprechen. Die Backups erfolgen dann synchron für alle containerisierten Anwendungen, die in der Produktion aufeinander angewiesen sind. Auf diese Weise werden konsistente Wiederherstellungen gewährleistet.

Um dies zu erreichen, kann die Backup-Lösung einen oder mehrere Backup-Jobs in kube-scheduler planen. Der Backup-Auftrag sichert dann diese containerisierten Anwendungen und die damit verbundenen Anwendungen in den entsprechenden Intervallen. Er kann auch Backups bei bestimmten Ereignissen durchführen, z.B. beim Herunterfahren des Containers.

Backups Konstanten zuweisen

Um eine containerisierte Anwendung erfolgreich wiederherstellen zu können, muss die Backup-Software genau wissen, wann ein Anwendungs-Backup stattfindet. Zu diesem Zweck muss die Backup-Software jedem Backup eine oder mehrere Umgebungskonstanten zuordnen.

Die dem Backup zugewiesenen Umgebungskonstanten können einen Datums- und Zeitstempel sowie bestimmte Node-, Pod- und Container-Identifikatoren enthalten. Containerisierte Anwendungen müssen sich innerhalb eines Pods befinden und Pods müssen mit einem Knoten verbunden sein. Diese Kombination von Variablen ermöglicht eine eindeutige Klassifizierung, wo und wann jedes Anwendungs-Backup stattgefunden hat.

Cloud-native Architektur

Die Skalierung, um die Backup-Anforderungen von Tausenden, Millionen oder Milliarden von containerisierten Anwendungen zu erfüllen, erfordert den Einsatz einer Cloud-nativen Architektur. Auf diese Weise kann eine Backup-Lösung effizient und kostengünstig dynamisch nach oben oder unten skaliert werden, um Anwendungen zu sichern.

HYCU: Eine Cloud-native Lösung für Kubernetes und VM-Backups

Kubernetes schafft einen neuen Standard, an dem Unternehmen Backup-Lösungen messen müssen. Während einige Grundsätze der Durchführung von Backups in virtualisierten Umgebungen auch für den Schutz von containerisierten Anwendungen gelten, gibt es neue Anforderungen an Backup und Wiederherstellung.

In Kubernetes-Umgebungen muss die Backup-Software die folgenden Aufgaben dynamisch ausführen:

  • Erkennung der Erstellung von containerisierten Anwendungen
  • Anwendung der richtigen Backup-Richtlinie auf jede einzelne Anwendung
  • Identifizierung der Abhängigkeiten, die zwischen verschiedenen containerisierten Anwendungen bestehen können
  • Skalierung nach oben oder unten, um potenziell Millionen verschiedener Backup-bezogener Aktivitäten zu bewältigen

HYCU bietet Unternehmen die Möglichkeit, ihre Backup- und Wiederherstellungsanforderungen in einer Kubernetes-Umgebung zu erfüllen.

Aufgebaut auf einer Cloud-nativen Architektur skaliert HYCU automatisch und dynamisch nach oben und unten, um sich ändernden Kubernetes-Backup-Workloads gerecht zu werden.

Durch die Interaktion mit Kubernetes schützt es sowohl die Kubernetes-Kontrollebene als auch containerisierte Anwendungen. Um Anwendungen zu schützen, liest HYCU bereits vorhandene Metadaten-Labels von Anwendungen. HYCU weist dann jeder containerisierten Anwendung auf der Grundlage ihrer Labels programmatisch die entsprechenden Sicherungsrichtlinien zu.

HYCU bietet außerdem Validierungsdienste für die Wiederherstellung von in Kubernetes gehosteten Anwendungen in anderen Clouds. Es unterstützt bereits die Google Kubernetes Engine (GKE) und wird in Kürze auch andere Kubernetes-Cloud-Dienste unterstützen. Die HYCU-Plattform bietet eine einheitliche Benutzeroberfläche zur Verwaltung des Datenschutzes für Google Compute Engine (GCE), Google Cloud Storage und GKE. Unternehmen können den GKE-Anwendungen dieselben Richtlinien zuweisen, die sie bereits für den Schutz von GCE-Instanzen und den darauf laufenden Anwendungen verwenden.

Als Service bereitgestellt, bietet HYCU Unternehmen eine einzige Lösung zum Schutz ihrer containerisierten und virtuellen Anwendungen. Seine Management-Konsole verwaltet sowohl Kubernetes als auch virtuelle Umgebungen. Damit sind Unternehmen in der Lage, Backups zentral zu planen und durchzuführen, Sicherungskopien zu archivieren und zu kopieren, Sicherungsrichtlinien zuzuweisen und Wiederherstellungen durchzuführen.

Mit HYCU können Unternehmen auch weiterhin die sich entwickelnden Backup-Anforderungen ihrer bestehenden virtualisierten Umgebung erfüllen

HYCU versetzt sie gleichzeitig in die Lage, die neuen Backup-Anforderungen von Kubernetes zu erfüllen. Dabei bietet HYCU eine hervorragende Möglichkeit für Unternehmen, auf Kubernetes umzusteigen und dabei die Integrität ihrer Daten in beiden Umgebungen sicherzustellen.
 

Über DCIG

Die Data Center Intelligence Group (DCIG) unterstützt die IT-Branche mit umsetzbaren Analysen. Die Analysten der DCIG liefern fundierte Analysen von Dritten zu verschiedenen Cloud-, Datenschutz- und Datenspeichertechnologien. DCIG entwickelt unabhängig lizenzierte Inhalte in Form von TOP 5-Berichten und Lösungsprofilen.
Weitere Informationen finden Sie unter www.dcig.com.

SVP von Produkt

Subbiah Sundaram ist der SVP, Produkt bei HYCU. Subbiah Sundaram leitet die Bereiche Produktmanagement, Produktmarketing, Allianzen, Vertriebstechnik und Kundenerfolg. Er verfügt über mehr als 20 Jahre Erfahrung in der Bereitstellung von erstklassigen Multi-Cloud-Datenschutz- und On-Premises-Lösungen. Als Absolvent der Kellogg Management School MBA hat Subbiah mit führenden Unternehmen wie EMC, NetApp, Veritas, BMC, CA und DataGravity zusammengearbeitet.

Erleben Sie die Nr. 1 SaaS-Datenschutzplattform

Testen Sie HYCU selbst und werden Sie überzeugt.