Notfallwiederherstellungsplan für DevOps

Ein gut durchdachter Notfallwiederherstellungsplan ist entscheidend, um Risiken zu mindern, sich schnell von Ausfällen zu erholen und die Integrität Ihrer Daten und Infrastruktur sicherzustellen.

Gibt es Mythen im Zusammenhang mit DR in DevOps?

Einige Organisationen nehmen fälschlicherweise an, dass DevOps-Tools wie GitHub, GitLab, Bitbucket, Azure DevOps oder Jira eine integrierte, umfassende Notfallwiederherstellung bieten. Jedoch dürfen wir die Modelle der gemeinsamen Verantwortung nicht vergessen, die explizit klarstellen, dass Anbieter ihre Infrastruktur sichern und ihre Dienste reibungslos betreiben, während Benutzer ihre eigenen Kontodaten schützen müssen. 

Zum Beispiel betrachten wir das Zitat aus den Atlassian-Sicherheitspraktiken:

Für Bitbucket werden Daten in eine andere AWS-Region repliziert, und unabhängige Backups werden täglich innerhalb jeder Region erstellt. Diese Backups werden nicht verwendet, um vom Kunden initiierte zerstörerische Änderungen rückgängig zu machen, wie z.B. Felder, die mit Skripten überschrieben wurden, oder gelöschte Probleme, Projekte oder Websites.Zur Vermeidung von Datenverlust empfehlen wir regelmäßige Backups.“

Solche Ratschläge finden sich in den Modellen der gemeinsamen Verantwortung jedes SaaS-Anbieters wieder. Fehler in diesem Bereich können zu schwerwiegenden Störungen führen, darunter Datenverlust von kritischem Quellcode oder Metadaten, Reputationsschäden und finanzielle Rückschläge.

Herausforderungen, die einzigartig für das DevOps-Ökosystem sind

Bei der Entwicklung Ihres Notfallwiederherstellungsplans für Ihren DevOps-Stack sollten Sie die Herausforderungen berücksichtigen, denen DevOps in dieser Hinsicht gegenüberstehen.

DevOps-Ökosysteme haben komplexe Architekturen, wie vernetzte Pipelines und Umgebungen (z. B. die Integration von GitHub und Jira). Ein einziger Ausfall, sei es aufgrund eines beschädigten Artefakts oder eines Ransomware-Angriffs, kann sich somit durch das gesamte System ausbreiten. 

Zudem führt die schnelle Entwicklung von DevOps zu ständigen Veränderungen, die die Datenkonsistenz und Integritätsprüfungen während des Wiederherstellungsprozesses erschweren können.

Ein weiteres Problem sind Datenaufbewahrungsrichtlinien. SaaS-Tools legen oft begrenzte Aufbewahrungsfristen fest – in der Regel zwischen 30 und 365 Tagen. Wenn Sie beispielsweise Ihr Repository versehentlich löschen, ohne eine Sicherungskopie davon zu haben, können Sie es für immer verlieren. 

Warum ein Desaster-Recovery für DevOps unerlässlich ist

Die Wichtigkeit der Daten ist zwar entscheidend, aber nicht der einzige Grund, warum Organisationen ihre Desaster-Recovery-Mechanismen entwickeln und verbessern sollten. Ein effektiver Desaster-Recovery-Plan kann Organisationen dabei helfen:

  • Risiken zu mindern, da Serviceausfälle, Cyberangriffe und versehentliche Löschungen zu längeren Ausfallzeiten und Datenverlust führen können.

Fakten und Statistiken: Im Jahr 2023 stieg die Anzahl der Vorfälle, die GitHub-Benutzer betrafen, um über 21% im Vergleich zu 2022. Bei GitLab wurden etwa 32% der Ereignisse als Auswirkungen auf die Serviceleistung erkannt und beeinflussten die Kunden. (Statistiken aus dem State of DevOps Threats Report).

  • Übereinstimmung mit den Compliance- und regulatorischen Anforderungen — zum Beispiel fordern ISO 20071, DSGVO oder NIS 2, dass Organisationen über robuste Datenschutz- und Wiederherstellungsmechanismen verfügen. Ein Verstoß kann zu hohen Geldstrafen und rechtlichen Konsequenzen führen.

Hinweis: Im Dezember 2024 trat das EU Cyber Resilience Act in Kraft. Das bedeutet, dass bis Dezember 2027 Organisationen, die digitale Produkte und Dienstleistungen anbieten und in der Europäischen Union tätig sind, ihre Datenschutz- und Vorfallmanagementmaßnahmen an die gesetzlichen Anforderungen anpassen sollten.

  • Reduzieren oder beseitigen Sie die Kosten durch Ausfallzeiten, da jede Minute der Systemunverfügbarkeit Umsatzverluste bedeutet. Die durchschnittlichen Kosten pro Minute Ausfall können über 9.000 US-Dollar liegen, was eine schnelle Wiederherstellung unerlässlich macht.

