Alors, qu'est-ce que l'APM exactement?

Traditionnellement, l'acronyme APM a été utilisé pour désigner le terme  gestion des performances des applications. Cependant, ces dernières années, il fait également référence, peut-être plus correctement, à la  supervision des performances des applications . Selon Wikipédia, «APM s'efforce de détecter et de diagnostiquer les problèmes complexes de performances des applications afin de maintenir un niveau de service attendu».

Voyons en détail ce que signifie APM:

Par définition, APM ou Application Performance Monitoring permet aux organisations de superviser les mesures de performance de leurs applications critiques, de recevoir des alertes en temps opportun en cas de problèmes de performances et de générer des rapports pour une analyse périodique des performances.

Selon le cabinet d'analystes logiciels Gartner, un outil APM doit répondre à trois dimensions fonctionnelles principales:

  • Supervision frontale
  • Découverte, traçage et diagnostics d'applications (ADTD)
  • Analytique

Jetons un bref coup d'œil à chacune de ces exigences relatives aux outils APM:

  1. Supervision frontale:

    Cet aspect d'APM se concentre sur l'expérience de l'utilisateur final en fonction de la disponibilité et des performances des applications/services métier. Cela comprend la supervision des utilisateurs réels et la surveillance des transactions synthétiques, généralement à l'aide d'agents numériques qui interagissent avec les applications d'entreprise pour collecter des informations transactionnelles et aider à identifier les problèmes liés à l'expérience numérique.

  2. Détection, traçage et diagnostics d'applications (ADTD):

    Une autre fonctionnalité inévitable de tout logiciel APM. Cela comprend la découverte automatisée des serveurs d'applications, des serveurs Web, des micro-services ainsi que des plates-formes d'application telles que les conteneurs et le maillage de services, ainsi qu'une analyse approfondie des transactions d'application à l'aide de l'instrumentation byte-code et/ou du traçage distribué pour identifier les erreurs d'application. La plupart des équipes informatiques évaluent les capacités de ce segment avant de prendre une décision d'achat.

  3. Analytique:

    Gartner définit cette dimension comme impliquant une intelligence artificielle centrée sur le domaine pour les fonctions d'opérations informatiques utilisant l'IA et l'apprentissage automatique (ML). Les outils APM doivent utiliser l'alerte de performance, la corrélation des événements et l'analyse des causes profondes. Inclut également le suivi des anomalies de performances pour les transactions HTTP/S prises en charge par les serveurs d'applications Java et .NET.

    Gartner encapsule une solution APM avec ces dimensions. Cependant, il faut se rendre compte que les besoins de supervision des applications numériques varient énormément entre les organisations et que les exigences APM sont donc définies différemment dans différents contextes. Alors que certaines organisations se contentent d'une combinaison de plusieurs outils de surveillance, d'alerte et de reporting, un logiciel APM idéal présente une console unifiée pour toutes les exigences de supervision. Avant de faire un choix de solutions APM, les professionnels de l'informatique et du DevOps de la sphère APM doivent analyser en details les capacités spécifiques indiquées ci-dessous pour obtenir les bons résultats de performance des applications.

