Fehler sind menschlich und können zu einfachen oder sogar schweren Zwischenfällen führen. Seien wir ehrlich: Wir können versuchen, Fehler zu vermeiden, aber früher oder später werden sie passieren. Doch Fehler zu machen ist nicht das größte Problem. Wir müssen sicherstellen, dass wir aus unseren Fehlern lernen. Wenn du nach einem Zwischenfall oder Fehler in deinen Projekten eine Post-Mortem-Analyse einführst, kannst du aus vergangenen Fehlern lernen. In diesem Beitrag geht es um die Einführung einer Post-Mortem-Kultur in deiner DevOps-Organisation und darum, warum Schuldzuweisungen keine Lösung sind.
Der beste Weg, um aus Vorfällen zu lernen, ist die Durchführung von Post Mortems.
Was ist ein Post Mortem bei Projekten und Vorfällen?
Bei einem Incident Post Mortem oder einer Retrospektive wird untersucht, wie es zu dem Vorfall kam, welche Auswirkungen er auf die Unternehmensziele und -metriken hatte und wie das Team die Fehler behoben hat.
Warum braucht man Post Mortem Analysen bei DevOps?
In vielen Unternehmen, ob groß oder klein, kommt es mindestens mehrmals im Jahr zu größeren Störungsfällen. Wie bereits erwähnt, kannst du daran arbeiten, Vorfälle zu verhindern, ihre Auswirkungen zu verringern und ihre Folgen für deine Ziele oder andere wichtige KPIs zu verkürzen. Aber sie werden trotzdem auftreten, egal was du tust.
Änderungen an deinen Systemen, deinem Code oder deiner Infrastruktur können Schwachstellen verursachen, die zu Zwischenfällen führen. Als DevOps-Champion veröffentlichst du wahrscheinlich neue Iterationen von Code oder Updates in hoher Frequenz. Dadurch wird das Risiko und die Auswirkungen von Fehlern bei einzelnen Releases minimiert. Gleichzeitig führt die steigende Anzahl von Releases wahrscheinlich aber nicht zu einer Verringerung der Anzahl von Zwischenfällen. Die Wahrscheinlichkeit, dass gleich dein ganzes System ausfällt, wird damit jedoch drastisch reduziert.
Aber was passiert, wenn ein kritischer Zwischenfall eintritt?
Anstatt Schuldzuweisungen zu machen und mit dem Finger auf den Verantwortlichen zu zeigen, ist das Einzige, was zählt, herauszufinden, was die Ursache für den Fehler war, der zu dem Vorfall geführt hat, und gegebenenfalls die Auswirkungen zu mildern.
Die Analyse der Ursache und die Umsetzung von Präventivmaßnahmen sind wichtig, um sicherzustellen, dass solche Vorfälle nicht zu oft auftreten. Andernfalls kann es passieren, dass sich die Vorfälle häufen und die Fehlerbehebung zur wöchentlichen Routine wird. Früher oder später werden deine Teams nur noch mit der Reaktion auf Vorfälle beschäftigt sein. Und das will niemand! Um aus dieser Situation herauszukommen, muss dein Team den neuen Status quo anerkennen.
Und wie sieht eine Postmortem-Analyse aus?
Um aus den Fehlern der Vergangenheit zu lernen, müssen wir nach Vorfällen eine genaue Analyse der Ereignisse durchführen.
Ein Postmortem sollte immer dann durchgeführt werden, wenn ein Vorfall die Reaktion eines IT-Ingenieurs oder Entwickler erfordert. Normalerweise werden bei einer Postmortem-Analyse die folgenden Punkte erfasst:
- Was hat den Vorfall ausgelöst?
- Was waren die Auswirkungen?
- Wie lange hat es gedauert, den Vorfall zu erkennen und einzudämmen?
- Welche Schritte wurden unternommen, um den Vorfall zu entschärfen?
- Hat das Team eine Ursachenanalyse durchgeführt?
- Können wir eine Zeitleiste der wichtigsten Ereignisse erstellen? Fasse die wichtigsten Aktivitäten aus Chatgesprächen, Details zum Vorfall und mehr zusammen.
- Was sind die Lehren und nächsten Schritte? Was ist gut gelaufen und was ist nicht gut gelaufen? Wie können wir verhindern, dass dieses Problem erneut auftritt?
In den meisten Fällen wird die Analyse von den Teammitgliedern durchgeführt, die auf den Vorfall reagierten und die Ursache entschärften oder untersuchten.
Beispiel: Ausfall von Facebook, Whatsapp und Instagram im Oktober 2021
Am 4. Oktober 2021 kam es bei mehreren öffentlichen Diensten von Facebook zu einem weltweiten Ausfall von fast 24 Stunden. Wie Facebook (Meta) erklärte, führten Konfigurationsänderungen an den Backbone-Routern, die den Netzwerkverkehr zwischen den Rechenzentren koordinieren, zu Problemen, die die Kommunikation unterbrachen.
In diesem Artikel erfährst du mehr über den Ausfall des Dienstes und den Postmortem bei Meta.
Was Facebook getan hat, scheint auf den ersten Blick sehr einfach zu sein: Sie folgten ihrem internen Prozess „Storm Drills“. So stellen sie bei Facebook sicher, dass sie immer genau wissen, was sie als Nächstes zu tun haben, wenn etwas passiert.
Danach stellten sie sicher, dass sie einen Postmortem durchführen, um herauszufinden, was wirklich passiert ist.
Einführung von objektiven Post Mortems – Ohne Schuldzuweisungen
Die Durchführung von Post-Mortems scheint recht einfach zu sein. Für viele Organisationen, die noch nie darüber nachgedacht haben, Post-Mortems in ihre Incident Response einzubauen, könnte dies jedoch eine Herausforderung sein, die sie nicht auf die leichte Schulter nehmen sollten.
Die Einführung und der anhaltende Erfolg eines neuen oder geänderten Prozesses erfordern Zeit und Anstrengungen auf allen Ebenen der Organisation.
Um die Umstellung zu erleichtern, gibt es ein paar wichtige Grundsätze, die du beachten solltest:
- Achte darauf, dass du dich von Schuldzuweisungen und gegenseitigen Vorwürfen distanzierst: Dies ist der wichtigste Aspekt, um die Dinge von Anfang an richtig anzugehen. Wenn sich die Analyse darauf konzentriert, den Verursachern des Vorfalls die Schuld zu geben, anstatt dafür zu sorgen, dass das Team lernt und sich verbessert, wird die ganze Initiative eher schaden als nützen.
- Kommuniziere offen und fehlertolerant: Achte darauf, dass Post-Mortem-Meetings nicht dazu dienen, einen Schuldigen zu finden. Es ist die einzige Gelegenheit für die Teams, zu lernen und sich zu verbessern. Das bedeutet, ehrlich zu sein, was passiert ist, und die Erwartungen zu korrigieren.
- Führe einen Verantwortlichen für die Post-Mortem-Besprechung ein: Ein engagierter Leader stellt sicher, dass jede Reaktion auf einen Vorfall mit einem Postmortem abgeschlossen wird. Diese Führungskräfte verfügen in der Regel über ein umfassendes Verständnis für alle Services und DevOps. Der Leader gibt den Ton für Post-Mortems an und bestimmt weitgehend die kollektive Einstellung zur Distanzierung von Schuldzuweisungen.
- Arbeite zusammen, teile Informationen und fördere die Kommunikation: Sorge dafür, dass die Postmortems in einer internen Plattform (z. B. einem Confluence-Wiki) gut dokumentiert werden. Jeder Post Mortem kann dann als brauchbares Schulungsmaterial für deine Teams verwendet werden.
- Bringe das Topmanagement mit an Bord und beziehe alle relevanten Stakeholder ein: Um alle Teammitglieder in der Organisation zu begeistern, ist eine Kommunikation von oben nach unten unerlässlich. Gleichzeitig müssen aber auch die Führungskräfte wissen, was passiert ist. Stelle also sicher, dass du klare Zahlen und Ergebnisse kommunizierst.
- Triff Entscheidungen: Im Idealfall liefert eine gutes, lückenloses Postmortem präventive Vorschläge. Du musst festlegen, wer für die Genehmigung der Empfehlungen und die Überprüfung der schriftlichen Berichte verantwortlich ist.