Partager via


Stratégies d’architecture pour répondre aux problèmes de performances en direct

S’applique à cette recommandation de liste de contrôle d’efficacité des performances d’Azure Well-Architected Framework :

PE :11 Répondez aux problèmes de performances en direct. Planifiez la façon de résoudre les problèmes de performances en intégrant des lignes claires de communication et de responsabilités. Lorsqu’une situation problématique se produit, utilisez ce que vous apprenez à identifier les mesures préventives et à les incorporer dans votre charge de travail. Implémentez des méthodes pour revenir aux opérations normales plus rapidement lorsque des situations similaires se produisent.

Ce guide décrit les meilleures pratiques pour répondre aux problèmes de performances en direct. Les problèmes de performances dynamiques font référence aux défis en temps réel et aux goulots d’étranglement qui peuvent entraver le fonctionnement optimal d’une charge de travail. La résolution rapide de ces problèmes facilite non seulement la détection et la correction immédiates des problèmes de performances, mais garantit également que la charge de travail répond constamment à ses benchmarks de performances. L’échec de leur résolution peut entraîner des complications, notamment des ralentissements, des incidents et une non-réponse du système, et dégrader l’expérience utilisateur. Ils peuvent également empêcher les utilisateurs d’effectuer efficacement leurs tâches et, à leur tour, ternir la réputation de l’organisation.

Définitions

Terme Definition
Corrélation des données Alignement des journaux, des métriques et des événements de différentes parties de votre charge de travail pour identifier les causes sous-jacentes.
Analyse des causes profondes Processus permettant d’identifier les facteurs sous-jacents responsables d’un problème.
Auto-guérison Capacité à réparer automatiquement les problèmes sans intervention humaine.
Auto-prévention Implémentations au sein d’une charge de travail pour éviter les problèmes potentiels et les défaillances.

Lorsque vous rencontrez un problème de performances en direct, vous devez être préparé avec les données appropriées et un plan de réponse au problème. Ce plan doit inclure des lignes claires de communication et de responsabilités. L’objectif principal est d’implémenter des solutions qui facilitent un retour rapide aux opérations régulières et fournissent des insights à partir de l’incident. L’intégration de mesures préventives dans votre flux de travail est une stratégie essentielle. L’objectif est d’empêcher le même problème de se produire à nouveau ou de réduire ses effets sur les performances s’il n’est pas évitable.

Préparer les problèmes

La réponse idéale aux problèmes de performances de site en direct est précise et rapide. La précision et la vitesse de correction des performances nécessitent une préparation. Pour répondre efficacement aux problèmes de performances en direct, il est essentiel de surveiller les métriques de performances clés, d’identifier la cause racine des problèmes et d’implémenter des solutions ou optimisations appropriées. Pour effectuer ces étapes, vous devrez peut-être analyser les journaux de charge de travail, effectuer des tests de performances, optimiser le code ou les configurations et mettre à l’échelle les ressources. Les exemples suivants décrivent quelques domaines critiques de préparation :

  • Disposez de diagrammes d’architecture précis. Vos diagrammes d’architecture doivent inclure tous les composants et montrer comment ils interagissent. La représentation visuelle peut aider à identifier les goulots d’étranglement et les points de défaillance uniques pouvant entraîner une dégradation des performances ou une indisponibilité. Dans l’idéal, vous interceptez et supprimez ces problèmes avant qu’ils ne provoquent des problèmes, mais avoir un diagramme de up-to-date peut vous aider à identifier les problèmes dans les moments de stress élevé.

  • Vérifiez l’accès aux données. Les données et les journaux des processus d’analyse sont essentiels pour répondre aux problèmes de performances en temps réel et effectuer des analyses de cause racine. Mais il est important de maintenir l’intégrité et la confidentialité des données. La réponse aux problèmes de performances de site en direct nécessite souvent l’accès aux données sous-jacentes qui peuvent ne pas être normalement accessibles. Vous devez vous assurer que le personnel a accès aux données dont il a besoin en cas de problèmes. Toutefois, vous ne devez accorder qu’un accès limité au temps, avec des privilèges minimum, et vous devez limiter cet accès au personnel autorisé.

  • Définir des alertes automatiques. Les alertes peuvent vous aider à identifier et à résoudre les problèmes dès qu’ils se produisent. Les alertes doivent générer des notifications lorsque les performances de la charge de travail s’écartent des bases de référence de performances. Au fil du temps, vous devez ajuster les configurations d’alerte pour éviter de générer trop de notifications ou trop peu de notifications. Les solutions de supervision que vous utilisez doivent collecter suffisamment de données pour générer des alertes. Ces alertes doivent s’aligner sur les cibles de performances et les bases de référence établies. Vous devez éviter de générer des alertes sur des problèmes pertinents pour vos objectifs. Parmi les exemples d’alertes, citons les dégradations de l’utilisation du processeur, de la mémoire, des temps de réponse et des performances de base de données.

