La gestion de la performance des applications (APM) est une pratique qui utilise des outils logiciels, l’analyse des données et des processus de gestion des applications et qui vise à aider les organisations à optimiser les performances, la disponibilité et l’expérience utilisateur des applications métier.
Précurseur des solutions d’observabilité, l’APM permet aux équipes informatiques de visualiser, prévenir, anticiper et résoudre les problèmes de performance des applications avant qu’ils n’aient un impact négatif sur les utilisateurs.
L’APM est également l’acronyme anglais de surveillance des performances des applications, dans laquelle les outils de surveillance collectent en permanence des données sur les indicateurs de performance des applications tels que les temps de réponse, les taux d’erreur, l’utilisation des ressources et l’activité des utilisateurs. Les termes sont souvent utilisés de manière interchangeable, mais la surveillance de la performance est un composant d’une stratégie globale de gestion des performances des applications.
Outre la surveillance, l’APM utilise des processus d’analyse des données (pour identifier les tendances, les irrégularités et les problèmes de performance), des protocoles de dépannage (pour automatiser l’analyse de la cause racine et la résolution des problèmes) et des outils d’optimisation (pour remédier de manière proactive à la dégradation des performances et maximiser l’efficacité des applications pour les utilisateurs).
Les solutions APM peuvent également aider les équipes informatiques à identifier les applications et les services stratégiques des utilisateurs et à déterminer la manière dont les problèmes de performance peuvent affecter leur productivité.
Des outils APM efficaces, couplés à des solutions d’observabilité avancées, peuvent devenir incontournables pour les organisations qui s’appuient sur des applications logicielles pour fournir des services aux utilisateurs finaux.
Les outils APM aident les développeurs à garantir la bonne santé et la performance des applications métier, en particulier lorsque le portefeuille d’applications de l’entreprise est réparti dans plusieurs environnements informatiques (tels que le cloud hybride et le multicloud). Bien que la configuration exacte d’un système APM varie d’une entreprise à l’autre (et d’un outil à l’autre), la plupart des outils APM des principaux opèrent dans cinq domaines clés (publiés à l’origine par Gartner Research).
Les outils de surveillance de l’expérience de l’utilisateur final, passifs et actifs, évaluent la manière dont les utilisateurs utilisent une application et interagissent avec elle. La surveillance passive fait référence à la collecte continue de données sur les utilisateurs (à partir de capteurs, du trafic réseau et des journaux d’erreurs) auprès des utilisateurs réels.
La surveillance active simule l’activité des utilisateurs pour mieux comprendre et prédire le comportement logiciel situationnel (comment une application pourrait fonctionner lors d’un pic de trafic inattendu, par exemple).
Les outils de surveillance de l’expérience des logiciels APM peuvent, par exemple, exécuter des scripts de comportement (ou des accès) pour simuler les expériences client au niveau d’un processus de paiement sur un site e-commerce. Ensuite, le logiciel peut surveiller les scripts pour comprendre la rapidité avec laquelle l’application traite les paiements et comment elle gère les débits des paiements.
La surveillance de l’architecture d’application d’exécution offre une visibilité sur l’architecture sous-jacente d’une application. Elle permet aux équipes informatiques de comprendre comment les différents composants et dépendances de l’application (tels que les bases de données, les serveurs, les périphériques réseau et les machines virtuelles) interagissent pour prendre en charge l’application.
Les outils APM automatisent le processus de modélisation en cartographiant de manière dynamique la topologie des applications, des services, des composants d’infrastructure et des interactions utilisateur. Dans l’idéal, cela se déroule dans les centres de données sur site, les clouds privés, les clouds publics (y compris les solutions SaaS) et les environnements de cloud hybride. Les cartes topologiques APM aident les équipes informatiques à identifier rapidement les goulots d’étranglement et les opportunités d’optimisation des performances.
Aussi appelé gestion des transactions commerciales, le profilage des transactions offre une approche plus spécifique de la surveillance. Les fonctionnalités de profilage permettent de suivre des transactions utilisateur spécifiques au fur et à mesure qu’elles évoluent au fil de la pile d’applications, depuis l’appareil de l’utilisateur et à travers chaque composant ou ressource d’application concerné par la transaction.
Cette surveillance permet aux développeurs d’obtenir des informations détaillées sur les caractéristiques et les fonctions critiques de l’application et de remédier ainsi aux problèmes ou aux performances insuffisantes des composants avant qu’ils n’aient un impact sur l’expérience utilisateur.
La DDCM se concentre sur les composants individuels des applications (tels que les serveurs Web et les serveurs d’applications), en surveillant des sections de code spécifiques, des appels de services externes, des requêtes de base de données et d’autres éléments au niveau du code.
L’examen de composants particuliers d’applications permet aux équipes d’identifier rapidement la cause racine des problèmes de performance et d’apporter des améliorations ciblées sans impliquer les composants non concernés.
Les logiciels APM collectent des quantités massives de données, et les fonctions analytiques et de reporting des outils APM sont essentielles au processus de conversion des données capturées en informations exploitables.
Les plateformes APM regroupent les données collectées au niveau de chaque point de contact de surveillance. Ceci permet de créer des rapports, des tableaux de bord et des visualisations pratiques, permettant aux équipes informatiques d’identifier les tendances des performances et de prendre des décisions éclairées en termes de solutions et d’optimisation.
Pour y souscrire, Gartner Research a réduit ses cinq dimensions pou n’en conserver que trois. La surveillance de l’expérience de l’utilisateur final porte désormais le nom de surveillance de l’expérience en ligne (DEM). La dimension découverte, traçage et diagnostics des applications (ADTD) englobe trois fonctions auparavant distinctes, mais interdépendantes : la découverte de l’architecture d’exécution, le profilage des transactions défini par l’utilisateur. La dimension reporting et analytique conserve son statut autonome.
Les outils de surveillance de la performance des applications se concentrent exclusivement sur le contrôle et ne représentent qu’un aspect de l’APM.
Les solutions de surveillance traditionnelles reposent sur de petits composants logiciels appelés « agents », qui sont déployés dans l’environnement applicatif et dans l’infrastructure de soutien pour échantillonner les performances et les indicateurs liés aux performances (ou télémétrie) à intervalles réguliers (jusqu’à une fois par minute). Les solutions plus modernes utilisent la surveillance sans agent pour une approche non intrusive de la collecte de données, en s’appuyant sur l’analyse du trafic réseau pour recueillir des données sur la performance des applications.
La gestion de la performance des applications est, à bien des égards, la prochaine étape naturelle dans le cycle de vie de la maintenance des applications (après la surveillance). Les systèmes de gestion de la performance des applications extraient des informations à partir des données de performance des applications et des processus de surveillance afin d’aider les développeurs à optimiser la performance et la disponibilité des applications métier.
Les solutions APM fournissent des outils uniques pour capturer des données riches et des analyses à partir de services d’une application. Elles garantissent l’observabilité de l’architecture des applications. Et même si l’approche APM était suffisante pour une qualité de gestion des applications, elle n’est pas adaptée à la gestion des applications et des services distribués disposant de plusieurs environnements d’exécution et plusieurs couches.
Aujourd’hui, les applications s’appuient sur des services et des microservices, souvent exécutés dans des clusters Kubernetes conteneurisés. Cela signifie plusieurs exécutions, chaque exécution produisant des journaux à différents emplacements de l’architecture. Pour gérer plusieurs environnements d’exécution à l’aide de l’APM, les développeurs devaient déployer plusieurs outils APM. Ils devront également utiliser un service de flux d’enregistrement ou un autre outil d’agrégation pour consolider les données de connexion de chaque site.
Et lorsque les entreprises ajoutent davantage de services et de microservices à l’architecture, elles introduisent plus de complexité, ce qui rend plus difficile le suivi des demandes en cas de problème.
Les solutions d’observabilité surpassent les outils APM en adoptant une approche holistique et cloud native de l’enregistrement et de la surveillance des applications. Elles assurent une automatisation transparente des processus et travaillent avec des données contextuelles historiques pour permettre aux équipes de mieux optimiser les applications métier.
Grâce aux outils d’observabilité, les équipes peuvent mieux comprendre comment les services fonctionnent les uns avec les autres (à l’aide des graphiques de dépendance, par exemple) et s’intègrent à l’architecture globale. Elles peuvent également utiliser des solutions d’observabilité pour agréger et vérifier les données des applications, et en tirer des informations exploitables.
Les outils APM actuels sont polyvalents et offrent une gamme de fonctionnalités personnalisables qui aident les entreprises à mettre en œuvre des stratégies APM sur mesure. Chaque fonctionnalité peut aider les équipes informatiques à intégrer une observabilité de pile complète à leurs écosystèmes d’applications. Voici quelques exemples :
À l’image de nombreuses autres pratiques et solutions liées aux opérations informatiques (ITOps), les outils APM ont considérablement changé avec la prolifération de l’intelligence artificielle (IA) et l’évolution du cloud computing.
L’échantillonnage périodique associé aux outils APM traditionnels était suffisant pour gérer les applications monolithiques et les applications traditionnelles distribuées (où le nouveau code est publié périodiquement et où les workflows, les dépendances, les serveurs et les ressources associés sont parfaitement identifiés ou faciles à suivre).
Désormais, alors que les entreprises adoptent des pratiques de développement d’applications modernes et des technologies cloud natives (telles que les méthodologies Agile et DevOps, les microservices, les conteneurs Docker, Kubernetes et les fonctions sans serveur), elles déploient souvent de nouveaux composants d’application trop fréquemment, dans trop de langages et sur trop d’emplacements pour s’appuyer sur des stratégies de surveillance traditionnelles.
En outre, les techniques APM traditionnelles surveillent l’exécution du code pour diagnostiquer les problèmes. Mais les applications SaaS actuelles basées sur le cloud comprennent des millions de lignes de code, souvent réparties sur plusieurs conteneurs.
C’est pourquoi les principaux outils APM déploient des instruments de surveillance de pointe qui permettent une observabilité de pile complète, et s’appuient sur les technologies d’IA et de machine learning (ML) pour corréler et analyser les données en temps réel.
Les outils APM pilotés par l’IA peuvent fonctionner dans des environnements informatiques complexes et distribués, en déployant des algorithmes d’IA capables d’analyser rapidement de grands volumes de données de performance, de corréler ces dernières avec des données contextuelles et d’identifier la cause racine des problèmes de performance.
Les systèmes APM modernes utilisent également des modèles de ML pour générer une analyse prédictive et prévoir les tendances en termes de performance. Et grâce aux capacités de traitement automatique du langage naturel (NLP), le logiciel APM peut passer au crible les données de performance de manière méthodique et fournir aux équipes des informations en langage naturel.
Les technologies d’IA ne vont pas sans certaines difficultés : l’explicabilité, la confidentialité et la sécurité des données sont des préoccupations courantes liées aux outils informatiques basés sur l’IA. Cependant, les logiciels APM pilotés par l’IA peuvent réduire grandement les délais nécessaires à la surveillance et au dépannage et aider les entreprises à prendre des décisions plus intelligentes et plus proactives pour leurs portefeuilles d’applications.
L’APM contribue à garantir que les applications logicielles d’entreprise restent efficaces et fiables. Elle simplifie également les fonctions suivantes :
En s’appuyant sur l’historique des données de performance, les outils APM peuvent prévoir les besoins futurs en ressources, ce qui permet une planification plus efficace des capacités et aide les entreprises à faire évoluer leur infrastructure en fonction de l’augmentation de la demande.
L’APM accueille en continu les commentaires, tout au long du cycle de développement des logiciels. Les équipes peuvent surveiller les applications dans les environnements de transfert et de production, aidant ainsi les développeurs à instaurer une culture encourageant les commentaires continus.
Les SLA dictent les normes de performance pour la plupart des applications d’entreprise, et les services APM fournissent les données nécessaires au maintien de la conformité aux SLA. Les indicateurs de conformité peuvent également être utilisés dans les rapports des parties prenantes pour démontrer le respect des SLA.
Pour les applications qui utilisent des API externes, les outils APM peuvent suivre les temps de réponse et les taux d’erreur des API afin d’identifier les problèmes liés aux services tiers susceptibles d’affecter les performances des applications des organisations.
Les outils APM peuvent vous aider à :
Observez, surveillez et corrigez automatiquement l’ensemble de votre pile d’applications avec IBM Instana Observability.
Assurez des performances optimales et une satisfaction utilisateur élevée dans votre portefeuille d’applications personnalisées.
Associez observabilité de la pile complète et gestion automatisée des ressources applicatives pour résoudre les problèmes de performance avant qu’ils n’affectent l’expérience client.