Principales techniques de surveillance des performances des applications

par | Août 9, 2022 | Article, Performances des applications

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 plate-forme 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 plate-forme 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
  • Deep visibility in application code execution
  • Processing overhead
  • No visibility on the user to app path and its impact
  • Only available for certain app frameworks
  • Does not apply to PaaS, SaaS and 3rd party app platforms.
NPM
  • Provide estimated response times for many application flows and some more application level metrics for some protocols
  • Traffic capture in virtual, software driven and cloud environments is a challenge
  • New encryption techniques reduce visibility to transport layers at best
  • Complex to implement
  • Complex data interpretation
  • Unsuitable for distributed environments
  • Unsuitable for cloud-based and SaaS applications
  • Important visibility gaps when applied to hybrid and composable applications
RUM
  • Provide great performance insights on user performance for web applications
  • Inexpensive and easy deployment
  • Tracks real user transactions and context
  • Only produces insight when–and from where–users access the application
  • Does not provide visibility on internal application processes
  • Only works for web applications
Monitoring Synthétique
  • Data is easy to interpret
  • Results not dependent on users accessing the application
  • Scenario coverage limits monitoring granularity
  • Unfit for troubleshooting (not an accurate reflection of real user behavior)
  • Scenario maintenance can be costly
  • Limited user experience measurement accuracy with single page applications (SPA)
  • Primarily used to monitor web 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.

Monitoring des performances des applications Couverture de NPM, APM, RUM et surveillance des performances synthétiques

Kadiska adopte une approche différente. Notre plate-forme 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

Partager cette publication

Newsletter

Toutes nos dernières stories et informations sur la surveillance du réseau et l’expérience utilisateur directement dans votre boîte de réception.

Ressources