Skip to main content
NetApp Solutions
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Astra Control erleichtert die Nachkontrollen und stellt die Anwendung wieder her

Beitragende

Überblick

Im "Erster Anwendungsfall", Wir haben demonstriert, wie das NetApp Astra Control Center für die Sicherung Ihrer Applikationen in Kubernetes genutzt wird. Dieser Abschnitt beschreibt, wie Sie Applikations-Backups über Astra Control direkt mit dem Python SDK im NetApp Astra Toolkit in Ihren Entwicklungs-Workflow integrieren. Dieser Ansatz ermöglicht den Schutz von Entwicklungs- und Produktionsumgebungen durch die Automatisierung von On-Demand Backups während der kontinuierlichen Integration und Continuous Deployment (CI/CD)-Prozesse. Mit dieser zusätzlichen Schicht applikationskonsistenter Datensicherung, die der CI/CD-Pipeline und den Produktionsanwendungen hinzugefügt wird, sind die Entwicklungsprozesse sicher, wenn bei einem Prozess ein Fehler auftritt, was zu guten Business-Continuity-Verfahren führt.

In einem herkömmlichen Workflow würde das Entwicklungsteam versuchen, das Problem anhand von Fehlerberichten von Kunden in Echtzeit zu beheben, nachdem ein Fehler beim Upgrade der Anwendung auf eine neue Version aufgetreten ist. Alternativ könnte das Team bei der ersten Fehlermeldung versuchen, die Applikation in eine parallele Debugging-Umgebung neu zu implementieren, um diesen Prozess offline zu schalten. Sie könnten eine ältere Code-Basis von einer früheren Version in den Produktionsbetrieb wiederherstellen, um die Arbeitsreihenfolge der Applikation wiederherzustellen.

Herkömmlicher Workflow

Obwohl dieser Ansatz funktioniert, muss das Team sicherstellen, dass der Zustand der defekten Produktions-App mit der Version übereinstimmt, die in der Produktion gesehen wurde, als die Probleme aufgetreten sind. Sie müssten auch Zeit auf die Förderung des bekannten fehlerfreien Builds in die Produktion verwenden, indem sie Code aus ihrem Repository abrufen und die Machine-Images neu implementieren, um die Applikation in einem guten, ausgeführten Zustand wiederherzustellen. Auch in diesem Szenario wurde nicht berücksichtigt, ob die Produktionsdatenbank selbst durch den fehlerhaften Code beschädigt war. Im Idealfall gibt es separate Backup-Prozesse für die Datenbankdaten, aber müssen wir davon ausgehen, dass sie mit dem Zustand der Applikation, wie sie veröffentlicht wurde, konsistent sind? Hier zeigen die Vorteile statusbehafteter und applikationskonsistenter Backups, Restores und Klone mit Astra Control ihren Wert.

Erstens können wir Astra Control nutzen, um eine Nachmortem-Analyse über den Stand der Anwendung zu ermöglichen. Dazu klonen wir die Buggy-Produktionsversion auf applikationskonsistente Weise in einer parallelen Testumgebung. Wenn diese Umgebung in ihrem fehlergeritten Zustand beiseite gelegt wurde, können wir das Problem in Echtzeit beheben.

Darüber hinaus unterstützt Astra Control die Möglichkeit zur Wiederherstellung der vorhandenen Daten, mit der die Produktionsanwendung auf ein letztes akzeptables Backup wiederhergestellt werden kann (das der betroffenen Codeversion vorausging). Die wiederhergestellte Version übernimmt die Position der vorherigen, Buggy-Produktionsanwendung auf anwendungskonsistente und zustandsorientierte Weise, einschließlich der zuvor zugewiesenen Ingress-IP. Aus diesem Grund haben Kunden, die auf das Front-End zugreifen, den Übergang zur Backup-Version nicht bemerkt.

Workflow nach Abschluss eines Nachfalls

Voraussetzungen für die Validierung von Anwendungsfällen