Créer un plan de triage

La création d’un plan de triage implique la conception d’une approche structurée permettant d’identifier, d’escalader, d’analyser, de hiérarchiser et de communiquer les problèmes de performances de site en direct. Un plan de triage est une stratégie de réponse aux problèmes de performances en direct. Il garantit que les interruptions de performances sont traitées rapidement et efficacement, avec des rôles et des procédures clairs. La plupart des problèmes de performances ne méritent pas les protocoles de récupération d’urgence, mais ils peuvent affecter les fonctionnalités de charge de travail suffisantes pour exiger une planification de triage. Un plan de triage bien documenté garantit que tous les membres de l’équipe sont alignés et peuvent agir rapidement, réduisant ainsi l’impact sur les utilisateurs et les charges de travail. Un plan de triage doit inclure les composants suivants :

  • Identification et surveillance : implémentez un système pour identifier et surveiller les problèmes de performances en temps réel. Vous devez avoir une liste des coordonnées des personnes capables de prendre des décisions ou d’élever les problèmes à des niveaux supérieurs. Le plan doit également identifier les rôles et responsabilités. Il doit documenter les comptes qui accèdent aux informations protégées et pendant combien de temps.

  • Processus d’escalade : définissez un processus d’escalade clair pour vous assurer que les problèmes de performances sont réaffectés aux équipes ou aux individus appropriés en temps opportun. La définition du processus doit inclure des informations de contact et des instructions pour l’escalade des problèmes.

  • Analyse de la cause racine : développez un processus pour effectuer une analyse de cause racine afin d’identifier la cause sous-jacente de chaque problème de performances. Le processus doit impliquer l’analyse des journaux et des métriques de performances et la réalisation de tests de diagnostic pour identifier la source de chaque problème.

  • Hiérarchisation : Établissez un framework de hiérarchisation pour déterminer la gravité des problèmes de performances et les hiérarchiser en fonction de leur effet sur la charge de travail et les utilisateurs.

  • Communication : Créez un plan de communication pour informer les parties prenantes de l’état des problèmes de performance et de la progression de leur résolution. Tenez compte des mises à jour régulières, des rapports d’état et des canaux de communication clairs.

  • Documentation : Documentez le plan de triage, y compris toutes ses étapes, processus et meilleures pratiques. Cette documentation doit être facilement accessible aux membres de l’équipe impliqués dans la réponse aux problèmes de performances.

Développer des méthodes pour identifier et résoudre les problèmes

La résolution des problèmes de performances en direct implique l’identification et la résolution de tous les facteurs pouvant entraîner une dégradation des performances ou des inefficacités dans une charge de travail dynamique. Les données que vous collectez pendant la surveillance sont précieuses lorsque vous examinez et résolvez les incidents liés aux performances. Ces données fournissent un enregistrement historique des métriques de performances. Lorsque vous avez des données de surveillance disponibles, vous pouvez analyser les causes racines et identifier les facteurs contributeurs. Vous devez utiliser toutes les données de surveillance pertinentes pour comprendre et résoudre chaque problème de performances.

Utiliser l’analyse de la cause racine

L’analyse de la cause racine nécessite des tests d’hypothèse. Après avoir examiné les données de surveillance, vous devez répertorier les causes potentielles du problème de performances et les tester. Pour effectuer une analyse de la cause racine sur un problème de performances en direct, vous pouvez effectuer les étapes suivantes :

  1. Rassemblez des informations. Collectez autant d’informations que possible sur le problème de performances. Par exemple, les messages d’erreur, les journaux, les métriques de performances et toutes les autres données pertinentes.

  2. Définissez le problème. Définissez clairement le problème en identifiant les symptômes et l’effet que le problème a sur la charge de travail ou les utilisateurs.

  3. Examiner les causes potentielles. Limitez l’étendue de l’analyse en identifiant le composant ou la zone spécifique de la charge de travail où se produit le problème de performances. Identifiez les causes potentielles du problème de performances en fonction des informations collectées. Ce processus peut impliquer l’analyse du code, des paramètres de configuration, de l’infrastructure ou des dépendances externes.

  4. Mettre en corrélation les données. Explorez plus en détail les données collectées pour identifier les modèles, anomalies ou corrélations susceptibles de contribuer au problème de performances. La corrélation des données est essentielle pour identifier les problèmes de performances et les causes. Il peut s’agir d’examiner les journaux, d’analyser les métriques de performances et d’effectuer des tests.

  5. Testez des hypothèses. Formulez des hypothèses basées sur les causes potentielles que vous identifiez. Effectuez des tests pour valider ou réfuter vos hypothèses. Vous devez utiliser un environnement de test pour voir si vous pouvez répliquer l’erreur.

  6. Implémenter des solutions. Une fois que vous avez identifié une cause racine, développez et implémentez des solutions pour résoudre le problème de performances.

  7. Surveillez et validez. Après avoir implémenté les solutions, surveillez en permanence la charge de travail pour vous assurer que le problème de performances est résolu. Validez l’efficacité des solutions en surveillant les métriques de performances et les commentaires des utilisateurs.

