Zum Inhalt springen
← Impulse

Failover testen, ohne die Produktion zu gefährden: Umfang, Signale und Abbruchkriterien

Wählen Sie die passende Teststufe, begrenzen Sie den Umfang und vereinbaren Sie Abbruchsignale. So prüfen Sie die Wiederherstellung eines Dienstes, ohne die Produktion unnötigen Änderungen auszusetzen.

Ein Betriebsteam überwacht einen kontrollierten Umschalttest für einen digitalen Dienst.

Ein Failover – die Umschaltung eines Dienstes auf eine alternative Instanz oder einen anderen Standort – zeigt, ob der Dienst bei einem Ausfall seines primären Pfads weiterlaufen kann. Doch kein Test mit realen Auswirkungen ist völlig risikofrei: Er kann verborgene Abhängigkeiten offenlegen, Fehler verursachen oder die Rückkehr zum Ausgangszustand erschweren. Die praktische Frage lautet deshalb nicht einfach „testen oder nicht testen?“, sondern: Welcher Testumfang liefert ausreichend Erkenntnisse bei einem vertretbaren Risiko?

Für Verantwortliche in IT, Infrastruktur und Betrieb beginnt ein sinnvoller Test damit, genau festzulegen, was nachgewiesen werden soll und welche Bereiche unangetastet bleiben. Außerdem braucht es benannte Verantwortliche, beobachtbare Signale und vorab vereinbarte Abbruchbedingungen. So wird aus einem improvisierten Eingriff eine kontrollierte Überprüfung.

Was ein Test belegt – und was ein Backup nicht belegt

Was ein Test belegt – und was ein Backup nicht belegt

Backup und Failover erfüllen unterschiedliche Zwecke. Ein Backup bewahrt Daten, damit sie wiederhergestellt werden können. Ein Failover soll den Dienst mithilfe eines alternativen Pfads aufrechterhalten oder wieder verfügbar machen. Vorhandene Backups beweisen für sich genommen weder, dass eine Anwendung in einer anderen Umgebung starten kann, noch, dass Zugangsdaten funktionieren oder Nutzer ihre Aufgaben erledigen können.

Ein Failover-Test kann Erkenntnisse über die Umschaltung, die Verfügbarkeit von Abhängigkeiten und das Verhalten der Anwendung während des Übergangs liefern. Er beweist nicht automatisch, dass sämtliche Daten intakt sind, alle Katastrophenszenarien abgedeckt werden oder die Wiederherstellung unter anderen Bedingungen genauso abläuft. Die Schlussfolgerung muss sich auf das tatsächlich getestete Szenario beschränken.

Formulieren Sie vor dem Start eine überprüfbare Aussage, zum Beispiel: „Der Ablauf zum Abrufen von Bestellungen funktioniert auf der alternativen Instanz, wenn der primäre Pfad isoliert wird.“ Vermeiden Sie vage Ziele wie „Resilienz validieren“. Eine konkrete Aussage erleichtert die Auswahl von Tests, Messwerten und Erfolgskriterien, ohne den Umfang während der Durchführung auszuweiten.

Die Teststufe passend zum Risiko wählen

Nicht jede Überprüfung erfordert eine Umschaltung der Produktion. Wählen Sie die niedrigste Stufe, mit der sich die gestellte Frage beantworten lässt, und gehen Sie nur dann weiter, wenn die gewonnenen Erkenntnisse nicht ausreichen.

  • Dokumentationsprüfung: Prüfen Sie Diagramme, Konfigurationen, Verfahren und Zuständigkeiten. So lassen sich veraltete Schritte oder nicht dokumentierte Abhängigkeiten finden. Ob der alternative Pfad im laufenden Betrieb funktioniert, wird dadurch nicht bewiesen.
  • Simulation oder Planspiel: Das Team spielt ein Szenario durch und entscheidet, wie es vorgehen würde, ohne das System zu verändern. Damit lassen sich operative Unklarheiten und Koordinationsprobleme erkennen, nicht jedoch die Infrastruktur überprüfen.
  • Isolierte Umgebung: Führen Sie die Umschaltung in einer separaten Umgebung durch, die die relevanten Abhängigkeiten abbildet. Das verringert die Gefährdung der Produktion. Unterschiede bei Konfiguration oder Auslastung können jedoch die Aussagekraft der Ergebnisse einschränken.
  • Kontrollierte Umschaltung: Verändern Sie einen klar abgegrenzten Teil des Datenverkehrs oder der realen Infrastruktur und bereiten Sie Überwachung und Rückkehr vor. Das kann direkte Erkenntnisse liefern, birgt aber ein höheres Risiko und erfordert Freigabe, Zeitfenster und Eingriffsmöglichkeiten.

