Principales techniques de surveillance des performances des applications

par | Août 9, 2022 | Performances des applications, Performances du réseau

Découvrez les méthodes courantes de monitoring des performances des applications : APM (monitoring des performances des applications), NPM (monitoring des performances du réseau), RUM (surveillance des utilisateurs réels) et monitoring des performances des applications synthétiques.

Boris Rogier

Boris Rogier

Co-founder

Top Application performance monitoring apprroaches

Les équipes informatiques et SRE / DevOps s’appuient sur la surveillance des performances des applications pour résoudre efficacement les plaintes des utilisateurs finaux, résoudre les problèmes de performances des applications et optimiser de manière proactive l’expérience numérique de l’utilisateur final. Les équipes informatiques et SRE / DevOps s’appuient sur la surveillance des performances des applications pour résoudre efficacement les plaintes des utilisateurs finaux, résoudre les problèmes de performances des applications et optimiser de manière proactive l’expérience numérique de l’utilisateur final. Il existe plusieurs façons de surveiller les performances des applications en production, notamment APM (surveillance des performances des applications), NPM (surveillance des performances du réseau), RUM (surveillance des utilisateurs réels) et la surveillance des performances des applications synthétiques. Les outils de surveillance des performances des applications mesurent globalement la disponibilité des applications et les temps de réponse, et fournissent des informations sur les principales couches et composants de l’infrastructure qui définissent les performances des applications, notamment les serveurs/hôtes, les réseaux et les appareils des utilisateurs finaux.

APM – Monitoring des performances des applications

Les solutions de surveillance des performances des applications APM s’appuient généralement sur des agents s’exécutant sur des serveurs d’applications pour mesurer les temps de réponse, suivre les erreurs, surveiller et inspecter l’exécution du code. De nombreux éditeurs de logiciels ont développé des solutions de surveillance des performances des applications basées sur des agents, notamment Introscope APM de CA (maintenant Broadcom), Dynatrace, AppDynamics (maintenant partie de Cisco), NewRelic et Elastic.

Ces solutions de surveillance des performances des applications couvrent un ensemble spécifique de frameworks d’applications qu’elles peuvent inspecter et effectuer des mesures. Cette classe d’outils de surveillance des performances des applications nécessite un traitement supplémentaire de la part des serveurs hébergeant les applications surveillées, mais fournit des informations approfondies sur les performances de l’application et sur la partie du code qui s’exécute lentement.

Les principaux défis liés à la mise en œuvre des outils de surveillance des performances des applications APM sont les suivants :

L’APM peut être très efficace pour éclairer sur l’exécution de l’application elle-même, mais ne fournit pas de visibilité sur le chemin, les services et l’infrastructure entre les utilisateurs et les composants frontaux de l’application ou leur impact sur l’expérience utilisateur et les temps de réponse des applications.

NPM – Monitoring des performances du réseau

Monitoring des performances du réseau NPM (ou NPMD) reposent sur la capture du trafic réseau et l’analyse de la communication réseau entre clients et serveurs (ou entre serveurs). Les outils de monitoring des performances NPM inspectent les différentes couches de communication réseau pour déduire les temps de réponse et les erreurs au niveau du réseau (TCP/IP) et au niveau de l’application (HTTP) lorsque le trafic n’est pas chiffré ou peut être déchiffré en quasi temps réel.

Ces solutions couvrent largement les protocoles de réseau et de transport de bas niveau, TCP (UDP dans une moindre mesure) et certains protocoles de niveau applicatif (HTTP, protocoles de base de données, VoIP, FTP, DNS). Les exemples de fournisseurs de NPM incluent Extrahop, Netscout et Riverbed, qui ont tous élargi leur attention au monitoring de la sécurité (NDR – Network Detection and Response) alors que les techniques de NPM deviennent de moins en moins efficaces et plus difficiles à déployer.

Les principaux défis liés à la mise en œuvre des solutions de monitoring des performances du réseau NPM sont les suivants :

  • La capture du trafic est souvent difficile ou trop coûteuse à mettre en oeuvre :
    • dans les centres de données pilotés par logiciel/SDN, les environnements virtuels, de cloud privé et public.
    • lorsque les composants applicatifs et/ou les utilisateurs sont fortement distribués.
  • chiffrement nuit à l’analyse du trafic : les dernières implémentations de TLS reposent sur des échanges de clés dynamiques / éphémères de type PFS (Perfect Forward Secrecy) qui empêchent l’interception / le déchiffrement de ”man in the middle”.

RUM – Real User Monitoring

Le Real User Monitoring est une approche de monitoring des performances applicatives qui consiste à insérer une référence javascript dans le code de l’application web. Lorsqu’un utilisateur visite le site, son navigateur exécute le script et partage par conséquent les analyses au niveau du navigateur avec la Platforme RUM. Les solutions RUM incluent les outils de surveillance des utilisateurs réels Datadog, New Relic et Dynatrace.

Le RUM est excellent pour fournir une visibilité sur l’expérience réelle des utilisateurs réels à partir de leur contexte. Les performances des applications de bout en bout sont mesurées de leur point de vue, tel qu’ils le perçoivent, reflétant leur connectivité, le type d’appareil, la version du navigateur, etc.

Les principaux défis auxquels sont confrontées les solutions RUM sont les suivants :

  • RUM ne s’applique qu’aux applications Web.
  • RUM fournit peu d’informations sur les problèmes de performances survenant au sein des plates-formes d’application (serveurs frontaux et principaux et leur interaction) ; sa vision se limite à la répartition des temps de réponse des principaux éléments de l’infrastructure entre les utilisateurs et la Platforme applicative.
  • RUM ne fournit des analyses que lorsque les utilisateurs réels accèdent à l’application.