Principales caractéristiques des outils APM

  1. Indicateurs de performance clés

    Lorsque nous parlons de KPI, nous parlons des mesures de performance des applications telles que les temps de réponse, les demandes par minute, les détails des threads et de la session, l'utilisation du processeur, l'utilisation du disque et de la mémoire, les états d'erreur, etc. Cela inclut le premier ensemble d'applications et des métriques d'infrastructures essentielles que vous vérifiez afin de mesurer l'efficacité de vos applications. Votre système APM devrait être en mesure de présenter ces données avec précision à intervalles réguliers et périodiques.

  2. Informations au niveau du code et traçage des transactions

    La plupart des solutions APM offrent une visibilité jusqu'au niveau du code pour aider à découvrir des problèmes qui pourraient autrement passer inaperçus jusqu'à ce qu'un utilisateur final le signale. Votre solution APM doit être capable de prendre des aperçus des traces de transactions individuelles et vous permettre d'explorer les requêtes SQL pour détecter les requêtes à exécution lente. À l'aide du traçage des transactions distribuées, la solution APM devrait être en mesure de suivre les appels passés d'un service à un autre sur différentes plates-formes et langues, en particulier si votre application s'exécute dans un environnement de micro-services. Votre équipe DevOps devrait probablement être en mesure de dire à quel point ce type d'informations pourrait être précieux dans la phase de développement d'applications.

  3. Supervision de l'expérience utilisateur et surveillance synthétique des transactions

    Réfléchissez à ces questions pendant un moment.

    1. Combien de temps faut-il pour que votre page Web/application se charge?
    2. Combien de temps faut-il pour exécuter la transaction de paiement?
    3. Combien de temps faut-il pour envoyer un e-mail via votre serveur de messagerie?
    4. Quel est le temps nécessaire pour effectuer une demande de recherche LDAP?
    5. Combien de temps faut-il pour télécharger une pièce jointe de 1 Mo via le site ftp?

    Si votre solution APM répond adéquatement à ces questions, vous recevrez moins de plaintes de la part des clients concernant la prestation de services. À l'aide de transactions synthétiques qui simulent le comportement des utilisateurs sur votre page Web/application, vous devriez être en mesure de localiser les écarts dans leurs performances (temps de chargement de la page, erreurs 404, etc.) avant de déployer vos applications. Cela garantit également que les performances de vos applications une fois déployées lorsqu'elles sont accessibles à partir de différents endroits du globe offrent les mêmes performances cohérentes.

  4. Large gamme d'applications prises en charge

    Votre solution APM peut être en mesure de surveiller une variété d'applications et de cadres, mais le plus important est d'évaluer l'outil en termes de besoins commerciaux individuels. Par exemple, votre outil APM peut vous aider à surveiller votre serveur Web et les statistiques de performance de la base de données sous-jacente; cependant, gère-t-il les performances des applications de vos applications Web personnalisées en interne? Un outil APM idéal doit être flexible et prendre en charge tous les points de contact contrôlables nécessaires dans une configuration informatique.

  5. Console unique pour une surveillance complète

    Comme mentionné précédemment, les outils APM idéaux doivent contenir les éléments essentiels, c'est-à-dire une surveillance complète, des alertes et des rapports complets, éliminant ainsi les tracas d'avoir à gérer plusieurs outils pour mesurer et optimiser les performances des applications.

  6. ADDM

    ADDM s'étend à la découverte d'applications et au mappage de dépendances. Votre outil APM ne doit pas seulement découvrir automatiquement toutes les applications et tous les serveurs de votre réseau, il doit également être en mesure de les catégoriser (bases de données, VM, serveurs, etc.) et permettre à l'utilisateur de visualiser les interdépendances des applications. Cette fonctionnalité en particulier permet de gagner du temps qui est généralement perdu à essayer de localiser un goulot d'étranglement dans une horde d'applications.

  7. Alerte et actions correctives automatisées

    L'alerte est l'une des principales exigences des outils APM. Les seuils de ces alertes doivent être configurables pour des métriques individuelles ainsi que pour l'application dans son ensemble. Ces alertes facilitent l'identification plus rapide des problèmes de performances des applications. Les équipes informatiques doivent être en mesure de recevoir ces alertes via une variété de canaux - e-mail, SMS, messages Slack, incidents dans un outil ITSM tel que ServiceNow, etc. Cependant, ces alertes doivent également pouvoir exécuter des actions préconfigurées pour un dépannage plus rapide. L'exécution de scripts correctifs ou de fichiers batch, le redémarrage d'une VM ou d'une instance de conteneur, l'exécution d'une opération MBean, la génération de heap dump/thread dump/garbage collection, etc. peuvent être quelques exemples d'actions automatisées.

  8. Tableaux de bord personnalisés

    Il est incroyablement exhaustif de gérer toutes les applications avec le même niveau d'attention. Imaginez avoir plusieurs centaines de serveurs/applications ajoutés à votre outil de surveillance; avec un tableau de bord organisé qui présente des statistiques telles que les alertes critiques récentes, les serveurs occupés, la disponibilité actuelle des serveurs, etc. Vous saurez clairement quel serveur nécessite votre attention en premier. Bien entendu, les statistiques les plus significatives à partir d'un point de valeur commerciale peuvent varier d'une organisation à l'autre, c'est pourquoi le tableau de bord doit offrir la flexibilité de la personnalisation.

  9. Rapports

    Les rapports sont un moyen important d'analyser et de partager périodiquement des informations sur les performances de vos applications. Cette analyse peut aider à identifier les serveurs sous et surutilisés, à comprendre les tendances de performances APM, à prédire les tendances futures en fonction des données historiques et à planifier ainsi la réaffectation des ressources et les mises à niveau de l'infrastructure. Sans les bonnes analyses d'application, toute instance APM est incomplète, indépendamment des applications petites, moyennes ou d'entreprise.

  10. Coût et évolutivité

    L'un des facteurs les plus importants dans le choix des outils APM, presque aussi important (ou plus?) Que leurs capacités, est le prix auquel ils viennent. En règle générale, chez n'importe quel fournisseur, le prix de la supervision d'un petit réseau de quelques centaines de serveurs peut ne pas sembler trop élevé. Cependant, il faut garder à l'esprit les coûts éventuels qui s'additionneront une fois que les organisations décideront d'augmenter leur capacité d'infrastructure. Le prix de la mise à l'échelle pèsera-t-il sur votre budget et entravera-t-il la transformation numérique? Cela vaut la peine de réfléchir.

    Alors que la plupart des outils APM d'entreprise couvrent plusieurs des aspects abordés dans cette page, la solution qui répond le mieux aux besoins de votre organisation est celle que vous avez vous-même évaluée dans votre environnement de surveillance personnalisé. Cela dit, Applications Manager de ManageEngine est l'une de ces bonnes solutions APM avec toutes les capacités de supervision (surveillance, alerte, rapports, tableaux de bord, etc.) à un prix incroyablement abordable.