Published Date: March 1, 2021
La supervision de la performance des applications, ou Application Performance Monitoring en anglais (APM), permet aux entreprises de suivre les performances des applications logicielles afin d’identifier et d’analyser les problèmes qui se produisent au cours du développement et de l’exécution. Avec l’avènement des applications SaaS et des infrastructures cloud-native, la supervision des performances des applications, à ne pas confondre avec la gestion de la performance des applications, est devenue un outil essentiel pour garantir un service de haute qualité dans les applications exécutées sur le Web et plus particulièrement dans les applications mobiles.
Les métriques de l’Application Performance Monitoring (APM) s’articulent fortement autour des performances, mesurant le nombre de transactions traitées chaque seconde par l’application et le temps de réponse total pour chacune de ces transactions. Vous pouvez également utiliser l’APM pour mesurer les performances applicatives des machines qui exécutent ces transactions et pour évaluer les problèmes de performances matérielles pouvant entraîner des goulots d’étranglement. Il reste que les outils d’APM sont principalement conçus pour mesurer directement les performances des applications à un niveau granulaire, en s’appuyant sur des analyses basées sur l’intelligence artificielle pour comprendre rapidement les dépendances problématiques dans l’infrastructure.
Mais alors, qu’est-ce que la supervision des performances et comment sert-elle les entreprises ? Ces dernières peuvent faire un meilleur usage des données qu’elles collectent déjà, notamment pour détecter les problèmes avant qu’ils n’affectent les clients, réduire le temps de rétablissement en cas de défaillance, réagir plus rapidement et respecter les accords de niveau de service (SLA).
Dans cet article, nous allons examiner en détail les types de systèmes et de processus supervisés par l’Application Performance Monitoring (APM), les métriques relevées par les outils d’APM et les fonctionnalités que nous vous recommandons de rechercher si vous évaluez une solution APM haut de gamme pour votre entreprise.
La mise en place de solutions APM’ ne mesure pas directement l’état de santé du réseau, mais plutôt celui d’une application exécutée sur ce réseau. Fondamentalement, l’APM supervise la vitesse transactionnelle d’une application web, y compris la vitesse à laquelle différents services exécutent leur part de la transaction, ainsi que d’autres métriques liées aux performances des applications. Bien que la conception et les fonctionnalités des outils APM varient, l’objectif principal de ’l’Application Performance Monitoring (APM) est de recueillir tous les composants de chaque transaction générée par une application et ses utilisateurs, afin de fournir aux entreprises des informations exploitables sur chaque aspect d’une application. ’La supervision de la performance des applications peut également détecter les anomalies générées par l’application et les signaler aux opérations et à la gestion IT, permettant aux développeurs et aux ingénieurs en fiabilité des sites (SRE) d’identifier et de résoudre les problèmes inconnus dissimulés dans l’architecture de l’application.
Les outils d’APM sont conçus pour répondre à plusieurs questions clés :
- L’application se comporte-t-elle et répond-elle comme elle le devrait ?
- Est-ce que l’application est affectée par un goulot d’étranglement ou une erreur ?
- Si oui, les solutions APM vont-elles aider à déterminer quelle est la source de ce goulot d’étranglement ou de cette erreur ? Est-ce que le problème vient de l’application elle-même ? S’agit-il des interdépendances entre les différents services constituant l’application ? D’un problème avec l’infrastructure ?
- Quel est l’impact de ce goulot d’étranglement sur les utilisateurs finaux et sur l’entreprise ?
- Pouvons-nous corriger ce goulot d’étranglement ?
Les outils d’APM mesurent généralement trois types de métriques, appelées RED :
- Rate (vitesse) : vitesse d’exécution d’une transaction
- Error (erreur) : détection d'erreurs dans la transaction
- Duration (durée) : temps nécessaire à l’exécution de la transaction
Les divers outils emploient différentes approches de l’Application Performance Monitoring (APM) pour permettre aux développeurs et aux SRE de mieux comprendre les problèmes de performances des applications. Plus précisément, les outils d’APM collectent généralement les métriques suivantes :
- Temps moyen de réponse : à quelle vitesse l’application répond-elle aux demandes des utilisateurs et effectue-t-elle des transactions? Ralentit-elle au fil du temps?
- Taux global de trafic/demande utilisateur : les performances applicatives se dégradent souvent quand le nombre d’utilisateurs simultanés augmente. Les solutions APM mesurent les performances de chaque transaction en fournissant un niveau de détail granulaire qui aide les SRE et les développeurs à comprendre la source des ralentissements de performances.
- Taux d’erreur : est-ce qu’une application génère des erreurs, et quelle est leur gravité ? À quel point de l’application ces erreurs sont-elles générées ? Ces informations peuvent accélérer le dépannage et mesurer le temps de fonctionnement global de l’application.
- KPI et SLO de l’entreprise : les performances de l’application respectent-elles les indicateurs clés (KPI), les accords de niveau de service (SLA) et les objectifs de niveau de service (SLO) requis, qui peuvent inclure des facteurs tels que la durée de temporisation, le nombre de connexions et la durée ou la fréquence des temps d’arrêt ? La moindre violation de votre budget d’erreurs SLO (qui indique dans quelle proportion vous pouvez manquer ces cibles) peut avoir un impact financier majeur sur votre organisation.
Une solution APM est un logiciel qui remplit plusieurs fonctions clés de supervision des applications. Ces fonctionnalités sont multiples :
- Supervision du front-end : la supervision du front-end englobe la supervision des utilisateurs réels (RUM) et la supervision synthétique des transactions. La supervision des utilisateurs réels prend une importance croissante car le code exécuté côté client (JavaScript notamment) crée souvent des angles morts dans l’expérience client ; quant à la supervision synthétique, elle peut détecter les problèmes de manière proactive avant la publication du code.
- Découverte, traçage et diagnostic des applications (ADTD) : les outils d’APM découvrent et créent une carte qui recense tous les microservices qui composent une application, les serveurs web, les serveurs d’applications, les structures d’applications et autres plates-formes sur le réseau, dont les serveurs locaux, les serveurs cloud et des systèmes installés sur des infrastructures hybrides. Pour y parvenir, l’ADTD utilise à la fois l’instrumentation bytecode (BCI), qui peut profiler des applications à la volée, et des techniques de traçage distribué.
- Analytique : les solutions APM sont conçues pour suivre les données de performances de l’application au fil du temps. Ainsi, les développeurs, SRE et responsables peuvent déterminer si l’application répond aux SLO et maintenir les opérations sur la bonne voie lorsque l’environnement change. Ces changements peuvent prendre différentes formes : augmentation du nombre d’utilisateurs, dégradation du service ou modification du code sous-jacent. Grâce à l’analyse des causes profondes et à la logique de détection des anomalies, les outils d’intelligence artificielle (IA) et de machine learning peuvent alors prédire si les performances risquent de se détériorer et pourquoi. Les outils et les analytics d’APM peuvent également analyser les logs d’application pour produire des informations qui identifient les points de défaillance.
Bien que la complexité, la conception, la portée et le prix des solutions APM varient, il est essentiel de comprendre que l’objectif d’une solution APM est de donner aux développeurs et aux SRE des informations exploitables non seulement sur les problèmes de performances des applications, mais également sur la raison de leur présence. Il ne suffit pas de savoir qu’une application est lente ou qu’elle produit des erreurs. L’Application Performance Monitoring (APM) révèle toute son utilité lorsqu’elle permet aux équipes de comprendre rapidement la cause profonde de ces ralentissements et erreurs. Un outil d’APM performant présente ces informations sous forme graphique, dans un tableau de bord qui décrit et suit les performances de chaque service et de ses dépendances au fil du temps.
’La mise en place d’un système d’Application Performance Monitoring offre un certain nombre d’avantages de poids aux entreprises qui adoptent ces outils :
- Réduction des dégradations de service et des manquements aux SLO : ll’une des principales raisons qui poussent les entreprises à adopter une solution d’APM est la nécessité de résoudre les problèmes et de remettre les systèmes en état de fonctionnement complet rapidement afin de respecter leurs SLO, tout en empêchant les problèmes de se produire à l’avenir. L’APM est un outil essentiel pour réduire le temps moyen de résolution (MTTR) des problèmes dus aux erreurs liées aux applications et aux questions de performances.
- Augmentation des revenus : quand une application ou un service n’est pas disponible, les clients ne tardent pas à perdre patience ou à chercher une alternative, ce qui a un impact sur les revenus. ’L’Application Performance Monitoring (APM) peut non seulement vous aider à assurer le bon fonctionnement de vos applications, mais également à améliorer le temps de chargement des applications stratégiques.
- Amélioration de la vitesse et de la compétitivité : la mise en place d’une solution d’APM permet d’optimiser les applications, ce qui augmente la vitesse et la flexibilité des entreprises face au rythme toujours plus soutenu des exigences du secteur. Dans la plupart des secteurs, latence et temps d’arrêt ont le même impact, si bien que l’augmentation de la vitesse et de l’agilité délivre un avantage compétitif.
- Amélioration de l’expérience numérique et de la satisfaction client :la satisfaction de vos clients augmente avec la vitesse de réponse et la performance applicative. La latence est un facteur déterminant dans l’opinion des clients : les moteurs de recherche sur PC de bureau et sur mobile utilisent le temps de chargement de page comme facteur de classement. Si vous n’évaluez pas régulièrement les performances des applications web et mobiles, vous risquez de perdre des utilisateurs finaux.
- Réduction des coûts d’exploitation : lorsqu’une application qui n’est pas activement supervisée subit une interruption de service, celle-ci est bien souvent abrupte et catastrophique. Les entreprises doivent donc tout arrêter pour faire face à l’incendie, ce qui met leurs équipes DevOps dans des situations extrêmement stressantes. La mise en œuvre d’une solution d’APM contribue à réduire ces dépenses en donnant à l’organisation une vision plus détaillée d’un problème avant qu’il ne devienne grave. En utilisant les outils d’automatisation APM, les entreprises peuvent également réduire leur personnel et donc réaliser des économies supplémentaires en matière d’opérations IT.
Qu’il s’agisse d’un lancement ou d’une mise à jour, afin de déterminer si une application web est performante, l’entreprise mettra en œuvre des tests de performance applicative basés sur les critères d’évaluation suivants : son historique ou ses objectifs de trafic, le temps de chargement des pages, la pertinence du contenu, le parcours utilisateur, la qualité d’hébergement, la qualité du réseau, etc.
Quelle est la différence entre la supervision des performances applicatives et la supervision des infrastructures ?
La supervision des performances applicatives et la supervision des infrastructures aident toutes les deux les administrateurs à comprendre et traiter les problèmes de performance et de productivité qui peuvent dégrader les opérations commerciales. Elles peuvent à la fois agréger des métriques liées à l’expérience utilisateur et évaluer si un environnement IT respecte ou non les indicateurs de performance ou s’il rencontre des bugs et autres perturbations. Les deux systèmes de supervision n’ont toutefois pas la même approche..
Comme mentionné précédemment, la supervision des performances des applications observe le fonctionnement des applications et détermine s’il est conforme. Si ce n’est pas le cas, l’outil de monitoring APM collecte des données sur la source du problème et avertit les équipes IT afin qu’elles puissent corréler les performances d’une application ou d’un ensemble d’applications spécifiques avec l’activité ou les résultats de l’entreprise. Il leur permet également d’identifier et de résoudre les problèmes de performances applicatives du back-end avant qu’ils n’affectent l’expérience de l’utilisateur final ou n’aient un impact négatif sur les résultats.
La supervision des infrastructures, quant à elle, automatise la collecte et l’examen d’informations sur les différents composants de l’environnement informatique d’une entreprise. Lorsqu’un problème est identifié, l’outil de supervision de l’infrastructure le signale aux équipes IT qui peuvent ainsi parvenir plus efficacement à sa cause profonde avant qu’il n’entrave ou ne dégrade la productivité. La supervision de l’infrastructure veille également à ce que les ressources réseau fonctionnent de manière optimale et comme prévu.
Quelle est la différence entre la supervision des performances applicatives et la supervision des conteneurs ?
Bien qu’on ne puisse pas les comparer directement, la supervision des performances et la supervision des conteneurs se recoupent à plusieurs niveaux. Certains outils APM peuvent superviser les applications déployées dans des conteneurs comme dans des environnements non conteneurisés. Les outils de supervision des conteneurs possèdent de nombreuses fonctionnalités identiques à celles des systèmes de supervision des performances des applications, mais ils peuvent également inclure des fonctionnalités supplémentaires qui vont au-delà de la mesure des performances. Cela dit, la plupart des outils de supervision des conteneurs font également partie des solutions d’APM.
Si vos applications sont en conteneurs, vous avez tout intérêt à utiliser un outil de supervision des conteneurs spécialement conçu. Les outils APM traditionnels n’ont pas été pensés pour superviser les environnements en conteneurs. Leur architecture est trop complexe et comporte trop de dépendances difficiles à gérer pour un outil APM standard.
Mais rassurez-vous, il existe aujourd’hui de nombreuses solutions dédiées à la supervision des conteneurs, qui permettent de gérer les performances applicatives en conteneurs aussi simplement que celles des applications traditionnelles.
De nombreuses solutions APM existent, offrant chacune des avantages et des inconvénients. Pour vous aider à choisir la solution d’Application Performance Monitoring adaptée à votre entreprise, vous trouverez ci-dessous un certain nombre de considérations clés, en gardant à l’esprit que le budget sera également un facteur important.
Questions propres à l’entreprise :
- Vos applications sont-elles un bloc de code unique exécuté sur une seule machine virtuelle (VM), ou bien utilisez-vous une approche moderne basée sur des microservices ?
- Votre entreprise utilise-t-elle des méthodologies modernes de développement logiciel et a-t-elle adopté une culture DevOps ?
- Voulez-vous détecter toutes les anomalies et offrir une excellente expérience à une grande variété d’utilisateurs, ou vous faut-il simplement bien servir une partie de vos clients ?
- Dans quelle mesure avez-vous besoin d'informations « en temps réel » ? Avez-vous besoin d’obtenir des alertes dans les secondes qui suivent l’apparition d’un problème ou pouvez-vous vous permettre de n’être averti qu’au bout de 5 minutes ?
Les fonctionnalités offertes par les solutions APM à rechercher :
- Prise en charge des applications déployées à la fois dans les environnements locaux et cloud, et développées dans divers langages de programmation
- Centralisation des rapports et de la gestion au sein d’un tableau de bord intuitif
- Visibilité sur l’intégralité de la pile à l’échelle du code sur l’ensemble des applications, des services associés et de leurs dépendances (bases de données et services externes, par exemple)
- Inclusion d’une grande variété d’analytics APM utiles à votre entreprise
- Prise en charge de la supervision synthétique des transactions et celle des utilisateurs réels
- Une intelligence qui fournit des informations contextuelles sur la source des erreurs des applications et des goulots d’étranglement, avec des outils d’APM graphiques qui permettent de localiser facilement la cause profonde des anomalies
- Des outils d’IA et de machine learning intégrés à la solution APM pour faciliter la découverte rapide de la source des problèmes de performance
- Possibilité de suivre les KPI essentiels de l’entreprise en termes de supervision de la performance des applications et de garantie du respect de vos SLO dans un environnement en microservices
- Prise en charge d’OpenTelemetry, la norme de référence en matière d’instrumentation open source
- Prise en charge des environnements de conteneurs et sans serveur selon les besoins de votre entreprise
- Capacité d’évolution en fonction de vos besoins
- Une formation efficace pour l’implémentation et la gestion de l’outil APM, ainsi qu’un support de grande qualité
À une époque où il suffit d’ouvrir une nouvelle fenêtre de navigateur pour changer de fournisseur de services, les entreprises doivent impérativement s’assurer que les performances applicatives atteignent leur maximum.
Les analystes industriels n’ignorent pas l’expansion croissante de ’l’Application Performance Monitoring (APM). MRFR Analysis évalue le taux de croissance à 10,7 % jusqu’en 2025, tandis que Research and Markets prévoit un taux de croissance de 11,2 % jusqu’en 2027 pour les outils de supervision des performances des applications.
Aujourd’hui, il est essentiel que les entreprises qui exploitent des applications en contact avec les clients intègrent un système de supervision de la performance des applications dans leur arsenal stratégique. L’APM peut contribuer à garantir une satisfaction élevée des clients et, en fin de compte, à prévenir les pertes de revenus dues aux défections des clients et aux dégradations de performances. Par ailleurs, l’APM est un outil essentiel qui aide les développeurs à intégrer et maintenir les bonnes pratiques lors de la création du code, mettant ainsi en place un cercle vertueux qui profite à tous.
Boostez votre supervision IT
Exploitez les trois piliers de l’observabilité pour améliorer vos capacités de supervision sur l’ensemble de votre réseau.