Qu'est-ce que l'analyse de la cause racine (RCA)?
Lors de tests de nouvelles versions majeures, vous pouvez parfois être surpris par de nouvelles erreurs dans l'environnement de production. Pourquoi ? Que s'est-il passé ? Les environnements de test ne sont pas toujours aussi proches de la production que vous l'espérez. Des modifications d'infrastructure peuvent être apportées à l'environnement sans qu'elles soient documentées, ce qui entraîne de légères dérives d'environnement.
La résolution de pannes est un exercice très chronophage. Apprendre à résoudre les problèmes plus rapidement est l'un des meilleurs investissements que vous puissiez faire en tant que développeur de logiciels.
L'analyse de la cause racine est une technique spécifique que vous pouvez utiliser pour résoudre les problèmes. Avec cette technique, vous analysez le problème à l'aide d'un ensemble particulier d'étapes pour identifier la cause principale du problème. Elle repose sur le principe qu'il ne sert à rien de s'occuper des symptômes d'un problème si l'on ignore ses causes profondes.
Quels sont les avantages de l'analyse de la cause racine ?
L'analyse de la cause racine est une technique spécifique que vous pouvez utiliser pour résoudre les problèmes. Avec cette technique, vous analysez le problème à l'aide d'un ensemble particulier d'étapes pour identifier la cause principale du problème. Elle repose sur le principe qu'il ne sert à rien de s'occuper des symptômes d'un problème si l'on ignore ses causes profondes.
Comment démarrer avec l'analyse de la cause racine ?
Décrire le problème
Utilisez la méthode du canard en plastique pour décrire le problème avec des mots simples. Quand vous décrivez quelque chose, vous êtes tenu de mettre en ordre vos pensées. Jeff Atwood, cofondateur du célèbre site Q&A Stack Overflow, nous déclare qu'un développeur de logiciels lui a souvent raconté qu'il avait écrit une nouvelle question sur le site, qu'il avait trouvé la réponse par lui-même et qu'il n'avait jamais vraiment soumis la question.
Essayez les approches suivantes pour vous aider à décrire le problème avec des mots simples :
- Écrivez une question Stack Overflow, même si vous ne la soumettez jamais.
- Déposez un rapport de bogue détaillé.
- Expliquez-le à un collègue.
Collectez les données de journal (et effectuez des recherches efficaces dans ces dernières).
Ensuite, recueillez davantage de données sur le problème et extrayez-en des informations. La journalisation et la surveillance sont très utiles ici : journaux de plantages, journaux des applications et serveurs, etc. Vous devez rassembler des preuves que le problème s'est produit, mais aussi, si possible, déterminer depuis combien de temps il se produit et à quelle fréquence.
Dans cet ensemble de données, vous devez rechercher des points de données spécifiques rapidement. Des outils peuvent vous aider à rechercher et analyser les données de journaux que vous collectez et à les transformer en informations pour diagnostiquer et résoudre des problèmes plus rapidement.
Utiliser la technique des cinq pourquoi
Ensuite, identifiez les facteurs de causalité, c'est-à-dire la cause immédiate du problème en question. Évitez d'identifier un facteur de causalité et de vous arrêter là. Vous devez aller plus loin en utilisant la technique des cinq pourquoi. Posez-vous la question « Pourquoi ? » de façon itérative jusqu'à ce que vous trouviez la cause racine du problème. Par exemple, votre site web affiche Erreur 500.
- Pourquoi ? Parce que le composant de routage du cadre web a mal fonctionné.
- Pourquoi ? Parce qu'il nécessite un autre composant, qui lui-même a mal fonctionné.
- Pourquoi ? Parce que ce composant du cadre web nécessite l'extension intl, qui ne fonctionne pas.
- Pourquoi ? Parce qu'il a été accidentellement désactivé après la mise à jour du logiciel du serveur.
Bien sûr, vous pouvez aller à la racine du problème avec moins d'étapes. Ou vous pouvez en avoir besoin d'encore plus.
Faire appel à un autre regard
Comme pour l'examen de code, demandez à une autre personne impartiale de passer en revue votre code. Avec le temps, les attentes de l'examen vous aideront à affiner le processus. Ou mieux encore, faites du dépannage en binôme.
Comment AWS peut-il vous aider à analyser la cause racine ?
L'une des principales offres d'AWS en ce qui concerne l'analyse de la cause racine vise à vous aider à ingérer et analyser vos données de journaux. Pour cela, nous recommandons Amazon OpenSearch Service. Amazon OpenSearch Service vous permet d'effectuer facilement des analytiques interactives de journaux , de surveiller des applications en temps réel, de rechercher du contenu sur site web, etc. OpenSearch est une suite de recherche et d'analyse distribuée, open source, dérivée d'Elasticsearch. Amazon OpenSearch Service optimise la recherche, la surveillance et l'analyse en temps réel et en toute sécurité des données métier et opérationnelles pour des cas d'utilisation tels que la surveillance des applications, l'analytique des journaux, l'observabilité et la recherche sur les sites Web.
Commencez à utiliser l'analyse de la cause racine sur AWS en créant un compte dès aujourd'hui.