Folgende Tools oder Plattformen wurden implementiert und als Voraussetzungen konfiguriert:

  • Red hat OpenShift Container Platform

  • NetApp Astra Trident wird auf OpenShift mit einem Back-End-Konfiguration auf einem NetApp ONTAP-System installiert.

  • Eine Standardspeicherklasse mit Verweis auf ein NetApp ONTAP-Back-End ist konfiguriert.

  • NetApp Astra Control Center wird auf einem OpenShift-Cluster installiert.

  • OpenShift-Cluster wurde dem Astra Control Center als gemanagter Cluster hinzugefügt.

  • Jenkins wird auf einem OpenShift-Cluster installiert.

  • Magento-Anwendung in der Produktionsumgebung installiert. Die Produktionsumgebung in diesem Anwendungsbeispiel ist ein Namespace namens „mento-Prod“ in einem Red hat OpenShift-Cluster.

  • Produktionsanwendung verwaltet durch Astra Control Center.

  • Bekannte Backup(s) der Applikation in der Produktion, die mit Astra Control erfasst wurde.

Klon- und Restore-Pipeline

Angesichts des Upgrades der Applikation auf eine neue Version, der Applikation in der Produktionsumgebung (magento-prod) Verhält sich nicht wie vorgesehen nach der Aktualisierung. Nehmen wir an, dass die Daten, die von Front-End-Abfragen zurückgegeben werden, nicht mit der Anfrage übereinstimmen oder dass die Datenbank tatsächlich beschädigt wurde. Um die Pipeline zu klonen und wiederherzustellen, gehen Sie wie folgt vor:

Fehlerhafte Anwendung
  1. Melden Sie sich bei Jenkins an und erstellen Sie eine Pipeline, indem Sie auf Neues Element und anschließend auf Pipeline klicken.

  2. Kopieren Sie die Pipeline aus der Jenkinsdatei "Hier".

  3. Fügen Sie die Pipeline in den Jenkins-Pipeline-Abschnitt ein, und klicken Sie dann auf Speichern.

  4. Füllen Sie die Parameter der Jenkins-Pipeline mit den entsprechenden Details wie der aktuellen Magento-Anwendungsversion in der Produktion, dem Astra Control Center FQDN, dem API-Token, der Instanz-ID und dem Anwendungsnamen oder dem Namespace der Produktions- und Debugumgebungen sowie den Quell- und Zielcluster-Namen aus. Für diesen Anwendungsfall ist die Produktionsumgebung ein Namespace namens „mento-Prod“ und die Debug-Umgebung ist ein Namespace namens „mento-Debug“, der auf einem Red hat OpenShift-Cluster konfiguriert ist.

    MAGENTO_VERSION = '2.4.1-debian-10-r14'
    ASTRA_TOOLKIT_VERSION = '2.0.2'
    ASTRA_API_TOKEN = 'xxxxx'
    ASTRA_INSTANCE_ID = 'xxx-xxx-xxx-xxx-xxx'
    ASTRA_FQDN = 'netapp-astra-control-center.org.example.com'
    PROD_APP_NAME = 'magento-prod'
    DEBUG_APP_NAME = 'magento-debug'
    DEBUG_NAMESPACE = 'magento-debug'
    PROD_KUBERNETES_CLUSTER = 'ocp-vmw'
    DEBUG_KUBERNETES_CLUSTER = 'ocp-vmw'
  5. Klicken Sie Auf Jetzt Erstellen. Die Pipeline beginnt mit der Ausführung und führt die einzelnen Schritte durch. Die Anwendung wird zuerst im aktuellen Status in einer Debug-Umgebung geklont, und die Anwendung wird dann auf das bekannte Backup wiederhergestellt.

    Post-Sterbliche-Pipeline
  6. Vergewissern Sie sich, dass es sich bei der geklonten Applikation um die Fehlerversion handelt.

    Fehler Bei Geklonter App
  7. Überprüfen Sie, ob die Produktionsumgebung in einem funktionierenden Backup wiederhergestellt wird und die Applikation in der Produktion wie erwartet funktioniert.

    Prod-App Wurde Wiederhergestellt

Diese beiden Vorgänge beschleunigen gleichzeitig die Rückkehr zu den normalen Geschäftsabläufen. Sehen Sie sich das Video an, um diesen Anwendungsfall in Aktion zu sehen "Hier".