Bonnes pratiques pour la surveillance des applications : quelle est la meilleure approche pour votre entreprise ?

17 octobre 2023

Temps de lecture : 7 min

Pour s’assurer que leurs applications répondent aux attentes des utilisateurs finaux (performance, disponibilité et expérience globale), les organisations doivent absolument comprendre comment fonctionnent lesdites applications. Cet objectif est atteint grâce à la surveillance des applications, éventuellement assistée par un logiciel de surveillance des applications.

D’une manière générale, les logiciels de surveillance des applications mesurent les performances, la sécurité et la conformité des applications, envoient des alertes lorsque les niveaux de performance ne sont pas atteints, fournissent des informations sur les causes profondes des problèmes de performances et utilisent l’automatisation pour résoudre les problèmes détectés avant qu’ils n’aient un impact sur l’expérience de l’utilisateur final. Un puissant outil de surveillance des applications peut aider vos équipes, avec les informations fournies, à respecter les SLA et à prendre des décisions plus éclairées pour votre entreprise.

Le domaine de la surveillance des applications évolue sans cesse. De nombreuses solutions vont au-delà des outils traditionnels de surveillance des performances des applications (« application performance monitoring » ou APM) et tentent d’atteindre l’objectif plus général d’observabilité, sous la forme d’une technologie d’analyse et de collecte des données de performance, qui est plus adaptée à la complexité des applications modernes, distribuées et cloud natives. 

Les stratégies de surveillance des applications varient en fonction des besoins d’une organisation, et il existe des types spécifiques de surveillance (dont certains seront plus adaptés que d’autres) qui peuvent être utilisés pour améliorer les performances, l’intégrité, les dépendances, les lacunes de sécurité (etc.) des applications. Examinons différents types de surveillance des applications.

Types de surveillance des applications

Le choix de la solution appropriée est crucial pour réussir la surveillance et la gestion des applications, en particulier si l’on considère le nombre croissant d’applications dans les environnements informatiques d’aujourd’hui. Les architectures informatiques modernes étant souvent complexes, il est crucial de choisir un outil de surveillance capable de fonctionner sur différents modèles de déploiement (cloud public et privé, cloud hybride et multicloud, par exemple), et qui prend en charge un large éventail d’intégrations.

Il existe différents types de surveillance des applications, chacun avec un objectif différent. Comprendre le fonctionnement de chaque type et l’objectif poursuivi est la première étape pour identifier la solution logicielle et la stratégie qui répondront le mieux aux besoins de votre organisation. (La section suivante inclut des informations provenant de la page Gestion de la performance des applications d’IBM.)

  1. La surveillance de l’expérience en ligne recueille des indicateurs de performance (temps de chargement, temps de réponse, temps de fonctionnement et temps d’arrêt) à partir de l’interface utilisateur de l’utilisateur final. Elle est utile pour comprendre le comportement de l’utilisateur, qui lui-même permet de résoudre rapidement les problèmes du frontend. Autrefois appelée surveillance de l’expérience utilisateur, ce type de surveillance englobe désormais les interactions non humaines (comme celles des robots ou d’autres composants logiciels) qui interagissent également avec les applications et qui ont leurs propres exigences de performance. La surveillance de l’expérience en ligne englobe normalement la surveillance des utilisateurs réels (qui fait le suivi de l’expérience des utilisateurs dans le système) ainsi que la surveillance synthétique (qui teste la performance des applications dans les environnements de production et de non-production).

  2. La surveillance des applications comprend la surveillance de l’ensemble de la pile d’applications (framework d’applications – par exemple, Java ou .NET – système d’exploitation, base de données, API, middleware, serveur d’applications web, interface utilisateur), mais aussi la surveillance de l’infrastructure informatique, qui échantillonne des facteurs tels que l’utilisation du processeur, l’espace disque et les performances du réseau. La surveillance de la pile inclut généralement le traçage au niveau du code, qui permet d’identifier les parties du code susceptibles de provoquer un goulot d’étranglement pour les performances.
  3. La surveillance des bases de données échantillonne les performances des requêtes et des procédures SQL (en plus de la surveillance des jeux de données fournie par les agents de surveillance des applications).
  4. La surveillance de la disponibilité contrôle la disponibilité réelle des composants applicatifs et matériels (les applications peuvent générer des données de performance même lorsqu’elles ne sont pas accessibles aux utilisateurs).
  5. La surveillance des performances mesure le temps de réponse et les données des applications en temps réel afin d’évaluer les performances des applications et d’identifier de manière proactive les problèmes (comme la lenteur des requêtes dans les bases de données ou l’augmentation de la latence du réseau et les pics d’activité du CPU).
  6. La surveillance des ressources peut être considérée comme une approche plus granulaire de la surveillance des applications, car elle fait le suivi de l’utilisation des ressources (comme le processeur, la mémoire ou le stockage). En surveillant l’utilisation des ressources, une organisation peut optimiser leur utilisation et garantir ainsi que les applications disposent de ce dont elles ont besoin pour fonctionner de manière efficace. La surveillance des ressources est un élément fondamental de l’optimisation des coûts du cloud, on objectif autour duquel est conçue la plateforme IBM Turbonomic.
  7. La surveillance de la sécurité permet de détecter les vulnérabilités et les menaces de sécurité. Il peut s’agir par exemple de l’hameçonnage, des escroqueries par logiciels malveillants ou d’autres tentatives d’accès non autorisées. Elle permet aux organisations de protéger leurs données sensibles et de se conformer aux réglementations du secteur.

