Die wichtigsten Erkenntnisse
- Terraform verwaltet den gewünschten Zustand – es richtet die Infrastruktur anhand von Code ein und konfiguriert sie.
- Cloud Rewind erfasst den tatsächlichen Status der Bereitstellung – dies hilft dabei, Umgebungen auf einen bekanntermaßen fehlerfreien Zeitpunkt zurückzusetzen.
- Terraform-State-Dateien und der Git-Verlauf sind keine Wiederherstellungswerkzeuge; sie geben nicht wieder, was tatsächlich ausgeführt wurde.
- Cloud Rewind hilft bei der Wiederherstellung der Infrastruktur, unabhängig davon, ob Änderungen über IaC, die Konsole oder manuell vorgenommen wurden.
- Gemeinsam bieten Terraform und „Cloud Rewind“ Teams eine umfassende Strategie für den Betrieb der „Cloud“: Schnell entwickeln, noch schneller wiederherstellen.
Wenn Ihr Team Terraform einsetzt, wissen Sie bereits, wie leistungsfähig IaC sein kann. Sie definieren, was Sie wollen, wenden es an, und Ihre Cloud-Umgebung entsteht. Das Änderungsmanagement wird wiederholbar. Die Bereitstellung wird vorhersehbar. Es besteht jedoch ein Unterschied zwischen der Bereitstellung von Infrastruktur und deren Wiederherstellung – und dieser Unterschied kommt besonders dann zum Tragen, wenn um 2 Uhr morgens etwas schiefgeht.
Terraform und „Cloud“ (Cloud Rewind) decken verschiedene Phasen des Lebenszyklus von „Cloud“ ab. Wenn Sie den Unterschied verstehen, können Sie eine gefährliche Annahme vermeiden: nämlich, dass Ihre IaC-Tools gleichzeitig als Wiederherstellungsplan dienen.
Wie sich Terraform und „Cloud“ Rewind unterscheiden
Terraform ist ein Provisioning-Tool. Es definiert und verwaltet den gewünschten Zustand. Wenn Sie eine Terraform-Änderung rückgängig machen, wenden Sie eine frühere gewünschte Konfiguration erneut an – Sie stellen jedoch nicht die tatsächlich bereitgestellte Umgebung wieder her, die vor dem Vorfall lief. Diese Unterscheidung ist wichtig. Der Terraform-State ist kein historischer Wiederherstellungs-Snapshot.
Cloud Rewind erfasst den tatsächlichen Konfigurationszustand der Cloud und speichert Momentaufnahmen zu einem bestimmten Zeitpunkt. Wenn etwas nicht mehr funktioniert, erstellen Sie die Umgebung nicht neu aus dem Code und hoffen, dass sie intakt wiederhergestellt wird. Sie stellen eine bekanntermaßen fehlerfreie Umgebung wieder her – jene, die tatsächlich lief –, unabhängig davon, wie die Änderung, die das Problem verursacht hat, eingeführt wurde.
| Terraform-Design | Cloud Rewind-Design |
| Verwaltung des gewünschten Zustands | Recovery des tatsächlichen Zustands |
| Bereitstellung der Infrastruktur | Infrastructure Recovery |
| Wendet Änderungen an | Macht Änderungen rückgängig |
| Quelle der Wahrheit = Code | Quelle der Wahrheit = bereitgestellte Umgebung |
| Zukunftsorientiert | Rückblickend |
| Erstellen und aktualisieren | Wiederherstellung und Wiederaufbau |
| Unterstützt die Wiederherstellung der gewünschten Konfiguration | Hilft dabei, den Bereitstellungsstatus anhand eines erfassten Zeitpunkts wiederherzustellen |
Wo Terraform an seine Grenzen stößt
Selbst in den ausgereiftesten IaC-Umgebungen kommt es zu Wiederherstellungsszenarien, in denen eine Neuerstellung anhand des Codes nicht ausreicht. Bedenken Sie Folgendes:
- Eine fehlgeschlagene Infrastrukturänderung, die bereits in der Produktion bereitgestellt wurde.
- Versehentliches Löschen von Ressourcen in der „Cloud“.
- Durch manuelle oder Out-of-Band-Änderungen verursachte Abweichungen in der Infrastruktur.
- Änderungen, die außerhalb von Terraform vorgenommen wurden und sich weder im Code noch im State widerspiegeln.
- Die Notwendigkeit, die Infrastruktur genau so wiederherzustellen, wie sie zu einem bestimmten Zeitpunkt war.
Terraform speichert keinen historischen Status der „Cloud“. Es wendet die gewünschte Konfiguration erneut an – stellt jedoch nicht wieder her, was tatsächlich bereitgestellt wurde und lief. „Rewind, Stand von gestern um 14:15 Uhr“ ist keine Terraform-Funktion. Es handelt sich um eine Funktion der „Cloud“ (Rewind).
Eine Wiederherstellung, die davon abhängt, dass Terraform-Code, Statusdateien und die Versionshistorie verfügbar, korrekt und vollständig sind, birgt ein echtes Risiko. Im Falle eines tatsächlichen Vorfalls sind diese Bedingungen nicht gewährleistet.
Zwei Werkzeuge, eine umfassende Strategie
Mit Terraform können Sie die Erstellung von Infrastruktur und das Änderungsmanagement automatisieren. Cloud Rewind hilft Ihnen dabei, die Infrastruktur schnell und konsistent wiederherzustellen, wenn Bereitstellungen fehlschlagen, Ressourcen gelöscht werden, Abweichungen in der Infrastruktur auftreten oder Ihr Team eine bekanntermaßen fehlerfreie Umgebung wiederherstellen muss. Sie ergänzen sich gegenseitig. Terraform wurde entwickelt, um Ihre Cloud-Umgebung reproduzierbar zu machen. Cloud Rewind wurde entwickelt, um sie wiederherstellbar zu machen.
Mit Terraform erstellen. Mit Cloud Rewind wiederherstellen.
FAQs
F: Bietet Terraform eine Wiederherstellung zu einem bestimmten Zeitpunkt an?
A: Nein. Terraform wendet die gewünschte Konfiguration anhand des Codes erneut an. Es werden keine historischen Momentaufnahmen Ihrer bereitgestellten „Cloud“-Umgebung gespeichert. Wenn die Änderung, die zu einem Vorfall geführt hat, nicht in Ihrem Terraform-Status oder im Git-Verlauf erfasst ist – beispielsweise eine Änderung über die Konsole oder eine Abweichung in der Infrastruktur –, kann Terraform Ihnen nicht dabei helfen, den Zustand wiederherzustellen.
F: Was passiert, wenn Änderungen außerhalb von Terraform vorgenommen werden?
A: Änderungen über die Konsole, manuelle Eingriffe und Out-of-Band-Konfigurationen sind in realen Umgebungen üblich. Terraform verfolgt diese nicht. Cloud Rewind erfasst den tatsächlich bereitgestellten Zustand – unabhängig davon, wie eine Änderung eingeführt wurde –, sodass Sie eine bekanntermaßen fehlerfreie Umgebung wiederherstellen können, selbst wenn Ihre IaC nicht widerspiegelt, was tatsächlich lief.
F: Ist „Cloud Rewind“ ein Ersatz für Terraform?
A: Nein. Sie lösen unterschiedliche Probleme. Terraform ist Ihr Tool für die Bereitstellung und das Änderungsmanagement. Cloud Rewind ist Ihr Tool für Recovery. Die meisten Teams, die eines der beiden nutzen, können von beiden profitieren – sie decken unterschiedliche Bereiche des Lebenszyklus des Cloud-Betriebs ab.
F: Mit welchen Arten von Vorfällen befasst sich „Cloud Rewind“?
A: „Cloud Rewind“ ist für Szenarien konzipiert, in denen eine Wiederherstellung anhand des Codes nicht ausreicht: fehlgeschlagene Bereitstellungen, die sich bereits in der Produktion befinden, versehentliches Löschen von Ressourcen, Infrastrukturdrift sowie Fälle, in denen Teams eine Umgebung auf einen bestimmten historischen Zeitpunkt zurücksetzen müssen.
F: Erfordert „Cloud Rewind“, dass Teams die Nutzung von Terraform einstellen?
A: Nein. Cloud Rewind lässt sich nahtlos in Ihre bestehenden IaC-Workflows integrieren. Die Teams nutzen weiterhin Terraform für die Bereitstellung und das Änderungsmanagement und greifen auf Cloud Rewind zurück, wenn sie nach einem tatsächlichen Vorfall eine Wiederherstellung durchführen müssen.
Cailin Pitcher ist Senior Portfolio Marketing Manager bei Commvault.