Optimiser l’expérience applicative des utilisateurs finaux : un paysage en pleine évolution
Introduction
Depuis sa création, Internet évolue à un rythme toujours plus rapide, améliorant le processus de mise à disposition des applications et renforçant l’interactivité sous l’effet des avancées technologiques et des forces du marché. Les entreprises et les pouvoirs publics doivent s’efforcer de suivre l’évolution des attentes des utilisateurs et de la pression concurrentielle. Les anciennes technologies qui nuisaient à l’expérience utilisateur (par exemple, Adobe Flash et HTTP/1.x) ont été abandonnées au profit de technologies plus récentes (comme HTML5), davantage axées sur cette expérience.
Dans ce document, nous quantifierons certaines des évolutions récentes qui affectent l’expérience utilisateur et que les équipes informatiques doivent comprendre à des fins d’exploitation et de planification pour 2017 et les années à venir :
- L’omniprésence des réseaux de diffusion de contenu (CDN)
- Mises à niveau des réseaux des centres de données et des fournisseurs de services
- Accès mobile et « dernier kilomètre » plus rapides
- Protocole HTTP mis à jour et conçu pour optimiser les performances
- Évolution de la relation client-serveur
Des CDN partout
Les fournisseurs de CDN ont rapidement multiplié le nombre de points de présence (PoP) qu’ils exploitent, principalement à proximité des zones densément peuplées, afin de réduire la latence (environ 30 ms dans de nombreux cas) lors de la diffusion de contenu aux utilisateurs. Voici une liste des CDN les plus populaires qui ont déployé une infrastructure à travers le monde pour garantir une diffusion rapide du contenu1.

À mesure que les CDN ont augmenté le nombre de PoP qu’ils exploitent, ainsi que leur proximité avec les utilisateurs, et que la base d’utilisateurs des applications s’est mondialisée, les sites web ont accru leur dépendance aux CDN. En mars 2015, 11 % du contenu HTML disponible sur Internet était hébergé sur des CDN.2 En 2016, ce chiffre était passé à 17 %, puis à 20 % en mars 2017. En moins de deux ans, la quantité de contenu HTML hébergé sur des CDN a presque doublé, une tendance qui a considérablement réduit la latence de diffusion du contenu aux utilisateurs.
Modernisation des réseaux des centres de données et des fournisseurs de services
Le déploiement de ports Ethernet 10G/40G/100G (ainsi que de commutateurs et de routeurs de capacité supérieure correspondante) a considérablement amélioré les performances Internet des réseaux d’entreprise, des connexions WAN et des terminaux distants. Au cours des quatre prochaines années, la poursuite de la migration des réseaux d’entreprise et des fournisseurs de services vers des connexions 25G et 100G aura presque quintuplé la capacité de bande passante par rapport à 2015.3

Les investissements consacrés à la modernisation des infrastructures de centres de données et de périphérie ont permis d’atténuer le problème des réseaux des fournisseurs de services et des centres de données d’entreprise qui constituaient des goulets d’étranglement pour le trafic applicatif à destination du client.
Accès mobile et « dernier kilomètre » plus rapides
Sous l’effet d’une concurrence accrue, les fournisseurs d’accès à Internet (FAI) et les opérateurs mobiles du monde entier ont augmenté les débits de téléchargement sur le « dernier kilomètre » (le dernier tronçon des réseaux de télécommunications qui assure la connexion des clients) et pour les utilisateurs mobiles. Les graphiques ci-dessous présentent les performances de téléchargement des FAI en 2015 aux États-Unis, en Asie et en Europe.4
États-Unis


Asie


Europe