Que rechercher dans les outils d’APM ?

Il est essentiel de trouver une solution qui vous permet d’aller au-delà des capacités des outils d’APM traditionnels et d’obtenir des performances optimales dans une pile d’applications moderne. Alors que vous comparez les prix et d’autres variables, voici quelques fonctionnalités que vous devez rechercher dans les solutions d’APM :

  • Observabilité de l’ensemble de la pile – Regarder une seule pièce du puzzle ne peut pas suffire. Vous devez pouvoir visualiser la totalité de votre environnement et l’ensemble de ses dépendances au moyen de tableaux de bord intuitifs (et idéalement personnalisables) pour comprendre comment votre environnement informatique fonctionne et pourquoi il fonctionne de cette façon. Cette compréhension globale vous aidera à prendre des décisions plus éclairées en ce qui concerne les performances des applications et de ressources. Une telle visibilité permet non seulement à vos équipes de comprendre tout l’impact des décisions proposées et de procéder en toute confiance, mais aussi de démocratiser le processus de surveillance et de gestion (c’est-à-dire de permettre à un plus grand nombre d’équipes d’accéder directement aux informations dont elles ont besoin).
  • Automatisation – De nos jours, l’automatisation est incontournable. Essayer de gérer manuellement tous les aspects de votre environnement informatique est pratiquement impossible. Au minimum, cela vous coûtera cher et mettra vos équipes à rude épreuve. Vous avez besoin d’un outil qui tire parti de l’automatisation, avec des fonctionnalités telles que les alertes automatisées, la génération automatisée de rapports et la résolution automatisée des incidents, le but étant de réduire la charge de travail manuelle qui pèse sur vos équipes informatiques et DevOps.
  • Évolutivité – Plutôt que de mettre à niveau vos outils d’APM au fur et à mesure que votre entreprise se développe, adoptez une solution capable de se dimensionner sans peine. Recherchez un outil capable de collecter, d’agréger, de stocker et d’analyser des données provenant de l’ensemble de votre environnement (y compris sur mobile et sur ordinateur de bureau), même lorsque votre environnement devient plus complexe, et qui peut fournir des informations utiles pour les prises de décisions stratégiques.
  • Analyse des causes profondes et résolution – Recherchez un outil qui détecte automatiquement les changements, les problèmes et les incidents et qui fournit les informations en contexte. Vous réduirez considérablement le temps nécessaire pour trouver l’origine des problèmes qui affectent vos applications et les résoudre. Une solution comprenant des alertes intelligentes basées sur des seuils, la détection et la corrélation automatiques des événements, des problèmes et des incidents de service, ainsi que l’identification automatique de la cause première probable de chaque incident permettra d’obtenir le délai moyen de résolution (« mean time to resolution » ou MTTR) le plus rapide.
  • Capacités d’intégration – Vous utiliserez probablement de nombreux outils différents pour gérer votre environnement informatique, et mieux ils fonctionneront ensemble, plus vos workflows seront efficaces. Par exemple, IBM Instana Observability s’intègre à d’autres outils de surveillance (outils de gestion des registres et de surveillance du réseau comme Turbonomic) pour fournir une vue complète de la performance des applications dans l’ensemble de l’infrastructure informatique, cela sans plug-ins ni redémarrage des applications. Découvrez également quelles options de déploiement sont proposées. Afin de donner aux entreprises un plus grand choix pour l’installation, les logiciels d’APM offrent des options de déploiement sur site et dans le cloud.

