Der Blog

10 Jahre Misserfolg am Freitag bei PagerDuty: Förderung von Belastbarkeit, Lernen und Zuverlässigkeit

von Cristina Dias 25. Juli 2023 | 6 min Lesezeit

In der heutigen schnelllebigen und sich ständig weiterentwickelnden Welt der Technologie ist Versagen unvermeidlich. Unternehmen sollten Versagen als Lernmöglichkeit begreifen, um widerstandsfähigere Dienste zu entwickeln und bereitzustellen. Bei PagerDuty praktizieren wir den Failure Friday nun schon seit 10 Jahren. Misserfolg am Freitag -A Eine vom Chaos Engineering inspirierte Praxis – beinhaltet das absichtliche Einschleusen von Fehlern in unsere Systeme, um die Zuverlässigkeit zu verbessern und eine proaktive Engineering-Kultur zu fördern.

Wir haben Stevenson Jean-Pierre (SJP), einen Senior Engineering Manager, und Mandi Walls, eine DevOps-Befürworterin, interviewt, um die Failure Friday-Praxis bei PagerDuty und die branchenweite Umsetzung dieser Praxis besser zu verstehen.

Die Ursprünge und die Entwicklung des Failure Friday

Am 28. Juni feierten wir zehn Jahre Misserfolg am Freitag bei PagerDuty. Was als wöchentliche Übung begann, entwickelte sich schnell zu mehr. Da die beteiligten Teams weiter lernten und wuchsen und im Geiste des kontinuierlichen Lernens, hat sich auch Failure Friday im Laufe des Jahrzehnts weiterentwickelt.

SJP leitet Datenbankzuverlässigkeits- und Infrastrukturteams. Für Failure Friday-Prozessleiter wie ihn dient diese Initiative mehreren Zwecken. Sie vertieft das Systemverständnis der Ingenieure, ermöglicht Teams, beim Testen von Fehlerszenarien kreativ zu werden, und ermöglicht kontrollierte Produktionsänderungen unter Einbeziehung wichtiger Stakeholder. SJP erklärt: „Anstatt darauf zu warten, dass Dinge in unseren Umgebungen auf natürliche Weise versagen, erzeugen wir Fehlerszenarien in unserer eigenen Infrastruktur, um besser zu verstehen, wie sie funktionieren.“

Während das Kernkonzept von Failure Friday gleich geblieben ist, haben SJP und seine Teams ihren Ansatz im Laufe der Zeit weiterentwickelt. Anfangs waren automatisierte Fehlertests – bei denen Teile der Infrastruktur zufällig gestört oder Dienste gestoppt wurden – üblich. Mittlerweile hat sich der Schwerpunkt auf gezielte Fehlertests verlagert, die sich auf Bereiche wie Auslastung und Leistung konzentrieren. Diese gezielte Verschiebung ermöglicht es den Teams, umsetzbare Erkenntnisse über bestimmte Fehlermodi und Engpässe zu gewinnen und ihre Systeme effektiver zu optimieren.

Darüber hinaus ist der Failure Friday nicht mehr auf einen bestimmten Wochentag beschränkt, sondern findet je nach Bedarf des Teams statt. SJP betont, dass Misserfolge an jedem Tag passieren können, und erweitert dieses Konzept über den Freitag hinaus, indem es „Failure Any Day“ nennt.

Wie funktioniert es also?

Der Failure Friday-Prozess bei PagerDuty umfasst die Planung und Durchführung von Fehlerszenarien mit spezifischen Zielen und Hypothesen. SJP und sein Team identifizieren das zu testende System, definieren das Fehlerszenario und wählen die beteiligten Stakeholder aus. Ein Einsatzleiter (IC) leitet den Prozess und stellt sicher, dass er die Reaktion bei einem echten Vorfall widerspiegelt. Der Prozess wird dokumentiert und analysiert, sodass die Beteiligten ihre Perspektiven darlegen können. Ein Obduktion wird durchgeführt, um Verbesserungsbereiche zu identifizieren, wobei der Umfang vom getesteten Szenario abhängt. Wenn es genügend Überraschungen oder gewonnene Erkenntnisse gibt, behandelt das Team die Post-Mortem-Analyse formeller oder lädt ein breiteres Publikum ein, wenn der für die Überprüfung erforderliche Detaillierungsgrad und die Genauigkeit dies rechtfertigen. Andernfalls wird sie von dem Team durchgeführt, das für den Failure Friday verantwortlich war.

Für SJP ist eine der wichtigsten Erkenntnisse aus Failure Friday die Erkenntnis, wie komplex die digitale Infrastruktur mit all ihren vernetzten Daten und Systemen geworden ist. Emergentes Verhalten kann sogar erfahrene Ingenieure überraschen. Indem seine Teams Fehler herbeiführen, erlangen sie ein ganzheitlicheres Verständnis des Systems und decken versteckte Abhängigkeiten auf. Mit diesem Wissen sind die Teams von SJP besser in der Lage, reale Vorfälle zu bewältigen und Auswirkungen auf die Kunden zu verhindern. Es versetzt sie in die Lage, robustere Software zu entwickeln und letztlich die Systemzuverlässigkeit zu verbessern.

