Rollbacks und Disaster Recovery
Entwerfen und implementieren Sie wirksame Rollback-Verfahren und Disaster-Recovery-Pläne in Ihren CI/CD-Pipelines.
Rollbacks und Disaster Recovery ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Unerwartete Probleme treten auf!
Softwareentwicklung verläuft nicht immer reibungslos. Manchmal führen neue Deployments zu Fehlern oder beeinträchtigen vorhandene Funktionen. Hier kommen Rollbacks und Notfallwiederherstellung ins Spiel.
Sie sind entscheidend, um die Systemstabilität und das Vertrauen der Benutzer zu erhalten.
Rollbacks verstehen
Ein Rollback ist der Vorgang, bei dem ein System oder eine Anwendung nach einem problematischen Deployment in einen früheren, stabilen Zustand zurückversetzt wird. Es funktioniert wie eine „Rückgängig“-Schaltfläche für Ihre letzten Änderungen.
Rollbacks werden normalerweise schnell ausgelöst, um die Auswirkungen eines fehlerhaften Releases zu minimieren und den normalen Betrieb wiederherzustellen.
Übliche Rollback-Ansätze
Je nach Ihrer Deployment-Strategie gibt es verschiedene Möglichkeiten, ein Rollback durchzuführen:
- Code zurücksetzen: Bereitstellen der vorherigen, nachweislich funktionierenden Version Ihres Anwendungscodes.
- Datenverkehr verschieben: Umleiten des Benutzerverkehrs von der fehlerhaften neuen Version zurück auf die alte Version.
- Datenbank-Rollback: Zurücksetzen von Änderungen am Datenbankschema oder an Daten – häufig der komplexeste Teil.
Rollbacks mit Actions automatisieren
GitHub Actions kann Rollback-Verfahren automatisieren. Sie können Workflows erstellen, die bei bestimmten Ereignissen (z. B. einer manuellen Ausführung) ausgelöst werden, um ein früheres, stabiles Release erneut bereitzustellen oder Infrastrukturänderungen zurückzusetzen.
So erhalten Sie einen schnellen, konsistenten und weniger fehleranfälligen Rollback-Prozess und reduzieren menschliche Fehler in stressigen Situationen.
Workflow für ein manuelles Rollback
So könnten Sie einen manuellen Trigger einrichten, um eine bestimmte frühere Version bereitzustellen (z. B. ein Tag oder einen Commit-Hash). Dieser Workflow übernimmt eine version-Eingabe vom Benutzer.
name: Manual Rollback Deployment
on:
workflow_dispatch:
inputs:
version:
description: 'Tag or commit hash to deploy'
required: true
default: 'main'
jobs:
rollback:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.version }}
- name: Deploy previous version
run: |
echo "Deploying version: ${{ github.event.inputs.version }}"
# Add your specific deployment commands here
# e.g., helm upgrade, kubectl apply, etc.
Über Rollbacks hinaus: Notfallwiederherstellung
Disaster Recovery (DR) ist eine umfassendere Strategie zur Wiederherstellung Ihrer Systeme und Daten nach einem katastrophalen Ereignis. Dabei kann es sich um den Ausfall eines Rechenzentrums, eine Naturkatastrophe oder einen größeren Cyberangriff handeln.
Im Gegensatz zu einem Rollback, das ein fehlerhaftes Deployment korrigiert, zielt DR darauf ab, den vollständigen Betrieb nach einem Totalausfall des Systems oder dem Verlust einer primären Umgebung wiederherzustellen.
DR-Planung in CI/CD
Berücksichtigen Sie bei der Planung von DR in Ihren CI/CD-Pipelines Folgendes:
- Backups: Sichern Sie Daten, Konfigurationen und Artefakte regelmäßig.
- Redundanz: Stellen Sie Ihre Anwendung über mehrere Regionen oder Availability Zones hinweg bereit.
- Wiederherstellungs-Workflows: Erstellen Sie dedizierte Workflows, um Dienste aus Backups wiederherzustellen oder auf neuer Infrastruktur bereitzustellen.
- Tests: Testen Sie Ihren DR-Plan regelmäßig, um sicherzustellen, dass er im Bedarfsfall funktioniert.
Build-Artefakte für die Wiederherstellung speichern
GitHub Actions kann Build-Artefakte speichern, die für DR entscheidend sind. Dazu können kompilierte Binärdateien, Docker-Images oder Deployment-Manifeste gehören. Sie können diese während eines erfolgreichen Builds hochladen.
Diese Artefakte können anschließend im Rahmen eines DR-Workflows heruntergeladen und in einer neuen Umgebung bereitgestellt werden.
name: Build and Archive Artifacts
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build application
run: |
echo "Building app..."
mkdir -p build_output
echo "App version 1.0.0" > build_output/app.txt
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: application-build
path: build_output/
Überprüfung: Rollback oder DR
Das Deployment einer neuen Funktion hat einen kritischen Fehler verursacht, durch den Ihre Anwendung nicht mehr erreichbar ist. Welche Strategie wird hauptsächlich verwendet, um dieses konkrete Problem schnell zu beheben und den Dienst wiederherzustellen?
Rollbacks und DR: Die wichtigsten Erkenntnisse
In dieser Lektion haben wir die wichtigen Konzepte von Rollbacks und Notfallwiederherstellung behandelt. Wir haben gelernt, dass Rollbacks fehlerhafte Deployments schnell zurücksetzen, während es bei Disaster Recovery um die Wiederherstellung von Systemen nach größeren Ausfällen geht.
GitHub Actions kann maßgeblich dazu beitragen, beide Prozesse zu automatisieren. So bleiben Ihre Anwendungen resilient und die Beeinträchtigungen für Ihre Benutzer werden auf ein Minimum reduziert.
Häufig gestellte Fragen
Ist die Lektion „Rollbacks und Disaster Recovery“ kostenlos?
Ja — der vollständige Text von „Rollbacks und Disaster Recovery“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Rollbacks und Disaster Recovery“?
Entwerfen und implementieren Sie wirksame Rollback-Verfahren und Disaster-Recovery-Pläne in Ihren CI/CD-Pipelines. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um DevOps Bootcamp zu starten?
Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Rollbacks und Disaster Recovery“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?
Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Blue-Green-Deployments
- Canary-Releases mit Actions
- Rollbacks und Disaster Recovery
- Feature Flags und progressive Rollouts