Best Practices zum Aufbau eines robusten Notfallwiederherstellungsplans

Ist es nicht entscheidend, dass Ihr Notfallwiederherstellungsplan jedes mögliche Katastrophenszenario voraussieht und Ihnen und Ihrem Team alle erforderlichen Schritte zur schnellen Bewältigung eines Ausfalls bietet? Lassen Sie uns die Komponenten des effektiven DRP herausfinden…

Bewerten Sie alle kritischen Komponenten.

Sie sollten die wichtigsten DevOps-Ressourcen identifizieren. Dazu können Quellcode-Repositories, Metadaten, CI/CD-Pipelines, Build-Artefakte, Konfigurationsverwaltungsdateien usw. gehören. Sie müssen wissen, welche Daten im Falle eines Ausfalls priorisiert werden müssen.

Implementieren Sie bewährte Backup-Praktiken

Es ist unmöglich, Daten ohne eine gut organisierte Backup-Strategie wiederherzustellen. Daher ist es wichtig, bewährte Backup-Praktiken zu befolgen, um sicherzustellen, dass Sie Ihre kritischen Daten im Falle eines Ausfalls, einschließlich Serviceausfall, Infrastruktur-Ausfall, Ransomware-Angriff, versehentliches Löschen usw., wiederherstellen können.

Aus diesem Grund sollte Ihre Backup-Lösung es Ihnen ermöglichen:

  • Ihre Backups automatisieren, indem Sie sie mit dem geeignetsten Intervall zwischen den Backup-Kopien planen, damit im Falle eines Ausfalls keine Daten verloren gehen,
  • Eine langfristige oder sogar unbegrenzte Aufbewahrung ermöglichen, die es Ihnen ermöglicht, Daten aus jedem beliebigen Zeitpunkt wiederherzustellen,
  • Die 3-2-1-Backup-Regel anwenden und die Replikation zwischen allen Speicherorten sicherstellen, sodass Sie im Falle eines Ausfalls eines der Backup-Speicherorte Ihr Backup von einem anderen ausführen können,
  • Ransomware-Schutz, der AES-Verschlüsselung mit Ihrem eigenen Verschlüsselungsschlüssel, nicht löschbare Backups, Wiederherstellungs- und DR-Funktionen (Wiederherstellung zu einem bestimmten Zeitpunkt, vollständige und granulare Wiederherstellung, Wiederherstellung an mehrere Ziele wie eine lokale Maschine, das gleiche oder ein neues Konto oder kreuzweise zwischen GitHub, GitLab, Bitbucket und Azure DevOps) umfasst.

Definieren Sie Ihre Wiederherstellungsmetriken

Es ist für eine Organisation wichtig, ihre messbaren Ziele wie RTO oder RPO festzulegen.

  • Die Wiederherstellungszeitvorgabe (RTO) bezieht sich darauf, wie schnell Ihre Unternehmenssysteme nach Eintritt des Disasters wieder betriebsbereit sein sollten. Wenn Ihr Unternehmen beispielsweise seine RTO auf 8 Stunden festlegt, sollte es innerhalb dieser 8 Stunden nach einem Ereignis eines Disasters seinen normalen Arbeitsablauf wieder aufnehmen. In der Regel gilt: Je niedriger die RTO ist, die das Unternehmen festlegt, desto besser ist es auf einen Ausfall vorbereitet. 
  • Der Wiederherstellungspunktziel (RPO) zeigt den akzeptablen Datenverlust, gemessen an der Zeit, die das Unternehmen aushalten kann. Wenn das Unternehmen beispielsweise problemlos ohne drei Stunden Daten auskommen kann, beträgt sein RPO 3 Stunden. Je niedriger Ihr RPO ist, desto häufiger sollten Backups in Ihrer Organisation durchgeführt werden. 

Führen Sie regelmäßig Tests Ihrer Backup- und Wiederherstellungsvorgänge durch

Mit regelmäßigen Testwiederherstellungen können Sie die Integrität Ihrer Backups sicherstellen und beruhigt sein, dass Sie im Falle eines Ausfalls Ihre Daten schnell wiederherstellen können. 

Zudem lohnt es sich, Ausfälle zu simulieren. Dies hilft Ihrer Organisation, die Wirksamkeit ihres DRP angesichts simulierter Ausfälle, Ransomware-Angriffe oder anderer Katastrophen zu bewerten. 

Bilden Sie Ihr Team aus

Panik ist das Schlimmste, wenn es um ein Disaster geht. Daher sollte jedes Mitglied Ihres Teams verstehen, was es in einer solchen Situation tun sollte. Legen Sie Verantwortlichkeiten und Rollen fest, wer Wiederherstellungsvorgänge durchführen und wer über das Disaster kommunizieren sollte. 