Berücksichtigen Sie die möglichen Auswirkungen, die Umkehrbarkeit der Änderung, die Qualität der Beobachtbarkeit und die Sensibilität der Daten. Wenn Sie eine Verschlechterung nicht erkennen oder den vorherigen Zustand nicht zuverlässig wiederherstellen können, sollten Sie die Teststufe erst erhöhen, wenn diese Lücken behoben sind.

Ablauf, Abhängigkeiten und Beteiligte eingrenzen

Legen Sie den Dienst und den zu testenden Ablauf aus Sicht der Nutzer fest. Es genügt beispielsweise nicht, zu bestätigen, dass eine Instanz aktiv ist, wenn Nutzer sich anmelden, Informationen abrufen und einen Vorgang abschließen müssen. Der Testumfang sollte benennen, welche Schritte eingeschlossen sind, welche Nutzer oder welcher Datenverkehr betroffen sein können und welche Komponenten außen vor bleiben.

Erstellen Sie eine Übersicht der Abhängigkeiten, die das Ergebnis beeinflussen können: DNS, Load Balancer, Datenbanken, Speicher, Identitätssysteme, Warteschlangen, externe APIs und Überwachungsmechanismen. Klären Sie für jede Abhängigkeit, ob sie Teil des Tests ist, wer eingreifen kann und wie sich ein Fehler dieser Abhängigkeit von einem Fehler des Hauptdienstes unterscheiden lässt.

Benennen Sie mindestens eine Person, die den Test leitet, eine weitere mit der Befugnis, ihn abzubrechen, sowie technische Verantwortliche für die betroffenen Komponenten. Vereinbaren Sie außerdem, wer Beginn und Ende kommuniziert, wer die Nutzererfahrung beobachtet und wer die Rückkehr ausführt. In kleinen Teams kann eine Person mehrere Rollen übernehmen; die Zuständigkeiten müssen trotzdem ausdrücklich festgelegt sein.

Voraussetzungen und Rückkehrplan vorbereiten

Stellen Sie vor jeder Änderung sicher, dass die Konfigurationen von Ausgangs- und Zielsystem bekannt sind, der operative Zugriff funktioniert und die Schritte für Umschaltung und Rückkehr dokumentiert sind. Vergewissern Sie sich, dass die erforderlichen Personen während des gesamten Zeitfensters verfügbar sind. Verlassen Sie sich nicht darauf, eine Fachperson erst nach Beginn der Änderung erreichen zu können.

Ein Rückkehrplan sollte drei Fragen beantworten: Welche Bedingung löst die Rückkehr aus? Wer führt sie aus? Und wie wird überprüft, dass der Dienst wieder einen akzeptablen Zustand erreicht hat? Eine Rückkehr bedeutet nicht immer, einfach die letzte Änderung rückgängig zu machen: Wenn Schreibvorgänge oder Zustandsänderungen stattgefunden haben, kann der Wechsel zum vorherigen Pfad Inkonsistenzen verursachen. Ist unklar, wie Daten geschützt und zwei konkurrierende aktive Pfade vermieden werden, beschränken Sie den Test auf eine Simulation oder eine isolierte Umgebung.

Vereinbaren Sie mit dem Team die Voraussetzungen: einen gesunden Dienstzustand, verfügbare Überwachung, keine relevanten parallelen Änderungen und vorbereitete Kommunikationswege. Ist eine Voraussetzung nicht erfüllt, ist eine Verschiebung eine Maßnahme zur Risikokontrolle und kein Scheitern des Tests.

Erfolgssignale und Abbruchkriterien festlegen

Legen Sie vorab fest, welche Beobachtungen als Erfolg gelten. Kombinieren Sie technische und funktionale Signale: die Verfügbarkeit der alternativen Komponenten, Fehler und Latenz, den Zustand der Abhängigkeiten sowie das Ergebnis einer Testtransaktion. Prüfen Sie aus Nutzersicht den vereinbarten Ablauf – nicht nur, ob die Server antworten.

