Glossaire des techniques de mesure de la performance informatique point de vue utilisateur
Premier d’une série d’articles visant à rapporter sur les techniques de mesure à disposition des fournisseurs de services/applications et servant globalement à la surveillance de l’expérience numérique. Ces techniques permettent de garantir, suivre et in-fine d’améliorer l’expérience des utilisateurs en ciblant la performance des applications.
Elles peuvent être utilisées pour :
- Superviser la disponibilité/temps d’arrêt des applications informatiques
- Détecter les problèmes et pannes des applications en production
- Aider à la résolution des soucis inhérents à l’application (bug fonctionnel, opérationnel, performance)
- Prévenir les problèmes et impact sur l’utilisateur
- Etablir les indicateurs, et garantir le SLA des applications
On distinguera pour chaque technique de mesure : la mesure réalisée ainsi que son objectif, le moyen, le coût ainsi que les prérequis de mise en œuvre.
La “Status page” du fournisseur
Cette technique se base uniquement sur la consultation des pages de statut fournit par l’éditeur de l’application dans le cas des applications SaaS.
Avantage : pas d’instrumentation à mettre en place
Inconvénient : pas nécessairement disponible ou à jour et donne la vision du point de vue du fournisseur le plus souvent
Coût : Nul
Interprétation des résultats: superficielle
Real User Monitoring (RUM/APM Application Performance Monitoring)
Cette technique de mesure vise à collecter l’intégralité ou un échantillon des transactions réseaux utilisateurs. Elle peut être implémentée côté serveur applicatif et/ou côté navigateur pour les applications web. Elle fournit une vision technique de l’application et est particulièrement appréciée des développeurs d’application.
- Instrumentation du code : mise en œuvre d’instrumentation dans le code avec des standards du marché. Cette technologie est plus récente et se fait généralement lors du développement de l’application.
- Déploiement côté serveur applicatif : la mise en œuvre nécessite que l’agent de mesure soit déployé sur le serveur applicatif et qu’il soit compatible avec l’application (java, .Net, …) afin de collecter les différentes métriques. Ainsi, il permettra aux développeurs de connaître les parties de code qui impactent la performance.
- Déploiement côté navigateur : la mise en œuvre nécessite de l’intégration dans le code d’un agent de mesure qui collectera les données côté navigateur. L’agent peut aussi être déployé côté utilisateur si ceux sont des utilisateurs internes.
Avantage : visibilité jusqu’au code de toutes ou parties des transactions utilisateur.
Inconvénient : nécessite d’instrumenter le serveur applicatif, il faut donc un accès à celui-ci. Peu de visibilité si pas d’utilisateurs en cours. Incompatible avec les applications SaaS.
Coût : $$$
Analyse des résultats : devs, devops
Synthetic Monitoring (DEM/APM Application Performance Monitoring)
Cette technique de mesure vise à collecter un échantillon régulier de la performance du point de vue utilisateur. Elle utilise des agents ou robots dédiés qui vont utiliser des scénarios/scripts pour reproduire des comportements utilisateurs déterminés. Cette technique est très appréciée des équipes support ou de service management.
Avantage : factuel, visibilité en continu depuis des endroits déterminés qui simplifient l’analyse. Couverture très large des applications (web, client lourd, VDI, SaaS). Possibilité de capter des screenshots, vidéos.
Inconvénient : nécessite de développer et maintenir des scénarios. Visibilité sur les scénarios choisit.
Coût : $
Analyse des résultats : support, service management, devs, devops