Quand la supervision des performances des applications ne suffit plus

Dans le cadre d’un système "classique" de surveillance des pages web, l’administrateur doit dans un premier temps composer avec les conséquences d’un problème avant d’en identifier la source.

Aujourd'hui, nombreuses sont les entreprises qui jouent leur croissance, si ce n’est leur survie, sur les performances et sur la disponibilité de leur site web, lequel constitue parfois un modèle économique à part entière. Lorsqu’il héberge une boutique en ligne, le site Internet est non seulement un générateur de recettes, mais aussi le premier outil d’attraction de prospects et de gestion des demandes émanant des clients. Et même si la présence en ligne ne revêt pas un caractère vital pour toutes les entreprises, aucune ne peut se permettre d’avoir un site excessivement lent ou truffé de bugs sans en faire les frais tôt ou tard. Pour éviter cet écueil, la solution paraît simple : s’en remettre à un outil de supervision des performances des applications web afin de détecter les dysfonctionnements et d’analyser leur cause en sondant le code source, de sorte que les équipes de DevOps puissent régler les problèmes. Cela étant, cette méthode permet seulement de déceler les erreurs immanentes aux applications et fait donc l’impasse sur de multiples facteurs externes comme le matériel informatique, le trafic ou les problèmes de connexion, qui peuvent pourtant avoir un impact considérable sur les performances et la disponibilité d’un site Internet. À ce problème s’ajoute le caractère réactif de la surveillance de sites web ou applications web en général.

Effet et cause

Dans le cadre d’un système « classique » de surveillance des pages web, l’administrateur doit dans un premier temps composer avec les conséquences d’un problème avant d’en identifier la source et de prendre les mesures nécessaires pour le régler. Ainsi, le rapport de cause à effet est inversé ; on subit la conséquence, avant de chercher à identifier la cause :

  1. Alerte : "Le site web n’est plus accessible ou fonctionne trop lentement !"
  2. Recherche : "Quelles sont les causes du problème et comment l’éliminer ?"

Mais que se passe-t-il quand la source de tous les maux est difficile à localiser et qu’il est donc impossible de résoudre le problème rapidement ? Peut-on, a contrario, inverser la séquence pour connaître la cause avant la conséquence ? Par exemple, en identifier les causes de problèmes imminents suffisamment à temps pour en prévenir les effets ?

Passons en revue toutes les étapes du processus et définissons ensemble quelques paramètres de base.

1 seconde

Dès 1993, Jakob Nielsen a déterminé qu’il existait trois seuils au gré desquels évolue la patience de l’homme face au temps de chargement d’un site Internet[1]:

  1. Un retard inférieur ou égal à 0,1 seconde ne sera pas perçu par l’utilisateur,
  2. Un retard compris entre 0,1 et 1 seconde est perçu comme tel, sans pour autant perturber l’attention de l’utilisateur,
  3. Un retard compris entre 1 et 10 secondes va perturber l’attention de l’utilisateur, mais pas forcément le dissuader d’abandonner l’action qu’il avait entreprise (attente).

À une époque où la fibre optique est devenue omniprésente et la capacité de concentration de l’homme a dans l’ensemble chuté lourdement, au point de tomber en dessous de celle du poisson rouge[2], le seuil des dix secondes d’attente du chargement d’un site web paraît trop optimiste. En effet, de nombreux experts s’accordent à penser que le temps de chargement maximal admissible d’une page web se situe dans une fourchette comprise entre une et deux secondes. Au-delà de ce seuil, le risque de voir l’utilisateur se détourner du site auquel il tentait d’accéder augmente à chaque seconde qui passe. Cependant, le temps de chargement est loin d’être la seule variable à influer sur la qualité de l’expérience utilisateur en ligne. Plus il faut de temps pour accéder à une fonctionnalité du site, lancer le processus de paiement ou d’inscription, plus la confiance que l’utilisateur accorde à l’entreprise dont il visite le site se dégrade. L’affirmation vaut particulièrement pour les boutiques en ligne, où la rapidité de traitement des requêtes joue un rôle majeur. En effet, pour peu que la confirmation tarde trop à arriver, le visiteur risque d’aller voir ailleurs par crainte pour la sécurité de ses informations bancaires. La boutique perd alors la confiance de ses clients et, dans le pire des scénarios, s’attire une mauvaise réputation.

Dès lors, que faire pour optimiser le temps de réponse des contenus d’une entreprise sur le web et le taux de satisfaction des visiteurs ? Certes, un outil « classique » de surveillance des sites Internet est aujourd'hui encore un gage de sérénité, mais cela ne suffit plus.

Le site Internet est en ligne

Le mécanisme de surveillance de sites web le plus rudimentaire, dont la mise au point coïncide avec les premiers pas de l’Internet, consistait à envoyer une requête ping au site web pour mesurer son temps de réponse (ce qui est toujours aussi important !). Pour autant, on ne peut pas juger de la qualité de l’expérience utilisateur sur la foi du seul temps de réaction d’un site web. Après le premier ping, le chargement réel de la page peut paraître interminable. Les outils modernes de supervision des sites web analysent bien plus de paramètres, comme le temps de chargement du code source ou même celui du site web dans son ensemble, en tenant compte de tout le contenu hébergé. Le logiciel s’appuie sur divers scripts pour simuler des processus d’ouverture de session ou d’achat et mesurer les temps de réponse correspondants. D’autres scripts servent à interroger et à contrôler certaines valeurs relatives à une page web. Pour ce faire, ces outils assurent aussi la surveillance des différents serveurs web.