Bonnes pratiques pour la surveillance des applications

Avec une bonne compréhension des différents types de surveillance des applications, il est plus facile de mettre en œuvre les bonnes pratiques, qui permettent à leur tour d’atteindre les objectifs de performance et de maintenir le bon fonctionnement de votre environnement informatique. Gardez ces pratiques à l’esprit lorsque vous configurez ou révisez votre système de surveillance des applications :

Établir des objectifs de performance clairs

Définissez des objectifs de performance clairs, qui pourront être jaugés à l’aide de mesures et de KPI clairement définis. Une fois que les objectifs ont été définis, il convient d’établir un plan pour les atteindre, qui devra comprendre un suivi et une analyse réguliers des données de performance pour évaluer les progrès.

Si vous n’avez pas encore défini vos objectifs de performance, il est recommandé de prendre en compte les normes du secteur (par exemple pour l’utilisation des ressources ou les temps d’arrêt) ainsi que les attentes des utilisateurs finaux pour vous aider à déterminer ce qui constitue une performance médiocre, acceptable ou exceptionnelle dans le cadre de votre entreprise.

Surveillez les indicateurs appropriés

La quantité de données disponibles peut être écrasante, et il peut être difficile de décider quels indicateurs vous devez surveiller. Le fait de savoir quels indicateurs sont pertinents pour vos objectifs vous aidera à vous concentrer sur les informations les plus importantes et à ignorer la plus grande partie du bruit de fond. Les indicateurs essentiels pour identifier les problèmes de performance sont les suivants :

  • Utilisation de l'unité centrale
  • Taux d'erreur
  • Temps de réponse
  • Taux de requêtes
  • Données/commentaires sur l’expérience utilisateur

Configurer des alertes et des notifications personnalisées

Il est essentiel de définir des alertes et des notifications personnalisées en fonction des seuils de performance établis pour votre organisation et vos SLA. En général, il n’existe pas de solution unique, et vous devez tenir compte de facteurs tels que le trafic des utilisateurs, les temps de réponse et les taux d’erreur (en fonction de leur importance pour votre activité).

Grâce aux alertes et aux notifications personnalisées, lorsqu’un problème survient, un membre de l’équipe compétente reçoit une notification. Il peut alors l’examiner et le résoudre avant qu’il n’ait un impact sur l’expérience de l’utilisateur final. De nombreuses plateformes permettent également une résolution automatisée des problèmes. L’essentiel est de mettre en place un système adapté à vos besoins, capable d’alerter vos équipes en temps quasi réel et d’éviter que les problèmes ne s’aggravent. Lorsque vous configurez votre système, voici quelques éléments à prendre en compte pour vous assurer que celui-ci fonctionne efficacement :

  • Éviter la baisse de la vigilance – Il est important que les équipes soient rapidement informées de tout problème potentiel, mais trop d’alertes provoquent une baisse de la vigilance, et les alertes importantes risquent de se perdre au milieu du bruit de fond. Définissez soigneusement les situations dont la criticité justifie une alerte, et envisagez de regrouper les alertes apparentées en une seule notification lorsque c’est possible. Assurez-vous que les alertes sont accompagnées d’informations contextuelles, qui aideront les équipes à résoudre rapidement le problème.
  • Définir un processus – Assurez-vous qu’il existe une procédure claire et concise pour une remontée rapide et appropriée des problèmes critiques, et que cette procédure est communiquée à toutes les parties concernées.
  • Rationaliser les notifications – Il est probable que vos employés travaillent déjà sur plusieurs plateformes : client e-mail, Slack, logiciel de gestion de projet, etc. Étudiez la possibilité pour les utilisateurs de recevoir des notifications là où ils travaillent (est-il possible d’intégrer les alertes dans les canaux collaboratifs actuellement utilisés et d’éviter à vos équipes de devoir adopter une autre plateforme ?).
  • Examiner et affiner – Les SLA et les technologies changent, et votre entreprise elle-même est en constante évolution. Il est important d’examiner les systèmes d’alerte en fonction de votre activité, d’ajuster vos méthodes et d’intégrer de nouvelles fonctionnalités selon vos besoins.