Monitoring Synthétique

Le monitoring synthétique, ou monitoring actif, simule les utilisateurs avec des agents logiciels qui rejouent des scénarios ou scripts prédéfinis, puis mesure les performances résultant de ces transactions. Les tests synthétiques peuvent être adaptés pour surveiller des scénarios d’utilisateurs typiques (par exemple, la disponibilité des applications, les temps de chargement des pages, etc.) afin de vérifier la bonne exécution de l’application.

La surveillance synthétique est une approche idéale pour vérifier les performances des principales fonctionnalités d’une application, en établissant des lignes de base et en établissant des tendances dans le temps. Splunk, ThousandEyes (Cisco) et Catchpoint proposent des solutions de surveillance synthétiques, concurrençant une large gamme de solutions open source.

Les principaux défis des solutions de surveillance des performances des applications synthétiques sont les suivants :

  • La couverture et la précision des tests ne sont pas aussi complètes que le nombre de scénarios créés ; il est incapable de simuler toutes les façons dont les vrais utilisateurs interagissent avec les applications.
  • Les tests synthétiques ne peuvent jamais représenter la variété des emplacements des utilisateurs, de la connectivité, des appareils et des navigateurs qui influencent les performances des applications et l’expérience de l’utilisateur final.
  • Mesure de l’expérience utilisateur : les mesures traditionnelles de charge de page et de performances capturées par les outils de surveillance synthétiques ne représentent pas avec précision l’expérience utilisateur des applications monopage centrées sur les transactions.
  • La maintenance des scénarios de test est une activité permanente, chronophage et défensive. Les mises à jour fréquentes des applications peuvent casser les scripts lorsque la navigation sur le site et le comportement changent.
    • Les applications SaaS et tierces sont susceptibles de changer sans préavis
    • Les mises à jour peuvent ne pas être appliquées à tous les utilisateurs et à toutes les régions en même temps
    • L’adoption accrue des architectures basées sur CI/CD et les microservices exacerbe ces problèmes

Comparaison des principales techniques de surveillance des applications Surveillance

Techniques APM Avantages Inconvénients Limites
APM
  • Visibilité approfondie dans l’exécution du code d’application
  • Surcharge de traitement et impact de performance
  • Aucune visibilité sur le chemin de l’utilisateur vers l’application et son impact
  • Uniquement disponible pour certains frameworks d’application
  • Ne s’applique pas aux plates-formes d’applications PaaS, SaaS et tierces.
NPM
  • Fournir des temps de réponse estimés pour de nombreux flux d’application et quelques mesures supplémentaires au niveau de l’application pour certains protocoles
  • La capture du trafic dans les environnements virtuels, pilotés par logiciel et cloud est un défi
  • Les nouvelles techniques de chiffrement réduisent au mieux la visibilité des couches de transport
  • Complexe à mettre en œuvre
  • Interprétation complexe des données
  • Inadapté aux environnements distribués
  • Ne convient pas aux applications basées sur le cloud et SaaS
  • Lacunes de visibilité importantes lorsqu’il est appliqué aux applications hybrides et composables
RUM
  • Fournit d’excellentes informations sur les performances des utilisateurs pour les applications Web
  • Déploiement peu coûteux et facile
  • Suit les transactions et le contexte réels des utilisateurs
  • Ne produit des informations que quand et d’où les utilisateurs accéder à l’application
  • Ne fournit pas de visibilité sur les processus applicatifs internes
  • Fonctionne uniquement pour les applications Web
Monitoring Synthétique
  • Les données sont faciles à interpréter
  • Les résultats ne dépendent pas des utilisateurs accédant à l’application
  • La couverture du scénario limite la granularité
  • Inapte au dépannage (ne reflète pas fidèlement le comportement réel de l’utilisateur)
  • La maintenance du scénario peut être coûteuse
  • Précision limitée de la mesure de l’expérience utilisateur avec les applications à page unique (SPA)
  • Principalement utilisé pour surveiller les applications

 

Combiner les approches de monitoring des performances des applications

Aucune approche unique de monitoring des performances des applications ne couvre l’éventail complet des infrastructures, des couches et des hôtes qui constituent les applications Web et SaaS modernes hébergées dans le cloud. Les outils de surveillance des performances des applications NPM, APM, RUM et synthétiques offrent chacun une perspective unique, mais même pris ensemble, ils ne peuvent pas résoudre les performances du chemin réseau, la contribution des solutions de sécurité SASE/CASB, l’hébergement poly-cloud hautement distribué, les applications composables et le l’impact des appareils à emporter comme les tablettes et les Chromebooks.

Couverture de le monitoring des performances des applications

 

Kadiska adopte une approche différente. Notre Platforme combine les meilleures capacités de monitoring APM, NPM, RUM et synthétiques pour combler le fossé de visibilité laissé par les solutions traditionnelles de surveillance des applications et du réseau. Avec une visibilité complète à 360° sur les performances du chemin réseau, les performances des applications et l’expérience numérique des utilisateurs, les équipes informatiques peuvent rapidement collaborer pour résoudre les problèmes de performances épineux et optimiser de manière proactive les applications et l’infrastructure pour améliorer la productivité de l’entreprise.

 

Découvrez comment Kadiska peut vous aider à résoudre vos défis

Share this post

Newsletter

All our latest network monitoring and user experience stories and insights straight to your inbox.