Accueil les sujets Application Performance Management (APM) : Introduction Qu'est-ce que la gestion de la performance des applications (APM, Application Performance Management) ?
Prévoyez et prévenez les problèmes de performance avant qu'ils n'aient un impact sur votre entreprise grâce à la gestion de la performance des applications.
S'abonner à la Newsletter IBM
Photo d'une jeune femme d'affaires travaillant sur un ordinateur dans un bureau
Qu'est-ce que la gestion de la performance des applications ?

Le logiciel APM (Application Performance Management) permet à une entreprise de s'assurer que ses applications stratégiques répondent aux attentes établies en matière de performances, de disponibilité et d'expérience du client ou de l'utilisateur final. Pour ce faire, il mesure les performances des applications, alerte les administrateurs lorsque les références de performances ne sont pas respectées, fournit une visibilité sur les causes premières des problèmes de performance et résout automatiquement de nombreux problèmes de performance avant qu'ils n'affectent les utilisateurs ou l'entreprise.

APM est également l'acronyme de Application Performance Monitoring. Les deux termes sont souvent utilisés indifféremment, mais la surveillance des performances des applications est en fait une composante de la gestion des performances de nombreuses applications car, après tout, il est nécessaire de surveiller les performances pour les gérer. 

Cependant, les solutions de gestion de la performance des applications ne cessent d'évoluer et ne reposent plus sur les outils traditionnels de surveillance des performances des applications, mais intègrent l'observabilité, une technologie de collecte et d'analyse des données de performances mieux adaptée à la complexité des applications cloud natives modernes et distribuées. 

Fonctionnement d'APM

Là encore, APM collecte des données de performances des applications logicielles, les analyse pour détecter les problèmes de performances potentiels et fournit des informations ou prend des mesures pour accélérer la résolution de ces problèmes. La principale différence dans la façon dont ils recueillent et analysent les données est ce qui distingue la surveillance des performances des applications de l'observabilité.

Surveillance des performances des applications

