Passer au contenu principal

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. Quelles en sont les raisons ? 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 l'approche RubberDuck (débogage Rubber-Duck) pour expliquer simplement votre problème. Quand vous décrivez quelque chose, vous êtes tenu de mettre en ordre vos pensées. Jeff Atwood, cofondateur du célèbre site de questions-réponses Stack Overflow, raconte combien de fois un développeur de logiciels lui a parlé d'écrire une nouvelle question sur le site, de trouver la réponse par lui-même au cours du processus, sans jamais réellement soumettre la question.

Essayez les approches suivantes pour vous aider à décrire le problème avec des mots simples :

  1. Écrivez une question Stack Overflow, même si vous ne la soumettez jamais.
  2. Déposez un rapport de bogue détaillé.
  3. 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. Les outils peuvent vous aider à rechercher et à analyser les données de journal que vous avez collectées et à les transformer en informations permettant de diagnostiquer et de résoudre les 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.

  1. Quelles en sont les raisons ? Parce que le composant de routage du cadre web a mal fonctionné.
  2. Quelles en sont les raisons ? Parce qu'il nécessite un autre composant, qui lui-même a mal fonctionné.
  3. Quelles en sont les raisons ? Parce que ce composant du cadre web nécessite l'extension intl, qui ne fonctionne pas.
  4. Quelles en sont les raisons ? 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 à analyser les causes premières sur AWS en créant un compte dès aujourd'hui.