Ihr Unternehmen sollte einen sorgfältig ausgearbeiteten Kommunikationsplan für Katastrophen haben, der die Kommunikationsstrategie und die verantwortlichen Personen für die Information von Stakeholdern und anderen möglicherweise betroffenen Parteien sowie Vorlagen für eine solche Kommunikation festlegt.

Fallstudien von DRP in DevOps

Schauen wir uns Fallstudien an, wie ein DRP helfen kann, die verheerenden Folgen von Katastrophen zu vermeiden:

Serviceausfälle

Ein großes digitales Unternehmen verlässt sich vollständig auf GitHub (es könnte auch ein anderer Dienstleister wie GitLab, Atlassian oder Azure DevOps sein). Plötzlich stellt das Unternehmen fest, dass der Dienstleister einen Ausfall hat… dennoch muss das Unternehmen seine Operationen so schnell wie möglich fortsetzen – nicht zu vergessen, dass die durchschnittlichen Kosten für Ausfallzeiten 9.000 US-Dollar pro Minute betragen.

Mit einem umfassenden DRP stellt die Organisation ihre Daten aus der neuesten Sicherungskopie unter Verwendung der Punkt-in-Zeit-Wiederherstellung auf GitLab (oder Bitbucket oder Azure DevOps) wieder her. Somit kann die Organisation ihren Betrieb schnell wieder aufnehmen, Datenverlust vermeiden und die Ausfallzeiten minimieren.

Tipp: In einer solchen Situation sollte Ihre Backup-Lösung es Ihnen auch ermöglichen, Ihre Daten auf Ihrer lokalen Maschine wiederherzustellen, um die Geschäftskontinuität so schnell wie möglich wiederherzustellen.

Menschliches Versagen vs. Infrastrukturausfall

Ein Entwickler schiebt die falschen Daten und überschreibt versehentlich wichtige Dateien. Die gesamte Situation legt den Arbeitsablauf des Unternehmens lahm und führt zu Ausfallzeiten.

Hoffentlich sieht das DRP des Unternehmens eine solche Situation vor, indem es der 3-2-1-Backup-Regel folgt. So führt das IT-Team des Unternehmens das Backup von einem anderen Speicherort aus, um die Geschäftskontinuität sicherzustellen.

Ransomware-Angriff

Ein mittelgroßes Softwareunternehmen sieht sich einem Lösegeldsoftware-Angriff gegenüber, der seine primären Git-Repositorys verschlüsselt. Nachdem ein effizienter DRP mit automatisierten Backups und Lösegeldsoftware-sicheren Funktionen wie unveränderlichen Backups implementiert wurde, gelingt es dem Unternehmen, seine Daten von dem Zeitpunkt wiederherzustellen, als die Daten noch nicht beschädigt waren.

Das Ergebnis? Das Unternehmen stellt seine Betriebsabläufe innerhalb weniger Stunden wieder her, um eine Lösegeldforderung in Millionenhöhe zu vermeiden und die Ausfallzeiten zu minimieren.

Wichtige Erkenntnisse

Ein Notfallwiederherstellungsplan ist heutzutage eine strategische Notwendigkeit für Organisationen. Über den Schutz von Daten hinaus hilft er Organisationen dabei, die Einhaltung von Vorschriften sicherzustellen, das Vertrauen der Kunden aufzubauen und finanzielle Risiken zu reduzieren.

Die Backup-Strategie sollte eine umfassende Grundlage für jeden DRP bilden, selbst für den anspruchsvollsten. Daher sollten Sie in der Lage sein,:

  • Backup-Richtlinien festzulegen, um Backup-Prozesse innerhalb der anspruchsvollsten RTOs und RPOs zu automatisieren,
  • Daten an mehreren Standorten zu speichern, um die 3-2-1-Backup-Regel zu erfüllen,
  • Sichere Lösegeldsoftware-Schutzmechanismen zu haben,
  • Backup-Performance über datengesteuerte Dashboards, Slack-/E-Mail-Benachrichtigungen, SLA-, Compliance-Berichte usw. zu überwachen,
  • Testwiederherstellungen durchzuführen,
  • Daten im Falle eines Ausfalls wiederherzustellen, da die Lösung alle DR-Szenarien vorsieht und robuste Wiederherstellungsmöglichkeiten bietet, einschließlich vollständiger Datenwiederherstellung, granularer Wiederherstellung, Punkt-für-Punkt-Wiederherstellung, Wiederherstellung in dasselbe oder ein neues Konto, Wiederherstellung in Ihre lokale Instanz und
  • Sicherstellung der Einhaltung von Vorschriften und Cyber-Resilienz.

Source:
https://dzone.com/articles/disaster-recovery-plan-for-devops