Bâtir vos systèmes en intégrant des exigences de sécurité et de conformité

Maintenir la sécurité de vos applications logicielles et veiller à respecter les exigences de conformité qui s’appliquent à votre entreprise doivent faire partie des priorités absolues de votre stratégie de surveillance. Lors de la planification de votre stratégie, tenez compte des exigences de votre entreprise et déterminez de quels outils vous aurez besoin pour y répondre (par exemple le chiffrement ou les contrôles d’accès réseau/utilisateur).

Certains secteurs ont des normes réglementaires et des normes de conformité strictes, et un système de surveillance correctement configuré est un moyen efficace de démontrer aux auditeurs que votre entreprise dispose d’un processus cohérent pour maintenir la conformité, mais aussi de documents pour prouver cette conformité.

Il est connu que les violations de données peuvent avoir d’énormes répercussions sur votre situation financière et votre réputation. Partant, il est impératif que votre solution de surveillance prenne en compte la sécurité en plus de faire le suivi des performances. Outre la mise en place de systèmes de sécurité (comme les pare-feu et les contrôles d’accès), vous devez vous assurer que votre logiciel de surveillance suit des aspects tels que le trafic réseau, l’activité des utilisateurs et les journaux système. Cette surveillance vous permet d’identifier les anomalies, les incidents de sécurité potentiels et d’atténuer l’impact des violations de la sécurité. 

Tirer parti de l’automatisation

Les environnements modernes sont souvent trop complexes pour être surveillés efficacement de façon manuelle. Pour rester compétitif, vous devez vous tourner vers des outils d’APM qui utilisent l’automatisation. Par exemple, une solution de surveillance des applications capable d’analyser automatiquement les journaux, d’effectuer automatiquement une analyse des causes racines, de fournir des suggestions de correction lors du déclenchement des alertes, ou encore d’ajuster automatiquement l’allocation des ressources pour s’adapter aux baisses ou aux pics de demande peut vous aider à économiser du temps et de l’argent.

En raison du volume et de l’étendue des informations qui peuvent être analysées par le biais de processus automatisés, ainsi que de la profondeur des informations qui peuvent en être retirées, l’utilisation de l’automatisation dans la surveillance des applications peut vous aider à obtenir une compréhension plus solide et plus complète de votre environnement, et à accélérer l’innovation.

Solutions de surveillance des applications

IBM Instana Observability et IBM Turbonomic peuvent vous aider à optimiser la surveillance et les performances de vos applications.

La plateforme d’observabilité en temps réel entièrement automatisée d’Instana va au-delà des solutions traditionnelles de surveillance des performances des applications et replace les données de performance dans leur contexte pour une prévention, une identification et une résolution rapides des problèmes. Instana fournit automatiquement et en continu des données de haute fidélité avec une granularité à la seconde près et des traces de bout en bout, avec le contexte des dépendances logiques et physiques provenant des appareils mobiles, du web, des applications et de l’infrastructure.

La plateforme d’optimisation des coûts du cloud hybride IBM Turbonomic est conçue pour vous aider à tirer le meilleur parti de vos dépenses en ressources applicatives en fournissant automatiquement à vos applications exactement ce dont elles ont besoin pour fonctionner. (Fini le surprovisionnement !)

Avec ses solutions qui permettent de gagner du temps et d’optimiser les coûts, Turbonomic vous permet d’éliminer les incertitudes liées aux ressources. Vous pouvez automatiser de façon continue, en temps réel et sans intervention humaine les actions critiques qui fournissent à vos applications les ressources de calcul, de stockage et de réseau dont elles ont besoin, le tout de façon proactive, avec une efficacité maximale et à chaque couche de la pile. 

 

Auteur

IBM Instana Team

IBM Instana