Qu’est-ce qu’un CDN et pourquoi l’utiliser ?

La vitesse d’un site web joue un rôle central dans les retombées qu’il génère. Lorsque le site est trop lent à se charger, non seulement son référencement peut s’en trouver affecté dans les pages de résultats – les « SERP » – des moteurs de recherche, mais il pâtit également de forts taux de rebond. Résultat : les handicaps qu’il cumule pèsent sur le trafic et les taux de conversion, et finalement sur la génération de revenus…
Le temps de chargement est donc un point sur lequel il convient de ne pas transiger. S’il est indispensable de ce point de vue d’optimiser le site lui-même, notamment en allégeant son code, en minimisant le poids des pages ou encore en limitant le nombre de requêtes HTTP nécessaires pour afficher chacune des pages, une distribution rapide de son contenu partout dans le monde n’est envisageable aujourd’hui qu’avec l’appui d’un CDN.
Et si l’intérêt d’une telle solution est évident pour le SEO et pour l’expérience utilisateur à l’international, ses avantages ne s’arrêtent pas là : un CDN optimise également la continuité de service, renforce la sécurité et diminue la consommation de bande passante.
Les CDN : définition
Un CDN (pour « Content Delivery Network », ou réseau de diffusion de contenu) est une infrastructure de serveurs en réseau stratégiquement localisés à travers le monde et utilisé pour raccourcir la distance physique entre le lieu d’hébergement d’origine du contenu et l’endroit où se trouve le visiteur du site, de manière à minimiser le délai entre l’envoi de la requête émise par l’internaute et le chargement complet de la page sur son terminal.
Toutes choses égales par ailleurs, étant donné que plus cette distance est courte, et plus le chargement est rapide du fait d’une moindre latence, le CDN se substitue avantageusement au serveur d’origine en s’assurant de distribuer le contenu depuis celui de ses serveurs que se situe le plus près de l’internaute.
Le nombre de serveurs au sein du réseau ainsi que leur emplacement varient selon le fournisseur du CDN.
Fonctionnement d’un CDN
Latence et distance
Lorsqu’un internaute visite depuis les États-Unis un site hébergé en France, le temps de chargement du site est pour lui plus long que lorsque c’est un internaute français qui y accède. Et ce tout simplement parce que la latence augmente avec la distance. Durant leur voyage, tant la requête envoyée par l’internaute que la réponse à cette requête transitent par une série de routeurs, qui sont d’autant plus nombreux que la distance est importante et qui ajoutent de la latence à chaque étape.
Principe de fonctionnement
Pour réduire cette latence et assurer un chargement rapide des pages, le CDN stocke et tient à jour en cache une version de leur contenu statique (code HTML, images, CSS et fichiers JavaScript) sur des serveurs miroirs répartis sur ses différents « points de présence » (PoP) à travers le monde.
Lorsqu’une requête de contenu est adressée par un internaute, le CDN commence par déterminer le serveur le mieux à même d’y répondre, à savoir celui qui assurera le traitement le plus rapide de la requête au vu de la localisation de l’internaute et compte tenu également de la charge qui pèse déjà sur les ressources et de la qualité de la connexion. Le mécanisme de routage du CDN redirige la requête vers le serveur retenu, qui répond alors en affichant la copie dont il dispose en cache de la page demandée.
Mode « pull » et mode « push »
Dans la plupart des cas, les CDN proposent deux modes de fonctionnement pour la distribution des fichiers statiques des pages sur leurs serveurs miroirs : le « pull » et le « push ».
- En mode « pull », la première fois qu’il doit afficher une page, le CDN vient automatiquement chercher le contenu requis sur le serveur d’origine et le sert au visiteur. Il met parallèlement en cache cette version de la page sur ces serveurs miroirs et la conserve jusqu’à l’expiration de la durée de vie paramétrée du contenu, la TTL pour « Time to live ». Les fois suivantes, c’est le serveur miroir le mieux placé pour traiter la requête qui s’occupe de servir le contenu pour assurer un chargement rapide de la page sur le terminal de l’utilisateur.
Dans ce scénario, le CDN se charge de tout et il n’y a pas à lui « pousser » les actualisations. À l’expiration de la TTL, le CDN récupère automatiquement la dernière version du contenu sur le serveur hébergeur et la diffuse à ses serveurs miroirs. En revanche, en mode « pull », le chargement ne sera accéléré qu’au deuxième appel de la page et pourra ensuite être ralenti lors des actualisations de la version en cache du fait des requêtes sur le serveur d’origine. Par ailleurs, ce mode est susceptible de générer un trafic « redondant » dans la mesure où la TTL définie peut amener le CDN à solliciter le serveur d’origine alors que le contenu n’a en réalité pas changé. Ce mode est généralement recommandé pour les ressources fréquemment mises à jour, de taille petite à moyenne.
- En mode « push », il n’y a pas d’extraction automatique, c’est le site qui doit pousser le contenu sur le CDN en le stockant à un emplacement donné. Une fois les fichiers poussés, les serveurs miroirs se synchronisent avec cet emplacement. Le contenu est dans ce scénario plus rapidement disponible pour affichage par le serveur miroir le mieux placé dès la première demande de la page, et par la suite lorsqu’une nouvelle version est poussée. Ce mode présente l’avantage de limiter le trafic, puisqu’il n’y a pas ici de requêtes d’actualisation automatiques comme en mode « pull ». Le site doit en revanche s’occuper de pousser les modifications pour qu’elles soient prises en compte, et ce mode est le plus souvent à réserver pour les fichiers volumineux peu souvent modifiés.
La définition de zones « pull » et de zones « push » permet de contrôler la manière dont s’effectue la mise en cache du site sur les serveurs miroir. Les deux modes peuvent cohabiter, et rien n’empêche par exemple de définir une zone « pull » pour les fichiers HTML, CSS et JavaScript, et une zone « push » pour les fichiers plus lourds, tels que les archives, images, fichiers vidéo et audio, etc.
Pourquoi utiliser un CDN
Une telle mise en cache du contenu d’un site sur une architecture CDN présente de très nombreux avantages. Si son premier intérêt est de booster les temps de chargement où que se trouve l’internaute, profitant ainsi à l’expérience utilisateur et au référencement du site partout dans le monde, elle présente aussi l’avantage d’optimiser la continuité de service du site, de renforcer sa sécurité, et de diminuer la bande passante consommée.
SEO
La vitesse de chargement des sites est un critère de pertinence officiellement pris en compte par Google pour le classement dans ses résultats de recherche depuis 2010 sur desktop et depuis 2018 sur mobile. Même si le poids véritable de ce critère dans les calculs de l’algorithme du moteur de recherche pose question et est annoncé comme faible par la firme californienne, le fait est que si le moteur peut proposer des pages web comparables plus rapides à se charger, c’est ce que ce critère le portera à faire.
D’autre part, du fait des contraintes imposées par le « crawling budget », le temps maximum que les Googlebots dédient en amont à l’exploration des sites est limité. Dans le cas d’un site lent à charger, le risque existe que le robot n’ait pas le temps de tout crawler et que le nouveau contenu ne soit pas entièrement indexé.
L’utilisation d’un CDN, qui assure un chargement rapide des pages web partout dans le monde, est donc indispensable pour ne pas pénaliser le référencement de son site.
Expérience utilisateur
De nombreuses études montrent qu’environ 40 % des internautes abandonnent un site web dont le chargement prend plus de 3 secondes. Il en va de même pour les recherches de produits ou d’informations sur le site : si les résultats ne s’affichent pas assez vite, le visiteur n’attend généralement pas et passe son chemin. Et il est aussi généralement admis que près de 80 % des utilisateurs qui ont vécu une mauvaise expérience de performance sur un site l’évitent ensuite de manière permanente et n’y remettent plus les pieds.
Les CDN sont donc également incontournables pour garantir une expérience de performance optimale, minimiser les taux de rebond et optimiser les taux de conversion.
Continuité de service
Par ailleurs, lorsque les charges de trafic atteignent des millions de requêtes par seconde, même les serveurs d’hébergement les plus puissants sont soumis à rude épreuve. Sans CDN, tout ce trafic doit être absorbé par l’infrastructure d’hébergement, avec le risque qu’une défaillance survienne, mettant fin à l’expérience de l’utilisateur et entraînant un manque à gagner potentiel pour l’entreprise. Avec leur architecture distribuée de serveurs à grande échelle, les CDN performants sont capables d’absorber des dizaines de téraoctets de trafic et sont à même d’assurer la continuité de service sur les bases d’utilisateurs les plus vastes.
Sécurité
Les attaques DDoS (pour « Distributed Denial of Service », ou attaque par déni de service volumétrique) continuent de se multiplier à un rythme effréné. Selon les derniers chiffres de Nexusguard, alors qu’elles avaient déjà progressé de 278 % au premier trimestre 2020 par rapport à la même période de 2019, leur nombre s’est envolé de 57O % au deuxième trimestre en glissement annuel.
Les attaques DDoS ont pour objet d’épuiser le serveur ciblé et de congestionner sa bande passante afin de le rendre indisponible en lui adressant des quantités massives de requêtes externes simultanées.
Avec ses multiples serveurs, le CDN agit comme un rempart contre ce type d’attaques pour le site web. La répartition de la charge des requêtes sur son architecture distribuée minimise de fait les effets de l’attaque sur le site, qui reste alors disponible pour ses visiteurs.
La plupart des CDN incluent par ailleurs des fonctionnalités de sécurisation ad hoc qui surveillent et filtrent les demandes adressées à leurs serveurs. Ces services analysent le trafic web à la recherche de modèles suspects, et bloquent le trafic des attaques malveillantes. Et ils s’assurent aussi généralement de surcroît de chiffrer le trafic entre le CDN et l’internaute, et entre le CDN et le serveur d’origine.
Consommation de bande passante
En stockant en cache le contenu statique des sites web sur leurs serveurs et en prenant à leur compte le traitement des requêtes des internautes, les CDN allègent significativement la charge qui pèse sur le serveur d’origine.
Le serveur hébergeur n’ayant plus à transférer ces données statiques, qui représentent l’essentiel du contenu d’un site web, il économise de la bande passante et évite les surconsommations, ce qui se traduit par des économies de coûts.
De nombreuses offres de CDN sont disponibles sur le marché, dont certaines sont gratuites et d’autres payantes. Performance (le « query speed »), disponibilité du réseau (le « RUM uptime »), couverture géographique, nombre de serveurs, fonctionnalités et bien sûr coût, les caractéristiques à comparer sont nombreuses pour faire le bon choix en fonction de ses besoins et de son budget. À noter enfin que certains CMS incluent dans leur offre un hébergement CDN.