Les entreprises qui opèrent à l’échelle internationale sont confrontées à un challenge supplémentaire : si un serveur web situé aux États-Unis est accessible dans des délais raisonnables au niveau national, cela ne signifie pas pour autant que les clients établis en Europe ou en Asie pourront eux aussi y accéder rapidement. Dans ce cas, la solution de supervision doit permettre de surveiller la page web depuis divers lieux situés en différents points de la planète. Tout ceci permet seulement à l’administrateur de s’apercevoir qu'il y a un problème. Encore faut-il qu’il découvre ce qui ne fonctionne pas correctement.

Supervision des performances des applications

Les outils conçus pour superviser des applications web, aussi appelés "applications de suivi des performances" ou outils APM, poussent l’analyse un peu plus loin en examinant le code source de l’application web. Outre leurs capacités de supervision continue, ces outils permettent de déterminer les causes des dysfonctionnements. Cela étant, il ne s’agit là que des causes immanentes à l’application, qui relèvent donc essentiellement les équipes de DevOps et ont trait avant toute chose au développement du site web. L’administrateur, qui est le garant du fonctionnement du site Internet au quotidien, doit pouvoir disposer d’autres outils pour mener à bien ses recherches.

Au-delà de l’application web

Les serveurs web et bases de données fournissent du code et des données, les répartiteurs de charge contrôlent les flux de données, les pare-feu forment des barrières de sécurité et les commutateurs et routeurs distribuent des données qui transitent souvent par un grand nombre de stations d’un lieu à l’autre. Il s’agit d’un procédé complexe dont le temps de réponse dépend d’une multitude de facteurs en plus du code source. Parmi ceux-ci, des unités de calcul physiques, dont des composants comme le CPU ou la mémoire, ou des environnements virtualisés qui dépendent pour leur part du matériel sous-jacent. De nombreuses applications, comme les serveurs web et les bases de données, affectent elles aussi lourdement les performances d’un site web.

Tuer les problèmes dans l’œuf

La longueur excessive du temps de réponse d’un site web peut être due à n’importe quel composant. Dès lors, il peut devenir complexe et chronophage de localiser l’erreur. La meilleure méthode consiste encore à prévenir les erreurs avant leur apparition. Pour ce faire, il suffit de s’appuyer sur la surveillance informatique ou la supervision centralisée comme une extension de la supervision réseau. En surveillant en continu tous les composants participant au processus de publication d’un site web, l'administrateur peut identifier et anticiper bien en amont les problèmes qui se profilent – dans l’idéal, avant que cela n’affecte la disponibilité du site. Au long cours, les systèmes et processus peuvent être optimisés à partir de l’historique des données de supervision, ce qui permet de renforcer la fiabilité et les performances globales du site web de façon durable. Cela étant, la personne compétente doit s’y prendre bien en amont et choisir avec soin la solution de surveillance la plus adaptée à ses besoins.

Choisir la bonne solution de supervision

Pour bien choisir une solution de supervision, il est essentiel de prendre en considération un certain nombre de critères. Avant toute chose, le logiciel se doit d’intégrer tous les outils requis pour surveiller directement le site web, ainsi que des fonctionnalités permettant de contrôler tous les éléments de l’infrastructure impliquée dans le processus de publication de contenu en ligne. Il importe également de se pencher sur les fonctions générales du logiciel, étant entendu que la flexibilité et la facilité d’utilisation vont grandement en conditionner l’adoption. Enfin, le prix et le modèle de licence pèsent eux aussi beaucoup dans la balance à l’heure de faire un choix.

Nous avons évoqué ci-dessus les fonctionnalités requises pour superviser efficacement un site web. En voici un récapitulatif :

  • Supervision de sites web via ping,
  • Supervision des temps de chargement des pages dans leur intégralité,
  • Supervision des transactions,
  • Supervision des serveurs web (Microsoft Internet Information Services IIS, Apache, Nginx...),
  • Supervision des sites web depuis des sites géographiquement dispersés.

L’efficacité de la surveillance réseau passe aussi par le respect des critères suivants :

  • Supervision clé en main des appareils (serveurs, commutateurs, routeurs...) et applications (bases de données, firewall...) ordinaires
  • Prise en charge des protocoles standards pour superviser les flux de données (SNMP, NetFlow, reniflage de paquets...),
  • Supervision des applications virtuelles.

Certaines fonctions de base sont essentielles à l’efficacité de la solution de supervision :

  • API documentée et modèles pour créer facilement vos propres requêtes, et si possible pour l’application web elle-même,
  • Ensemble complet de fonctions de notification et d’alerte,
  • Processus de publication simple et versatile pour superviser les données,
  • Stockage des données de supervision en format brut, sans perte d’informations, pour une plus grande précision des évaluations de long terme,
  • Possibilité de superviser tout un processus métier, de bout en bout.

Enfin, la solution devra présenter certains aspects que l’on est en droit d’attendre de tout logiciel :

  • Simplicité d’utilisation,
  • Simplicité et transparence du modèle de licence,
  • Rapport prix-performances.

Une solution de ce type vous aide non seulement à garantir la disponibilité et les performances de votre site web, mais facilite également la tâche de l’administrateur.

Conclusion

À l’aide d’une solution de supervision informatique, l’administrateur est en mesure de garantir et d’optimiser la disponibilité et la rapidité de tous les contenus présents en ligne. Pour cela, il est primordial que, outre des capacités de surveillance pure des pages web, elle porte sur l’infrastructure informatique dans son ensemble. En l’utilisant à bon escient, l’administrateur peut jouer un rôle décisif dans la réussite de son entreprise.

[1] Jakob Nielsen, “Response Times: The 3 Important Limits“,

[2] Une étude réalisée par Microsoft a établi que la capacité d’attention moyenne de l’homme avait chuté de 12 secondes en 2000 à 8 secondes en 2013. Chez le poisson rouge, ce chiffre moyen s’élève à 9 secondes.