Blog

10 ans d'échec vendredi chez PagerDuty: favoriser la résilience, l'apprentissage et la fiabilité

par Cristina Dias 25 juillet 2023 | 6 minutes de lecture

Dans le monde technologique actuel, en évolution rapide et en constante évolution, l’échec est inévitable. Les organisations devraient considérer l’échec comme une opportunité d’apprentissage sur la manière de créer et de fournir des services plus résilients. Chez PagerDuty, nous pratiquons le Failure Friday depuis maintenant 10 ans. Vendredi d'échec -un pratique inspirée de l’espace d’ingénierie du chaos – consiste à injecter intentionnellement des défaillances dans nos systèmes pour améliorer la fiabilité et favoriser une culture d’ingénierie proactive.

Nous avons interviewé Stevenson Jean-Pierre (SJP), directeur principal de l'ingénierie, et Mandi Walls, avocate DevOps, pour nous aider à comprendre la pratique du Failure Friday chez PagerDuty et comment cette pratique est adoptée dans l'ensemble du secteur.

Les origines et l'évolution de Failure Friday

Le 28 juin, nous avons célébré les dix ans de Vendredi d'échec chez PagerDuty. Ce qui a commencé comme une pratique hebdomadaire a rapidement évolué au-delà. Alors que les équipes impliquées ont continué à apprendre et à grandir, et dans un esprit d’apprentissage continu, Failure Friday a également évolué au cours de la décennie.

SJP gère les équipes chargées de la fiabilité des bases de données et de l'infrastructure. Pour les responsables du processus Failure Friday comme lui, cette initiative sert à plusieurs fins. Elle permet aux ingénieurs d'approfondir leur compréhension des systèmes, aux équipes de faire preuve de créativité tout en testant des scénarios de défaillance et permet des changements de production contrôlés avec les principales parties prenantes impliquées. Comme l'explique SJP, « au lieu d'attendre que les choses échouent de manière naturelle dans nos environnements, nous produisons des scénarios de défaillance dans notre propre infrastructure pour mieux comprendre leur fonctionnement. »

Si le concept de base du Failure Friday reste le même, SJP et ses équipes ont fait évoluer leur approche au fil du temps. Au départ, les tests de défaillance automatisés (perturbation aléatoire de certaines parties de l’infrastructure ou arrêt de services) étaient courants. Aujourd’hui, l’accent est mis sur les tests de défaillance intentionnels, ciblant des domaines tels que la charge et les performances. Ce changement délibéré permet aux équipes d’obtenir des informations exploitables sur des modes de défaillance spécifiques, des goulots d’étranglement et d’optimiser leurs systèmes plus efficacement.

De plus, le « Failure Friday » ne se limite plus à un jour spécifique de la semaine et se déroule en fonction des besoins de l'équipe. SJP souligne que l'échec peut survenir n'importe quel jour et embrasse ce concept au-delà du vendredi, en l'appelant « Failure Any Day ».

Alors, comment ça marche?

Le processus Failure Friday chez PagerDuty implique la planification et l'exécution de scénarios d'échec, avec des objectifs et des hypothèses spécifiques. SJP et son équipe identifient le système à tester, définissent le scénario de défaillance et sélectionnent les parties prenantes impliquées. Un Commandant d'intervention (CI) dirige le processus, en s'assurant qu'il reflète la réponse apportée lors d'un incident réel. Le processus est documenté et analysé, ce qui permet aux parties prenantes de donner leur point de vue. autopsie L'autopsie est menée pour identifier les domaines à améliorer, son champ d'application dépendant du scénario testé. S'il y a suffisamment de surprises ou de leçons apprises, l'équipe donne à l'autopsie un traitement plus formel ou invite un public plus large, selon le niveau de détail et de rigueur nécessaire à l'examen. Sinon, elle est menée par l'équipe qui a réalisé l'échec du vendredi.

Pour SJP, l'un des principaux enseignements du Failure Friday est la prise de conscience de la complexité des infrastructures numériques, avec toutes leurs données et systèmes interconnectés. Les comportements émergents peuvent surprendre même les ingénieurs expérimentés. En provoquant des pannes, ses équipes acquièrent une compréhension plus globale du système et découvrent des dépendances cachées. Ces connaissances permettent aux équipes de SJP de mieux gérer les incidents réels et de prévenir les impacts sur les clients. Elles leur permettent de concevoir des logiciels plus robustes et, en fin de compte, d'améliorer la fiabilité du système.