Dans le cadre de la surveillance des performances des applications, des agents sont déployés dans l'environnement de l'application et dans l'infrastructure sous-jacente afin de « surveiller » les performances en les échantillonnant avec les mesures qui y sont liées (parfois appelées télémétrie), généralement toutes les minutes. Voici les types de surveillance que ces agents effectuent :

  • Surveillance de l'expérience numérique : recueille des mesures de performance, telles que le temps de chargement, le temps de réponse, le temps de fonctionnement, le temps d'arrêt, à partir de l'interface utilisateur du dispositif de l'utilisateur final. (On parlait auparavant de surveillance de l'expérience de l'utilisateur final, mais cette notion a été élargie pour tenir compte du fait que des entités non humaines, telles que des robots ou d'autres composants logiciels, interagissent également avec l'application et ont leurs propres attentes en matière de performances). La surveillance de l'expérience numérique prend généralement en charge la surveillance de l'utilisateur réel, qui surveille l'expérience d'un utilisateur réel sur le système, et la surveillance synthétique, pour les tests de performance dans des environnements de production et de non-production.

  • Surveillance des applications : comprend la surveillance de l'ensemble de la pile d'applications – structure d'application (par exemple, Java ou .NET), système d'exploitation, base de données, API, middleware, serveur d'applications Web, interface utilisateur – ainsi que 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 comprend généralement un traçage au niveau du code, ce qui permet de repérer les parties de code susceptibles de provoquer un goulot d'étranglement au niveau des performances.

  • Surveillance de base de données : échantillonne les performances des requêtes ou des procédures SQL, en complément de la surveillance fournie par les agents de surveillance des applications.

  • Surveillance de la disponibilité : permet de surveiller la disponibilité réelle des applications et des composants matériels (car les applications peuvent générer des données de performance, même si elles ne sont pas accessibles à l'utilisateur final).

Outre la collecte de données sur les performances, ces agents effectuent le profilage des transactions définies par l'utilisateur, en suivant chaque transaction depuis l'interface utilisateur ou le dispositif de l'utilisateur final jusqu'à chaque composant ou ressource d'application impliqué dans la transaction. Ces informations sont utilisées pour déterminer les dépendances des applications et pour créer une carte topologique, c'est-à-dire une visualisation des dépendances entre les applications et les composants d'infrastructure, idéalement dans des environnements sur site, en cloud privé, en cloud public (y compris les solutions SaaS) ou en cloud hybride. 

Les solutions APM fournissent généralement un contrôleur et un tableau de bord centralisé où les mesures de performance collectées sont regroupées, analysées et comparées aux références établies. Le tableau de bord avertit les administrateurs système des écarts par rapport aux valeurs de référence qui indiquent des problèmes de performance réels ou potentiels ; il fournit également des informations contextuelles et des informations exploitables par les administrateurs pour dépanner et résoudre les problèmes.

Observabilité

L'échantillonnage régulier est suffisamment efficace pour surveiller et dépanner les applications monolithiques ou les applications distribuées traditionnelles, où le nouveau code est publié régulièrement et où les flux et les dépendances entre les composants de l'application, les serveurs et les ressources connexes sont identifiés ou faciles à retracer.

Mais aujourd'hui, alors que les organisations adoptent des pratiques de développement modernes et des technologies natives du cloud (méthodologies Agile et DevOps, microservices, conteneurs Docker, Kubernetes et fonctions sans serveur), elles déploient de nouveaux composants d'application si souvent, dans tant d'endroits, dans tant de langues et pour des périodes si variables, que l'échantillonnage de données à la minute des solutions de surveillance traditionnelles ne peut pas suivre.

L'observabilité remplace les agents de surveillance traditionnels par une instrumentation qui collecte en permanence des données sur les performances et le contexte, et utilise des techniques d'apprentissage automatique pour corréler et analyser les données en temps réel. Avec une solution d'observabilité, les équipes du développement, des opérations informatiques et d'ingénierie de la fiabilité de site (SRE) peuvent :

  • Découvrir et traiter les « inconnus inconnus ». La surveillance traditionnelle ne recherche que les écarts connus par rapport aux références connues. La fonctionnalité d'apprentissage automatique d'une plateforme d'observabilité peut détecter des modèles dans la télémétrie des performances afin d'identifier de nouveaux écarts en corrélation avec des problèmes de performances.

  • Détecter et résoudre les problèmes en amont dans le développement. L'observabilité permet aux équipes DevOps d'intégrer la surveillance aux premières phases du processus de développement logiciel afin de tester, d'identifier et de corriger les problèmes du nouveau code avant qu'ils n'aient un impact sur l'expérience du client ou les accords sur les niveaux de service.

  • Mettre à l'échelle l'observabilité automatiquement. Par exemple, les développeurs peuvent spécifier l'instrumentation d'observabilité dans le cadre de la configuration d'un cluster Kubernetes, de sorte qu'un nouveau cluster commence à recueillir des données télémétriques dès son démarrage et jusqu'à son arrêt.

L'observabilité ne remplace pas la surveillance ;  elle permet d'exercer une meilleure surveillance et de gérer plus efficacement les performances.

En savoir plus sur l'observabilité
IA et AIOps : le futur d'APM

Aujourd'hui, les outils APM tirent parti de l'observabilité et de l'IA à des degrés divers. Certains combinent la surveillance traditionnelle des performances des applications avec l'IA pour automatiser la découverte de l'évolution des chemins de transaction et des dépendances des applications. D'autres associent l'observabilité à l'intelligence artificielle pour déterminer automatiquement les niveaux de référence des performances et pour séparer les signaux, ou les informations exploitables, du « bruit » des données de gestion des opérations informatiques (ITOM). L'analyste sectoriel Gartner estime que les organisations peuvent « réduire le bruit de 60 % dans l'ITOM grâce à l'utilisation d'outils augmentés par l'IA ».

L'objectif ultime, et l'avenir d'APM et des opérations informatiques, est de combiner l'observabilité avec l'intelligence artificielle pour les opérations informatiques, ou AIOps, afin de créer une infrastructure à réparation spontanée et qui s'auto-optimise. Ensemble, le flux constant de télémétrie d'observabilité en temps réel  et l'apprentissage automatique et l'automatisation AIOps peuvent prédire les problèmes de performance des applications en fonction des sorties du système, les résoudre avant qu'ils n'aient un impact sur l'expérience de l'utilisateur final ou sur les opérations, et même prendre des mesures pour optimiser les performances des applications, le tout sans intervention de la hiérarchie.

Solutions connexes
IBM Cloud Pak® for Watson AIOps

Innovez plus rapidement, réduisez les coûts opérationnels et transformez les opérations informatiques (ITOps) grâce à une plateforme AIOPs qui offre une visibilité sur les données de performances et les dépendances entre les environnements.

Explorer Cloud Pak® for Watson AIOps
IBM Observability with Instana®

Découvrez la plateforme d'observabilité d'entreprise leader pour les clouds hybrides.Améliorez la gestion des performances des applications et accélérez les pipelines CI/CD, quel que soit l'emplacement des applications.

Explorer IBM Observability with Instana®
Ressources Pérenniser vos opérations informatiques avec l'IA

Découvrez comment l'IA pour l'informatique améliore les résultats de l'entreprise, augmente les revenus et réduit à la fois les coûts et les risques pour les organisations.

Automatisation de l'informatique optimisée par l'IA

Atteignez de nouveau niveaux d'efficience et de résilience dans vos opérations informatiques.

Qu'est-ce que l'ingénierie de fiabilité des sites (SRE, Site Reliability Engineering) ?

SRE utilise l'ingénierie logicielle pour automatiser les tâches de l'équipe des opérations informatiques qui seraient autrement effectuées manuellement par les administrateurs système.

Gestion intelligente des ressources des applications grâce à l'automatisation optimisée par l'IA

Bénéficiez d'une visibilité totale sur l'allocation des ressources de vos applications et de votre infrastructure qui contribuent au temps de réponse des utilisateurs et à toute congestion des ressources.

Pour aller plus loin

Avec IBM Cloud Pak® for Watson AIOps, adoptez l'intelligence artificielle, l'apprentissage automatique et l'automatisation pour permettre aux gestionnaires ITOps et aux ingénieurs en fiabilité des sites (SRE) de gérer les incidents et d'y remédier.Innovez plus rapidement, réduisez les coûts opérationnels et transformez les opérations informatiques grâce à une plateforme AIOps qui offre la visibilité nécessaire sur les données de performances et les dépendances entre les environnements.

Explorer IBM Cloud Pak® for Watson AIOps