Dans les domaines des technologies de l'information et de la gestion des systèmes(en), l'Application Performance Management (APM) est la surveillance et la gestion des performances et de la disponibilité des applications logicielles. L'APM s'efforce de détecter et de diagnostiquer les problèmes complexes de performance des applications afin de maintenir un niveau de service attendu. APM est "la traduction des métriques informatiques en sens commercial ([c'est-à-dire] valeur)[1]."
Mesurer les performances des applications
Deux ensembles de mesures de performance sont surveillés de près. Le premier ensemble de métriques de performances définit les performances rencontrées par les utilisateurs finaux de l'application.
La charge est le volume de transactions traitées par l'application, par exemple, transactions par seconde, requêtes par seconde, pages par seconde.
Les temps de réponse sont les temps nécessaires à une application pour répondre aux actions d'un utilisateur à une telle charge[2].
Le deuxième ensemble de métriques de performances mesure les ressources de calcul utilisées par l'application pour la charge, indiquant s'il existe une capacité suffisante pour la charge, ainsi que les emplacements possibles d'un goulot d'étranglement de performances. La ligne de base peut ensuite être utilisée pour détecter les changements de performances. Les changements de performances peuvent être corrélés avec des événements externes et ensuite utilisés pour prédire les changements futurs des performances des applications[3].
L'utilisation d'APM est courante pour les applications Web, qui se prêtent mieux aux techniques de surveillance plus détaillées[4]. Les temps de réponse des composants d'une application Web peuvent également être surveillés pour aider à identifier les causes de retard.
Dans son APM Conceptual Framework, Gartner Research décrit cinq dimensions de l'APM[5],[6],[7],[8] :
Une nouvelle dimension, la découverte, le traçage et les diagnostics d'application (ADTD), combine trois dimensions auparavant distinctes (découverte et visualisation de la topologie d'application [architecture d'exécution], profilage de transaction défini par l'utilisateur et analyse approfondie des composants d'application), puisque les trois sont principalement axés sur la résolution des problèmes et sont interdépendants ;
Analyse des applications (AA).
Problèmes actuels
Depuis le premier semestre 2013, APM entre dans une période de concurrence intense en matière de technologie et de stratégie avec une multiplicité de fournisseurs et de points de vue[10]. Cela provoque un bouleversement sur le marché avec des fournisseurs d'horizons non liés (y compris la surveillance du réseau[11], la gestion des systèmes, l'instrumentation des applications et la surveillance des performances Web). Avec autant de fournisseurs parmi lesquels choisir, en sélectionner un peut être un défi. Il est important d'évaluer chacun avec soin pour s'assurer que ses capacités répondent à vos besoins[12].
Deux défis pour la mise en œuvre de l'APM sont (1) il peut être difficile d'instrumenter une application pour surveiller les performances des applications, en particulier parmi les composants d'une application, et (2) les applications peuvent être virtualisées, ce qui augmente la variabilité des mesures[13],[14]. Pour atténuer le premier problème, Application Service Management (ASM) fournit une approche centrée sur les applications, où la visibilité des performances des services métier est un objectif clé. Le deuxième aspect présent dans les applications distribuées, virtuelles et basées sur le cloud pose un défi unique pour la surveillance des performances des applications car la plupart des composants clés du système ne sont plus hébergés sur une seule machine. Chaque fonction est maintenant susceptible d'avoir été conçue comme un service Internet qui s'exécute sur plusieurs systèmes virtualisés. Les applications elles-mêmes sont très susceptibles de passer d'un système à un autre pour atteindre les objectifs de niveau de service et faire face aux pannes momentanées[15].
Le framework conceptuel d'APM
Les applications elles-mêmes deviennent de plus en plus difficiles à gérer à mesure qu'elles évoluent vers des constructions multi-niveaux et multi-éléments hautement distribuées qui, dans de nombreux cas, reposent sur des frameworks de développement d'applications tels que. NET ou Java[16]. Le framework vise à aider à hiérarchiser une approche sur laquelle se concentrer en premier pour une mise en œuvre rapide et une compréhension globale du modèle APM à cinq dimensions. Ces zones sont référencées comme "Primaires ", les dimensions de priorité inférieure étant référencées comme "Secondaires"[17].