SJP erwähnte, dass Failure Friday auch Vertrauen innerhalb der Organisation schafft. Die Entwicklungsteams haben erfolgreich eine Kultur der Zuverlässigkeit aufgebaut, in der ein proaktiver Umgang mit Fehlern akzeptiert und geschätzt wird.

Förderung einer Innovations- und Lernkultur in DevOps mit Failure Friday

Failure Friday ist eine Praxis, die in der DevOps-Community an Popularität gewonnen hat. Sie wird verwendet, um Innovationen zu fördern, die Systemzuverlässigkeit zu verbessern und das Kundenerlebnis zu optimieren. Mandi beleuchtete die Bedeutung von Failure Friday im DevOps-Bereich und seine Auswirkungen auf die Unternehmenskultur.

Für sie liegt der Fokus von Failure Friday klar auf dem Kundenerlebnis. Mandi betonte die Notwendigkeit einer eleganten Fehlerbehandlung, einer klaren Kommunikation mit den Benutzern und der Minimierung störender Fehler, die zu einem schlechten Kundenerlebnis führen. Ihrer Ansicht nach können einfache Maßnahmen das Kundenerlebnis deutlich verbessern: „Gehen Sie mit bestimmten Fehlern eleganter um? Zeigen Sie dem Benutzer eine nette Nachricht an? Oder melden Sie einfach einen 503-Fehler? Das ist kein sehr gutes Kundenerlebnis.“

Laut Mandi kann die Implementierung von Failure Friday oder ähnlichen Praktiken für Unternehmen sowohl Vorteile als auch Herausforderungen mit sich bringen. Diese Praktiken fördern die Zusammenarbeit zwischen verschiedenen Interessengruppen, darunter Ingenieuren, Produktmanagern und Geschäftsinhabern. Die Integration von Failure Friday in DevOps-Prozesse fördert eine bessere Abstimmung und ein besseres Verständnis der Auswirkungen von Fehlern. Darüber hinaus trägt Failure Friday zur Entwicklung einer positiven Unternehmenskultur bei, indem es eine Umgebung ohne Risiko für offene Diskussionen und Lernen schafft. Dies fördert die psychologische Sicherheit und eine Atmosphäre ohne Schuldzuweisungen, erleichtert ehrliche Gespräche und einen proaktiven Ansatz zur Systemstabilität.

Aufgrund von Stabilitätsbedenken und eingeschränkten Testmöglichkeiten kann es jedoch zu Problemen kommen, wenn absichtlich Fehler in Produktionssysteme eingebaut werden. Tools und Dienste können helfen, diese Bedenken auszuräumen und Tests in der Produktion sicherer und zugänglicher zu machen. Die Förderung der Zusammenarbeit zwischen den Beteiligten erfordert eine effektive Kommunikation und Koordination, was häufig Anpassungen bestehender Arbeitsabläufe und Strukturen erforderlich macht. Darüber hinaus kann die Akzeptanz des Failure Friday und die Pflege einer Umgebung ohne Schuldzuweisungen eine Veränderung der Unternehmenskultur erfordern, was zwar eine Herausforderung sein kann, aber für den Erfolg solcher Initiativen unerlässlich ist.

Letztlich wirkt sich Failure Friday für Mandi positiv auf die Teamzusammenarbeit und Kommunikation innerhalb einer Organisation aus. Die Praxis ermutigt Teams zu ehrlichen Diskussionen, stärkt das Vertrauen und fördert einen proaktiven Ansatz zur Systemstabilität und Kundenzufriedenheit. Letztendlich zahlt sich die Investition in den Aufbau von Stabilität in besseren digitalen Erlebnissen für Ihre Kunden aus.

So führen Sie den Failure Friday in Ihrem Unternehmen ein

Für diejenigen, die mit Failure Friday experimentieren möchten, schlägt SJP vor, klein anzufangen und die Menge schrittweise zu steigern. Mandis wichtigster Vorschlag ist, dass Organisationen dem Aufbau psychologischer Sicherheit und der Schaffung einer Umgebung ohne Schuldzuweisungen Priorität einräumen. Wie sie sagt: „Failure Friday ist nicht nur eine Übung; es ist eine Gelegenheit, eine Kultur der Zusammenarbeit und Belastbarkeit zu fördern.“

SJP ist fest davon überzeugt, dass „andere Teams und Organisationen von einem ähnlichen Ansatz profitieren können“. Er ist sich bewusst, dass Fehler unvermeidlich sind, und betont daher, wie wichtig es ist, Systeme umfassend zu verstehen und sich eine Fehlermodus-Denkweise anzueignen. Ob sie nun komplette Failure Friday-Übungen durchführen oder mit Planspielen beginnen, Organisationen können ihre Engineering-Praktiken verbessern und eine Kultur der Belastbarkeit kultivieren.

Wenn Sie mehr erfahren und an der Diskussion teilnehmen möchten …

Verpassen Sie nicht die Chance, von Branchenexperten zu lernen und herauszufinden, wie Failure Friday Ihre Organisation und DevOps-Praktiken revolutionieren kann. Sehen Sie sich die aufgezeichneter Twitch-Stream und nehmen Sie in den Kommentaren am Dialog teil. Machen Sie sich bereit, Misserfolge als Weg zum Erfolg in der Welt der Technologie zu akzeptieren!