La supervision synthétique et le Real User Monitoring
Mesurer l’expérience utilisateur sur les applications est une demande récurrente autant de la part des équipes techniques que des équipes métiers. Attendre que les utilisateurs se plaignent et compter leurs commentaires du type « ça rame tout le temps », « mon voisin non plus n’a pas réussi » et autres « l’appli est pas dispo » est une approche qui trouve vite ses limites.
Se pose alors la question de la méthode et des outils existants. Pour mettre en place une supervision de la disponibilité et de la performance de chargement – également connues sous les termes de monitoring et de Web performance en bon franglais, deux technologies existent et se distinguent. Dans ce blog, nous comparerons la supervision synthétique (en anglais Synthetic Monitoring) et la supervision réelle des utilisateurs (ou en anglais « RUM » pour Real User Monitoring).
Commençons par la définition :
Le RUM et le Synthetic Monitoring sont tous deux utiles pour suivre et identifier les pistes d’optimisation de la performance. Les deux méthodologies fonctionnent encore mieux lorsqu’elles sont associées. Chacune apporte des informations différentes et complémentaires.
Un résumé rapide des différences en prenant l’analogie de la météo :
Examinons maintenant plus en détail certains des principaux bénéfices que le Synthetic Monitoring offre par rapport au RUM.
Le Synthetic Monitoring peut être utilisé pour tester des applications en pré-production – le RUM s’applique uniquement en production ou du moins quand il y a déjà des utilisateurs.
Les résultats de tests en pré-production du synthétique peuvent servir à établir une base de référence pour les performances et à définir des seuils d’alerte, mais ils peuvent également aider à prévenir les problèmes de performance avant qu’ils n’atteignent la production, où il peut être coûteux et chronophage de les corriger rétroactivement.
Le Synthetic Monitoring vous permet de superviser la performance avec un ensemble de variables contrôlées – géographie, réseau, appareil, navigateur, mis en cache ou non mis en cache, etc. Par exemple, certains utilisateurs d’une même application peuvent se connecter depuis Tokyo sur le dernier iPhone avec une connexion haut débit alors dans des zones reculées avec des appareils ayant plusieurs années déjà : les données des vrais utilisateurs remontées par le RUM seront plus complexes à analyser pour comprendre la performance de votre application.
A contrario, les robots font le même parcours avec les mêmes étapes depuis le même point de mesure alors que le RUM mesurera l’expérience d’utilisateurs se connectant potentiellement depuis des zones géographiques et des qualités de connexion réseau très différentes. En conséquence, les utilisateurs peuvent :
Prenons un exemple d’application de ce dernier point : vous souhaitez ouvrir l’accès à votre application aux utilisateurs japonais. Comment vérifier sans faire le déplacement et en évitant la latence induite par la distance ? En utilisant le point de mesure de Tokyo. Ainsi, vous pourrez mesurer les performances pour vérifier qu’elles correspondent à vos objectifs et éventuellement tester des solutions techniques alternatives (hébergement, CDNs).
Le Synthetic Monitoring offre la capacité de créer des tests qui excluent ou incluent des éléments venant de tiers. Ceci est particulièrement intéressant pour les sites de B2C : les clients Splunk par exemple, dans l’e-commerce font état d’environ 15 à 25 trackers en moyenne (suivi de trafic, outils de web marketing, etc) ; les sites de média en comptent 3 fois plus. De nombreuses applications B2B font aussi appel à des éléments tiers.
Par exemple, un responsable technique peut créer un test qui exclut un plugin marketing problématique et exécuter le test côte à côte avec un autre test qui inclut le plugin pour montrer clairement son impact sur la disponibilité et la performance. Un utilisateur peut également utiliser le Synthetic Monitoring pour quantifier l’impact du changement de fournisseurs de publicités ou de certains outils d’accélération de contenu comme les CDNs (Content Delivery Networks).
Le Synthetic Monitoring ne nécessite aucune installation ou injection de code sur l’application, facilitant ainsi le benchmarking face à ses concurrents. Connaître sa position face à ces derniers est nécessaire pour adapter les ressources à l’état de l’art du marché et définir des objectifs data-driven. Le Synthetic Monitoring devient alors un outil d’aide à la décision. Avant le lancement d’un nouveau produit, ce benchmark permet de fixer les objectifs de temps de réponse en vue utilisateur à atteindre.
À la différence du RUM (et donc des humains), les robots ne dorment pas. Il est donc possible de détecter des incidents « externes à l’entreprise » qui ne sont pas sous votre responsabilité, mais qui affecteront vos utilisateurs au réveil (exemple : un CDN hors service, une API tiers en erreur, etc) et sont indétectables par les outils d’observabilité qui, eux, scrutent « l’interne » comme les outils d’Infrastructure Monitoring ou encore les APM (Application Performance Monitoring).
Les Core Web Vitals sont un ensemble de métriques spécifiques que Google utilise pour évaluer l’expérience utilisateur d’un site web. Elles se concentrent sur trois aspects principaux :
Ces indicateurs influencent directement le classement dans les résultats de recherche. Les améliorer peut donc contribuer à une meilleure expérience utilisateur et potentiellement à un meilleur référencement SEO. Étant donné les efforts et les budgets consacrés au SEO dans de nombreuses organisations, le suivi de ces indicateurs est souvent l’occasion de mettre en place une approche moins cloisonnée entre les équipes IT, SEO et métiers.
Tant pour le Synthetic Monitoring que le RUM : le suivi de ces indicateurs s’accompagne souvent par la mise en place du second outil et une démarche plus avancée sur l’analyse des mesures.
La granularité des données permet de couvrir certains angles morts du synthétique :
Dans ces deux cas, la fonction de « Session Replay » permet de visualiser une vidéo de chaque session (en l’anonymisant au besoin) pour affiner la compréhension de l’expérience utilisateur sur son parcours réel.
La clé pour avoir une vue holistique de l’expérience utilisateur de vos sites web et applications en ligne est d’exploiter la complémentarité des deux technologies. Au moment de lancer une nouvelle application, le Synthetic Monitoring possède de nombreux atouts. Il constitue une bonne première étape dans la mise en place d’une démarche orientée autour de la mesure de performance et de l’expérience utilisateur.
Ajouter ensuite les mesures d’une solution de RUM à votre monitoring vous permettra de pousser plus loin le niveau de détail de vos analyses en les segmentant pour vos utilisateurs finaux.
Mais la meilleure manière d’apprécier les bénéfices de ces outils dans votre environnement est de les essayer !
La plateforme Splunk élimine les obstacles qui séparent les données de l'action, pour donner aux équipes d'observabilité, d'IT et de sécurité les moyens de préserver la sécurité, la résilience et le pouvoir d'innovation de leur organisation.
Fondée en 2003, Splunk est une entreprise internationale. Ses plus de 7 500 employés, les Splunkers, ont déjà obtenu plus de 1 020 brevets à ce jour, et ses solutions sont disponibles dans 21 régions du monde. Ouverte et extensible, la plateforme de données Splunk prend en charge les données de tous les environnements pour donner à toutes les équipes d'une entreprise une visibilité complète et contextualisée sur l'ensemble des interactions et des processus métier. Splunk, une base solide pour vos données.