Dans le monde entier, le « dernier kilomètre » de la connectivité Internet est devenu beaucoup plus rapide qu’auparavant, et la bande passante disponible aujourd’hui contribue à améliorer l’expérience utilisateur des applications web.
Protocole HTTP mis à jour et conçu pour optimiser les performances (HTTP/2)
Le développement de la spécification HTTP/2 a été principalement motivé par les problèmes de performances de HTTP/1.x. En 2012, Google a développé et promu SPDY afin d’optimiser la diffusion de contenu web et de tenter de pallier les inefficacités inhérentes à la conception de l’ancien protocole HTTP/1.1. HTTP/2 s’appuie sur SPDY et vise principalement à réduire la latence et le nombre de connexions TCP, tout en restant compatible avec HTTP/1.1.
Dans un objectif d’amélioration des performances, le protocole HTTP/2 intègre les changements suivants :
- Multiplexage : permet plusieurs interactions au sein d’une même connexion TCP (comme le proposait SPDY).
- Compression des en-têtes : réduit la redondance liée à l’envoi répété des mêmes en-têtes (par exemple, l’URL de la requête, l’agent utilisateur et les cookies).
- Push serveur : permet au serveur d’envoyer de manière proactive du contenu au terminal en fonction du contenu demandé et des dépendances des sources (par exemple, les fichiers JS et CSS).
- Priorisation des ressources : hiérarchise la diffusion en fonction du type et du contenu, à l’aide de pondérations et de dépendances, afin d’optimiser la diffusion et le rendu.
Les principaux éditeurs de navigateurs web ont annoncé leur calendrier (voir le tableau ci-dessous) pour la prise en charge de HTTP/2 après la ratification de la spécification du protocole par l’IETF à la mi-2015.

Les requêtes HTTP/2 envoyées aux serveurs web par les navigateurs des terminaux ont commencé début 2016 et se sont multipliées avec la sortie et l’adoption de navigateurs compatibles avec la nouvelle spécification. Les navigateurs mis à jour adressent d’abord leurs requêtes aux serveurs web en HTTP/2, avec un retour négocié vers HTTP/1.x. La figure ci-dessous illustre la progression des échanges HTTP/2 (entre serveur et terminal) sur les sites web du monde entier.5

Les améliorations apportées à la spécification HTTP/2 permettent d’obtenir des performances de 80 % à 1 000 % supérieures à celles d’une infrastructure basée sur HTTP/1.x. Pour vous faire une idée de l’incidence de ces changements sur les performances en conditions réelles, effectuez ce test simple comparant HTTP et HTTPS proposé par Anthum qui met en évidence les différences entre les deux versions du protocole.
Évolution de la relation client-serveur
Outre ces améliorations apportées à l’infrastructure et aux protocoles, la composition même des applications évolue également. Si l’accélération du « front-end » était autrefois nécessaire parce que les anciennes applications « poussaient » tout vers le client, l’application moderne est désormais répartie entre les deux composants principaux (client et serveur), au point que 90 % des échanges avec une application (via une API ou depuis un navigateur) portent sur de petits volumes de données.
Très peu de « contenu » est transmis après le chargement initial ; la majeure partie de la couche de présentation (l’interface utilisateur) peut être manipulée côté client à l’aide de bibliothèques JavaScript (JQuery, Angular, etc.). Cela signifie que la quantité et le type de données contenues dans les réponses (la cible principale des technologies d’accélération front-end) ont considérablement diminué et qu’il s’agit désormais principalement de JSON ou de XML, et non de HTML.

En raison de cette évolution architecturale, la part d’une application constituée de HTML diminue aujourd’hui, tandis que celle des autres types de composants augmente (voir la figure ci-dessous).6