Die Schwellenwerte müssen zum Dienst und zu dessen Ausgangswerten passen; eine universell geeignete Zahl für alle Systeme gibt es nicht. Dokumentieren Sie den Wert oder die Bedingung, die einen Abbruch auslöst, wer sie beobachtet und wie lange sie bewertet wird. Typische Kriterien sind ein anhaltender Anstieg der Fehler, eine Verschlechterung außerhalb des vereinbarten Rahmens, der Ausfall einer wesentlichen Abhängigkeit oder Datenabweichungen. Legen Sie auch fest, wie mit einem uneindeutigen Signal umzugehen ist: pausieren und bewerten, statt automatisch fortzufahren.

Ein Abbruch kann bedeuten, keine weiteren Änderungen vorzunehmen, den Datenverkehr zurückzuleiten oder zum bekannten Pfad zurückzukehren. Warten Sie nicht, bis der Dienst vollständig ausfällt. Die Befugnis zum Abbruch muss eindeutig sein, und jedes dafür benannte Teammitglied muss sie bei einem Vorfall ohne vorherige Abstimmung ausüben können.

Schrittweise ausführen und die Wiederherstellung überprüfen

  1. Ausgangszustand festhalten. Dokumentieren Sie den Zustand des Dienstes, relevante Messwerte, laufende Änderungen und den Referenzablauf aus funktionaler Sicht.
  2. Die kleinstmögliche Änderung vornehmen. Folgen Sie dem genehmigten Verfahren und nehmen Sie während des Tests keine zusätzlichen Anpassungen vor, es sei denn, der Plan legt fest, wie damit umzugehen ist.
  3. Jede Phase beobachten. Überprüfen Sie die Pfadänderung, die Abhängigkeiten und den Nutzerablauf. Sorgen Sie für eine klare Kommunikation zwischen der ausführenden und der beobachtenden Person.
  4. Gemäß den Kriterien abbrechen oder fortfahren. Wird eine Abbruchbedingung erreicht, hat die Begrenzung der Auswirkungen und die Umsetzung des vereinbarten Plans Vorrang. Halten Sie fest, was passiert ist und zu welcher Uhrzeit.
  5. Rückkehr oder alternativen Betrieb überprüfen. Bestätigen Sie den endgültigen Zustand des Dienstes und prüfen Sie, ob noch unkontrollierte Routen, Prozesse oder temporäre Änderungen bestehen.

Der Test ist nicht beendet, sobald der Datenverkehr das alternative Ziel erreicht. Prüfen Sie, ob repräsentative Vorgänge stimmige Ergebnisse liefern, die Abhängigkeiten reagieren und die Beobachtbarkeit weiterhin funktioniert. Umfasst der Test Schreibvorgänge, prüfen Sie den Datenzustand und die Synchronisierungsmechanismen besonders sorgfältig. Gehen Sie nicht davon aus, dass das Ausbleiben von Alarmen gleichbedeutend mit Datenintegrität ist.

Ergebnisse in konkrete Verbesserungen umsetzen

Ergebnisse in konkrete Verbesserungen umsetzen

Dokumentieren Sie Szenario und Umfang, die Verantwortlichen, die beobachteten Signale, die getroffenen Entscheidungen und jede Abweichung vom Verfahren. Trennen Sie Fakten von Hypothesen: „Die Abfrage hat einen Fehler zurückgegeben“ ist eine Beobachtung; die Ursache muss möglicherweise noch untersucht werden. Stellen Sie einen Teiltest nicht als vollständige Validierung der Wiederherstellung dar.

Machen Sie aus jeder Lücke eine Maßnahme mit Zuständigkeit und Abschlusskriterium: eine dokumentierte Abhängigkeit aktualisieren, einen Alarm korrigieren, die Rückkehr klären oder eine repräsentativere Testumgebung vorbereiten. Wiederholen Sie den Test, wenn Änderungen kritische Komponenten betreffen, ein Test relevante Unsicherheiten aufdeckt oder sich das Verfahren ändert. Die Häufigkeit sollte sich nach dem Risiko und der Entwicklung des Dienstes richten, nicht nach einem willkürlich gewählten Datum.

Zusammengefasst lässt sich ein Failover am sichersten testen, wenn Sie die betroffenen Bereiche begrenzen, eine dem Risiko angemessene Teststufe wählen und vorab vereinbaren, woran Erfolg und ein notwendiger Abbruch zu erkennen sind. Die gewonnenen Erkenntnisse sind dann nützlich, wenn sie genau beschreiben, was getestet wurde, was außen vor blieb und was vor dem nächsten Test verbessert werden muss.

Fuentes y referencias

  1. Cloud Native GlossaryCloud Native Computing Foundation
  2. Site Reliability EngineeringGoogle