Le content delivery network (CDN), ou réseau de diffusion de contenu est, pour le premier service qu’il offre, un ensemble de serveurs de cache, placés en différents points géographiques stratégiques et contenant des copies d’un même contenu pour pouvoir les diffuser aux utilisateurs situés à proximité.
Lorsqu’un internaute navigue sur un site sans CDN, il envoie des requêtes vers le serveur qui héberge le site, appelé serveur d’origine, qui peut être éloigné géographiquement de lui. La requête passe alors par de nombreuses routes internet qui peuvent être longues suivant la distance à parcourir, lentes et éventuellement encombrées.
Schéma : les données pérennes (images, fichiers vidéo, flash...) sont stockées sur des serveurs relais au plus proche de l’utilisateur.
Le principe du CDN est d’agir en intermédiaire entre les internautes et l’hébergement et de délivrer ces contenus à partir de serveurs placés en différents endroits du monde, au plus proche des utilisateurs.
Le CDN se comportera pour l’internaute comme le site internet le ferait en direct. Il se comportera également, pour l’hébergement, à peu de chose près comme un internaute le ferait. Cela permet de mettre en œuvre une solution de CDN sans toucher, le plus souvent, à l’hébergement.
Le chiffre d’affaires tiré du commerce en ligne via les téléphones mobiles « m-commerce « a atteint 6,4 milliards d’euros en 2016 en Europe, en hausse de 40% par rapport à 2014.
En Chine, le mobile devance déjà le laptop puisque plus de la moitié des internautes surfent avec un smartphone. La Russie suit également de près cette tendance.
Malgré un marché prometteur, les temps de réponse sont encore peu satisfaisants. et beaucoup de sites mobiles peinent à répondre à la demande.-Selon la société Stardust7, 69% des personnes interrogées en France identifient les mauvaises performances des sites mobiles (temps de chargement, navigation non adaptée au support...) comme un frein à l’achat. C’est le taux le plus élevé d’Europe et facilement explicable : seuls 23% des e-commerçants ont un site véritablement optimisé pour le mobile.
Les opérateurs de CDN ont développé plusieurs services pour répondre à la demande d’amélioration de la diffusion de sites web :
Historiquement, le premier service offert par les CDN a été le caching pour le téléchargement d’éléments lourds (images, css, javascripts, etc.), qualifés de « statiques » car ils sont identiques pour tous les internautes qui les consultent.
Sont venus s’ajouter les services d’accélération de contenu « dynamique », spécifique à chaque internaute (un panier de commande par exemple).
Les services de streaming à la demande ou de diffusion « live » se sont développés avec la généralisation de l’utilisation de la vidéo.
Puis se sont développés les services de Front End Optimization (FEO) pour optimiser les pages à la volée et réduire leur poids.
Enfin, depuis peu, la demande d’une sécurité renforcée est une composante essentielle des services de CDN afin de mieux protéger les sites de divers types d’attaque (DDoS, WAF...).
Schéma : L’accélération de contenus dynamiques permet d’améliorer les performances des contenus issus des bases de données d’un site.
Aucun réseau de distribution de CDN ne peut garantir les performances maximales n’importe où dans le monde et aucun réseau ne peut garantir les meilleurs temps de réponse quelle que soit l’heure de la journée. La notion de territorialité est essentielle dans le CDN.
La performance d’un opérateur de CDN est intimement liée à ses points de présence et à ses accords avec d’autres opérateurs pour assurer le relai des données. Or aucun opérateur à ce jour ne couvre de façon optimale 100% du territoire mondial.
La performance des opérateurs de CDN varie en fonction des heures de la journée
Du fait de l’encombrement éventuel de certains tronçons de route utilisés, aucun opérateur ne peut garantir une linéarité de son traffic.
Courbes : temps de chargement sur différents opérateurs au cours du temps.
Ces problématiques incitent les administrateurs responsables de la qualité de diffusion d’un site à disposer d’un contrôle en temps réel plus granulaire du fonctionnement du réseau de CDN utilisé et du choix de l’opérateur suivant les destinations et les besoins.
Trop d’informations rend un contrôle humain impossible et certains éditeurs ont développé des outils permettant d’automatiser et de mutualiser le contrôle du fonctionnement local des principaux réseaux de CDN.
Le principe de fonctionnement de ce type de service est simple : un ensemble de sites volontaires adressent automatiquement le nom du réseau de CDN utilisé, le serveur relai utilisé sur ce réseau et le temps de réponse obtenu lorsqu’un internaute visite les pages de ces sites. Cette collecte s’effectue de façon asynchrone afin de ne pas pénaliser la navigation des utilisateurs du site. Ces données permettent d’avoir en temps réel un véritable état de fonctionnement des réseaux de CDN.
Les données ainsi recueillies permettent d’utiliser plusieurs CDN en aiguillant les requêtes de l’internaute vers le plus performant à l’instant de la demande.
Dans le cas du streaming, un flux audiovisuel est injecté sur un point de publication au niveau du serveur origine du CDN et aussitôt répliqué vers les serveurs relais. Les CDN de streaming supportant les flux live doivent supporter les différents formats de streaming utilisés : Apple HLS, MPEG-Dash (tous éditeurs sauf Apple) et éventuellement des formats plus anciens comme RTMP, HDS, Flash (Adobe) ou Windows Media (Microsoft).
Le développement du streaming en HTTP a permis aux services de streaming de se rapprocher de ceux, moins onéreux, des services de caching : cette technologie permet en effet de segmenter le flux continu du streaming et de télécharger chaque segment comme un fichier classique grâce au protocole HTTP, évitant ainsi l’installation de logiciels dédiés au streaming sur chaque serveur relai.
Les technologies hybrides combinant le CDN traditionnel et la diffusion en peer-to-peer (P2P) permettent aujourd’hui de répondre aux problématiques de coût et de qualité de service liées à la dffusion vidéo.
De nouvelles technologies peer-to-peer, basées sur les derniers standards web tels que le WebRTC et le HTML5, répondent aux exigences de sécurité, de fiabilité et de qualité posées par les fournisseurs de contenu premium.
Une solution en peer-to-peer utilise comme relais les postes d’utilisateurs visionnant le même contenu. Dans un modèle hybride, la sélection se fait de manière dynamique-– soit à partir du CDN, soit à partir des peers – en fonction de la vitesse et de la disponibilité des segments vidéo.
La diffusion peer-to-peer permet aux plateformes vidéo d’offrir une meilleure qualité de service tout en optimisant la capacité de leurs serveurs et leur coût de bande passante. Ce système se révèle particulièrement e cace pour améliorer la diffusion à grande échelle, aussi bien pour du contenu en direct qu’à la demande.
Ces solutions s’inscrivent en complément de services classiques de CDN.