Étant donné qu’une part importante du JavaScript (et du HTML) est distribuée via des CDN — les développeurs intégrant les scripts depuis Internet plutôt que localement —, les techniques d’accélération front-end ciblant ce contenu ont moins d’impact sur les applications modernes.
Avec l’essor des appareils mobiles et la migration des technologies antérieures (par exemple, Adobe Flash) vers HTML5, les équipes chargées des applications informatiques ont commencé à développer des applications Web monopages destinées à être exécutées dans le navigateur. Ces applications Web monopages ne nécessitent généralement pas de recharger la page lorsque l’utilisateur navigue entre les différentes parties de l’application. Il en résulte une navigation plus rapide, des transferts réseau plus efficaces et une meilleure expérience utilisateur.7 Aujourd’hui, la grande majorité des applications Web sont conçues selon une approche « monopage ».
Créer une expérience applicative idéale pour l’utilisateur final en 2017 et au-delà
Afin de créer et de maintenir une expérience utilisateur optimale pour les applications web placées sous le contrôle des opérations informatiques, il convient d’adopter les technologies et pratiques suivantes.
Standardiser les serveurs web sur le protocole HTTP/2.
La mise à niveau de l’infrastructure web vers la norme HTTP/2 permettra de résoudre les problèmes de performances côté serveur qui affectaient HTTP/1 et HTTP/1.1. Outre une meilleure gestion des connexions, HTTP/2 permet aux concepteurs d’applications web de définir des priorités afin d’optimiser la diffusion et l’affichage du contenu dans les navigateurs web des terminaux.
Définissez une norme minimale pour les navigateurs web afin de garantir que seules des requêtes basées sur HTTP/2 soient effectuées.
Encourager les utilisateurs internes (par exemple, les employés et/ou les sous-traitants) ou externes (par exemple, les clients et les partenaires) à mettre à niveau leur navigateur vers une version prenant en charge les requêtes HTTP/2 permettra d’éviter le retour automatique à HTTP/1.1 ou 1.0 et les transferts de données moins efficaces.
Vérifiez que les fournisseurs SaaS ont mis en œuvre HTTP/2 sur toutes les applications web.
Là encore, éviter la renégociation automatique vers HTTP/1.1 et HTTP/1.0 contribuera à améliorer les performances et l’expérience utilisateur.
Assurez-vous que les points de présence (PoP) de votre fournisseur de CDN sont géographiquement proches de vos utilisateurs et de vos clients.
Le recours à un fournisseur de CDN disposant d’un réseau de PoP géographiquement proches des employés, des prestataires et des clients réduira la latence des échanges entre les navigateurs web et les PoP du CDN.
Envisagez d’utiliser une technologie de mise en cache sur les appliances réseau.
Le recours à des appliances réseau dotées d’une technologie de mise en cache intégrée en amont des applications permettra d’améliorer les performances du contenu statique nécessaire aux pages web.
Évaluez les solutions de cache web open source à faible coût.
Si la mise en cache est nécessaire, envisagez d’utiliser un cache web open source économique et performant avec stockage SSD, tel que Varnish.
Conclusion
Les exigences métier et la transition vers l’informatique mobile et le cloud exercent une pression croissante sur les équipes informatiques, qui doivent optimiser l’expérience utilisateur tout en assurant la mise à disposition d’applications critiques. À l’heure actuelle, trois facteurs modifient la manière dont les utilisateurs accèdent au contenu web. La capacité des CDN s’est considérablement accrue, et la proximité des points de présence (POP) avec les principaux groupes d’utilisateurs contribue à réduire la latence. Deuxièmement, les protocoles Internet ont été mis à jour afin d’améliorer les performances globales entre les serveurs web et les clients. Troisièmement, la relation entre le serveur Internet et le client a évolué : leurs échanges ne sont plus aussi unilatéraux qu’auparavant, et les données fournies sont plus dynamiques et mieux adaptées à chaque utilisateur. Compte tenu de ces évolutions, les stratégies élaborées il y a 5 à 7 ans pour optimiser la mise à disposition des applications front-end et améliorer l’expérience utilisateur deviennent rapidement obsolètes sous l’effet des forces du marché et de l’évolution naturelle des technologies web.
L’infrastructure des applications web d’entreprise doit évoluer au rythme des changements du marché, sous peine de voir ses performances et le retour sur ses investissements informatiques diminuer. Pour les services informatiques, l’enjeu principal sera de veiller à ce que l’infrastructure assurant l’expérience utilisateur (par exemple, les serveurs web, les répartiteurs de charge, les CDN et les solutions SaaS) soit mise à niveau vers HTTP/2, un protocole conçu pour améliorer les performances web.
1 http://www.cdnplanet.com/cdns
2 http://httparchive.org
3 https://technology.ihs.com/589721/data-center-network-equipment-market-tracker-regional-q2-2017
4 https://www.stateoftheinternet.com/resources-connectivity-2015-q1-state-of-the-internet-report.html
5 https://w3techs.com/technologies/details/ce-HTTP/2/all/all
6 http://httparchive.org
7 https://techcrunch.com/2012/11/30/why-enterprise-apps-are-moving-to-single-page-design
PUBLIÉ LE 29 AOÛT 2017
