Bis hierher hat die Kladde Ziele, Budgets, Alarme, einen Ablauf für Störungen, Nachbetrachtungen und Runbooks. Ob all das trägt, zeigt sich bei der ersten echten Störung, und dann ist es zu spät, um nachzubessern. Chaos-Engineering dreht die Reihenfolge um: Sie führen eine Störung absichtlich herbei, zu einer Zeit, die Sie wählen, in einer Umgebung, in der niemand Schaden nimmt, und prüfen, ob die Kladde und das Team sich so verhalten, wie Sie es erwarten.
Das ist kein Kaputtmachen aus Neugier. Ein Chaos-Experiment ist ein Experiment im wissenschaftlichen Sinn: mit einer Hypothese, die sich als falsch herausstellen kann, mit einem festen Umfang und mit Regeln, wann es abgebrochen wird. Microsoft bietet dafür Azure Chaos Studio an. Diese Lektion zeigt, was es für die Kladde kann und was nicht, und führt ein erstes Experiment im Testabonnement durch.
Ein Experiment planen
Jedes Experiment der Kladde beginnt mit einer Seite unter docs/chaos/, bevor irgendetwas in Azure geschieht:
| Teil | Frage | Beispiel |
|---|---|---|
| Gleichbleibender Zustand | Woran sehen Sie, dass die Kladde normal läuft? | die SLIs aus 3.15.1: Buchung über 99,5 %, Verarbeitung über 99 % |
| Hypothese | Was erwarten Sie, wenn die Störung kommt? Als prüfbare Sätze | „Der Import scheitert mit einem Exit-Code ungleich 0; die Buchung merkt nichts.“ |
| Störung | Was genau wird eingespielt, wie lange? | tender-import nimmt zehn Minuten keine Nachricht an |
| Umfang | Was ist betroffen, was ausdrücklich nicht? | nur die Warteschlange tender-import in test |
| Abbruchkriterien | Wann wird sofort beendet? | ein Burn-Rate-Alarm der Buchung; mehr als 15 Minuten; Dead Letter in einer anderen Entität |
| Beobachtung | Welche Abfragen, welche Alarme, wer schaut? | import-runs.kql, slo-booking-burn.kql, die Alarm-Mails |
| Rückweg | Wie kommt alles in den Ausgangszustand, auch wenn das Werkzeug versagt? | az servicebus queue update --status Active |
Die Hypothese ist der Kern. Sie muss scheitern können. „Die Kladde bleibt stabil“ kann nicht scheitern; „der nächste Lauf nach dem Ende holt alle Meldungen nach, ohne Duplikat“ kann es. Ein Experiment, das eine Hypothese widerlegt, ist ein Erfolg: Es hat einen Fehler gefunden, bevor ihn eine Kundin gefunden hat.