SJP a mentionné que le programme Failure Friday renforce également la confiance au sein de l'organisation. Les équipes d'ingénierie ont réussi à créer une culture de fiabilité, où une approche proactive face aux échecs est adoptée et valorisée.

Favoriser une culture d'innovation et d'apprentissage dans DevOps avec Failure Friday

Le Failure Friday est une pratique qui a gagné en popularité dans la communauté DevOps. Elle est utilisée comme moyen de favoriser l'innovation, d'améliorer la fiabilité du système et d'améliorer l'expérience client. Mandi a mis en lumière l'importance du Failure Friday dans la sphère DevOps et son impact sur la culture organisationnelle.

Pour elle, l'objectif de Failure Friday est clairement l'expérience client. Mandi a souligné la nécessité d'une gestion élégante des erreurs, d'une communication claire avec les utilisateurs et de la réduction des erreurs perturbatrices qui entraînent une mauvaise expérience client. Pour elle, des actions simples peuvent améliorer considérablement l'expérience client : « Gérez-vous certaines erreurs de manière plus élégante ? Affichez-vous un message sympathique à l'utilisateur ? Ou signalez-vous simplement une erreur 503 ? Ce n'est pas une très bonne expérience client. »

Selon Mandi, la mise en œuvre de Failure Friday ou de pratiques similaires peut s’accompagner d’avantages et de défis pour les organisations. Ces pratiques favorisent la collaboration entre les différentes parties prenantes, notamment les ingénieurs, les chefs de produit et les propriétaires d’entreprise. L’intégration de Failure Friday dans les processus DevOps favorise une meilleure harmonisation et une meilleure compréhension des impacts des échecs. De plus, Failure Friday contribue à développer une culture organisationnelle positive en créant un environnement à faibles enjeux pour des discussions ouvertes et l’apprentissage. Cela favorise la sécurité psychologique et une atmosphère sans reproche, facilitant des conversations honnêtes et une approche proactive de la résilience du système.

Cependant, des problèmes de stabilité et des capacités de test limitées peuvent entraîner des erreurs intentionnelles dans les systèmes de production. Des outils et des services peuvent contribuer à atténuer ces problèmes, en rendant les tests en production plus sûrs et plus accessibles. Favoriser la collaboration entre les parties prenantes nécessite une communication et une coordination efficaces, ce qui nécessite souvent des ajustements aux flux de travail et aux structures existants. De plus, adopter le principe du « Fault Friday » et cultiver un environnement sans reproche peut nécessiter un changement de culture organisationnelle, ce qui peut être difficile mais essentiel pour le succès de telles initiatives.

En fin de compte, pour Mandi, le « Vendredi de l’échec » a un impact positif sur la collaboration et la communication au sein d’une organisation. Cette pratique encourage les équipes à s’engager dans des discussions honnêtes, renforce la confiance et favorise une approche proactive de la résilience du système et de la satisfaction des clients. En fin de compte, investir dans le renforcement de la résilience se traduira par de meilleures expériences numériques pour vos clients.

Comment démarrer le « Vendredi de l’échec » dans votre organisation

Pour ceux qui souhaitent expérimenter le programme Failure Friday, SJP suggère de commencer petit et d'augmenter progressivement. La principale suggestion de Mandi est que les organisations donnent la priorité au renforcement de la sécurité psychologique et à la création d'environnements sans reproche. Comme elle le dit, « Le Vendredi de l'échec n'est pas seulement un exercice ; c'est une occasion de favoriser une culture de collaboration et de résilience. »

SJP croit fermement que « d’autres équipes et organisations peuvent tirer profit de l’adoption d’une approche similaire ». Reconnaissant que les échecs sont inévitables, il souligne l’importance de comprendre les systèmes de manière globale et d’adopter une mentalité de mode échec. Qu’il s’agisse d’effectuer des exercices complets du type « Failure Friday » ou de commencer par des exercices sur table, les organisations peuvent améliorer leurs pratiques d’ingénierie et cultiver une culture de résilience.

Si vous avez envie d'en savoir plus et de participer à la discussion…

Ne manquez pas l'occasion d'apprendre auprès d'experts du secteur et de découvrir comment Failure Friday peut révolutionner votre organisation et vos pratiques DevOps. flux Twitch enregistré et participez au dialogue dans les commentaires. Préparez-vous à considérer l'échec comme une voie vers le succès dans le monde de la technologie !