Compromis : Les étapes d’une analyse de cause racine, telles que l’identification des causes possibles, les hypothèses de test et la documentation de l’analyse, peuvent prendre du temps. Pour mettre en corrélation les problèmes de performances, vous devez également collecter et stocker des données. Le temps nécessaire et l’infrastructure peuvent ajouter un travail significatif aux équipes d’exploitation et au coût de la charge de travail.

Risque : si vous effectuez une analyse de cause racine sans garde-fous de sécurité appropriés, vous risquez d’exposer des informations sensibles lorsque vous fournissez l’accès aux journaux d’activité et aux données.

Impliquer le support des fournisseurs

La prise en charge du fournisseur peut être une étape essentielle lorsque vous traitez des problèmes de performances en cours. Les fournisseurs ont l’expertise, les outils, les ressources et l’expérience nécessaires pour résoudre les problèmes liés à leurs produits. Votre contrat de support avec votre fournisseur détermine le niveau de support fourni par un fournisseur.

Il est souvent préférable de travailler en parallèle avec les fournisseurs. Vous devez créer un plan pour que certains membres de l’équipe collaborent avec le support du fournisseur, tandis que d’autres continuent à trier et à résoudre les problèmes de performances. Les équipes de support technique des fournisseurs peuvent également faire des suggestions sur la façon d’empêcher et d’automatiser les réponses à des événements similaires.

Vous devez disposer des coordonnées disponibles pour votre personnel. Les fournisseurs peuvent également avoir besoin d’accéder aux données pour s’engager efficacement dans la résolution des problèmes. Vous devez disposer d’un plan en place pour l’authentification et l’autorisation des comptes externes ou invités pour accéder aux données de surveillance.

En savoir plus sur les résultats

Après avoir résolu un problème de performances de site en direct, vous devez examiner ce qui s’est passé. L’objectif est d’apprendre des problèmes de performances, pas seulement d’identifier les problèmes. La meilleure façon d’apprendre consiste à utiliser la documentation. Documentez chaque problème et expliquez comment le résoudre. Si un fournisseur a aidé, collaborez avec le fournisseur pour améliorer votre documentation, former votre équipe et modifier votre charge de travail en conséquence.

La documentation doit indiquer comment empêcher chaque problème de se produire à nouveau. Une façon d’éviter les problèmes récurrents consiste à introduire l’automatisation pour répondre aux problèmes courants. L’automatisation doit ajouter des qualités d’auto-guérison et de prévention à une charge de travail. En plus de l’automatisation, vous pouvez créer des alertes affinées qui vous aident à répondre rapidement aux indicateurs de problème de performances.

Facilitation Azure

Développement de méthodes pour identifier et résoudre les problèmes : Azure fournit plusieurs outils pour vous aider à répondre aux problèmes de performances en direct :

  • Azure Monitor est une solution de supervision complète qui fournit des insights sur les performances et l’intégrité de vos applications et de votre infrastructure. Monitor offre des fonctionnalités telles que les métriques, les journaux, les alertes et les tableaux de bord pour vous aider à surveiller et diagnostiquer les problèmes de performances.

  • Application Insights est un service de gestion des performances des applications (APM) qui aide les développeurs et les professionnels devOps à surveiller les applications actives. Il détecte automatiquement les anomalies de performances, collecte les journaux et les événements au niveau de l’application et fournit des outils d’analyse pour diagnostiquer les problèmes.

  • Log Analytics est un service qui collecte et analyse les données de journal à partir de différentes sources, notamment les applications, les machines virtuelles et les ressources Azure. Lorsque vous utilisez Log Analytics, vous pouvez interroger et analyser des données de journal pour obtenir des insights sur les performances et le comportement de vos applications.

Liste de contrôle d’efficacité des performances

Reportez-vous à l’ensemble complet de recommandations.