Qu’est-ce que l’APM (gestion de la performance des applications) ?’

Femme asiatique en tenue d’affaires consultant son téléphone et souriant

Auteurs

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

Qu’est-ce que l’APM (gestion de la performance des applications) ?’

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.

Vue aérienne d’autoroutes

Gardez la tête dans le cloud 


Recevez la newsletter hebdomadaire Think pour obtenir des conseils d’experts sur l’optimisation des paramètres multicloud à l’ère de l’IA.

Comment fonctionne l'APM ?

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).

Surveillance de l’expérience utilisateur final (EUEM)

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.

Découverte et modélisation de l’architecture d’application d’exécution

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.

Profilage des transactions défini par l’utilisateur

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.

Surveillance approfondie des composants (DDCM)
 

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.

Analyse des données et rapports

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.

IBM DevOps

Qu’est-ce que le DevOps ?

Andrea Crawford présente le DevOps, démontre sa valeur, et explique de quelle façon les pratiques et les outils DevOps vous aident à faire progresser vos applications dans l’ensemble du pipeline de livraison logiciel, de l’idéation à la production. Dirigé par des leaders d’opinion d’IBM, le programme a pour but d’aider les chefs d’entreprise à acquérir les connaissances nécessaires pour donner la priorité aux investissements dans l’IA capables de stimuler la croissance.

Gestion de la performance des applications et surveillance de la performance des applications

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.

APM et observabilité

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.

Fonctionnalités APM

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 :

  • Surveillance des applications : les outils APM surveillent l’ensemble de la pile d’applications, y compris le cadre des exigences (Java ou .NET, par exemple), le système d’exploitation et la base de données, les interfaces de programmation des applications (API) ou les middlewares et le serveur d’applications Web.
  • Suivi des erreurs : les solutions APM peuvent regrouper les erreurs liées aux applications fonction des non-conformités, ce qui offre un contexte aux équipes afin de comprendre les erreurs système et maximiser l’efficacité du processus de dépannage.
  • Surveillance de l’infrastructure : grâce aux protocoles de surveillance de l’infrastructure APM, les équipes peuvent collecter des données sur l’utilisation du processeur, l’espace disque et les performances du réseau.
  • Traçage distribué : les outils APM permettent aux développeurs de suivre les demandes de données au fur et à mesure qu’elles traversent le réseau, des services front-end aux services back-end. Ainsi, les équipes peuvent surveiller les dépendances en fonction de la requête et isoler les erreurs spécifiques.
  • Surveillance des bases de données : les plateformes APM aident les entreprises à visualiser les indicateurs de performance des requêtes et au niveau de l’hôte (tels que les principaux utilisateurs, les programmes et les objets), et à évaluer les procédures SQL pour déterminer comment la conception des bases de données et la saturation des ressources affectent les performances des applications.
  • Profilage du code : grâce aux outils APM, les équipes peuvent saisir des instantanés de la performance du code et identifier les composants de l’application trop lents ou trop gourmands en ressources.
  • Surveillance de l’expérience en ligne : les outils APM peuvent mettre en œuvre la surveillance des utilisateurs réels (RUM) et la surveillance synthétique pour recueillir des données de performance (temps de chargement, temps de réponse, latence, temps de fonctionnement et temps d’arrêt) à partir des appareils des utilisateurs, des bots et d’autres composants logiciels non humains.
  • Surveillance de l’Internet des objets (IdO) : comme les utilisateurs accèdent généralement aux applications à l’aide d’appareils mobiles, le dépannage des problèmes liés aux applications peut être long et complexe. Les capacités de surveillance de l’IdO au sein des solutions APM offrent aux équipes une vue unifiée des applications au niveau des appareils connectés.

IA et AIOps : l'avenir de l'APM

À 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.

Cas d’utilisation de l’APM

L’APM contribue à garantir que les applications logicielles d’entreprise restent efficaces et fiables. Elle simplifie également les fonctions suivantes :

Prévision de la capacité

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.

Intégrations DevOps

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.

Respect des accords de niveau de service (SLA)

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.

Surveillance des API par des tiers

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.

Avantages de l’APM

Les outils APM peuvent vous aider à :

  • Améliorer l’expérience utilisateur. Les outils APM aident les entreprises à maintenir des niveaux élevés de satisfaction et d’engagement des utilisateurs, deux éléments essentiels pour la rétention client et la gestion de la réputation.

  • Réduire le MTTD et le MTTR. L’APM permet aux équipes de trouver et de résoudre rapidement les problèmes de performance et les goulots d’étranglement, en accélérant le temps moyen de détection (MTTD - délai d’une entreprise pour détecter un problème) et le temps moyen de réparation (MTTR - délai d’une entreprise pour résoudre un problème).

  • Mieux utiliser les ressources. Le suivi et l’analyse des données de performance permettent aux organisations d’optimiser l’allocation des ressources, d’augmenter les économies de coûts et de rationaliser les opérations.

  • Améliorer l’agilité de l’entreprise. L’APM prend en charge les méthodologies Agile en fournissant des commentaires en temps réel sur la performance des applications et en autorisant des iterations rapides et une amélioration continue.

  • Gagner en fluidité au niveau des migrations. Les fonctionnalités de traçage distribué et de mappage des services peuvent contribuer à garantir que les migrations et les modernisations vers le cloud se déroulent sans heurts et n’introduisent pas d’erreurs sur le réseau.

  • Mieux collaborer entre employés. Grâce aux capacités de traçage de bout en bout de l’APM, les équipes front-end et back-end ont simultanément accès à des données communes, ce qui facilite la collaboration et les processus de dépannage et d’optimisation.
Solutions connexes
Analyse des performances des applications (APM)

Observez, surveillez et corrigez automatiquement l’ensemble de votre pile d’applications avec IBM Instana Observability.

Découvrir la surveillance des performances des applications
Services de management des applications

Assurez des performances optimales et une satisfaction utilisateur élevée dans votre portefeuille d’applications personnalisées.

Découvrir les services de management des applications
Logiciels et solutions de gestion de la performance des applications

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.

Découvrir les solutions de gestion de la performance des applications
Passez à l’étape suivante

Avec IBM Instana Observability, bénéficiez d’une visibilité automatisée, rapide et contextualisée sur l’état de santé et la disponibilité de l’ensemble de votre environnement applicatif.

Découvrir Instana Observability Faire un essai gratuit