Qu’est-ce qu’un CDN ?
Les "Content Delivery Network" expliqués, vulgarisés à l'écrit et en visuel !
Article publié le 08/01/2024, dernière mise à jour le 08/01/2024
L’acronyme CDN signifie “Content Delivery Network” (ou “réseau de distribution de contenu” en français) et désigne un service qui va vous permettre de répondre plus rapidement, et plus efficacement, aux requêtes de vos utilisateurs sur le web pour tout ce qui touche à des fichiers statiques.
Un fichier statique, ça peut être un fichier HTML, une feuille CSS, un script JS, une image, une vidéo, etc…
Il faut savoir qu’un CDN, ce n’est pas une technologie, comme pourrait l’être un serveur web comme Apache ou Nginx par exemple, mais c’est plutôt un service proposé par une entreprise qui s’appuie sur de nombreuses technologies existantes.
Et donc, tous les services de CDN ne se valent pas et ne proposent pas toujours les mêmes fonctionnalités… Mais on va se concentrer sur les possibilités offertes par la majorité des services existants, et leur fonctionnement global.
Fonctionnement
Une petite analogie
Pour comprendre l’intérêt d’un CDN, on va utiliser l’analogie d’un fast food fictif, qu’on va appeler SuperBurger, qui est un énorme succès aux Etats-Unis, et qui débarque en France, avec son premier restaurant, à Paris.
Vous l’aurez compris, ce restaurant c’est votre serveur web, et les burgers qu’il prépare ce sont les pages et les ressources statiques de votre site.
Le fait qu’il n’y ait qu’un seul restaurant dans toute la France, et qu’il soit si populaire, pose deux problèmes :
- Les gens habitant à Marseille, tellement accroc, font 8h de route, juste pour un burger
- Le restaurant est bondé, on peut attendre jusqu’à 4h, pas avoir de place pour s’assoir et parfois même repartir sans rien, faute de pénurie d’ingrédient dans les cuisines
Et ça a des conséquences :
- Les gens sont frustrés, et ne retentent pas l’expérience
- Certains ont trop faim, donc ils passent à la concurrence
- Etc…
On pourrait augmenter la taille du restaurant et le nombre d’employés, mais cela ne changerait rien pour les gens qui viennent de toute la France et qui mettre des heures à arriver (et imaginez si vous n’avez pas d’autoroute directe) !
La meilleure solution, c’est d’ouvrir des franchises : Le même restaurant, copié-collé, mais répartis dans toutes les villes de france, et dont les offres, les recettes et les ingrédients sont dictés par le restaurant d’origine.
Résultat, tout le monde a un restaurant à 15 minutes de chez lui, il n’y a pas de file d’attente, et tout le monde est content (sauf la concurrence).
Fonctionnement réel
Ce que je viens de vous décrire, c’est exactement le fonctionnement principal d’un CDN.
Lorsque vous configurez un content delivery network, vous allez lui donner une source de vérité, la plupart du temps, l’url du serveur web où sont stockés vos fichiers statiques.
En échange, vous allez recevoir une URL racine que vous pourrez utiliser, dès que vous aurez besoin de créer un lien vers un fichier statique
Et dès qu’un utilisateur demandera l’accès à un fichier en particulier, voilà ce qui va se passer :
- le CDN ira vérifier la localisation du visiteur
- il ira vérifier si le fichier en question est présent sur la copie de votre site qui se trouve le plus près, géographiquement, du visiteur (qu’on appelle le cache)
- Si le fichier est présent, et suffisamment récent, il sera envoyé à l’utilisateur
- Si le fichier est absent, alors le CDN ira télécharger le fichier depuis la source de vérité (votre serveur web), il ira copier ce fichier sur ses propres serveurs de cache, tout autour de la planète, puis il renverra le fichier au visiteur
En somme, le tout premier visiteur à demander le fichier en question, aura un temps d’attente légèrement supérieur, mais ce sera compensé par tous les utilisateurs suivant qui demanderont le même fichier !
Les avantages d’un CDN
Comme je le disais en préambule, tous les CDN ne se valent pas, plus ils possèdent de localisations réparties dans le monde, plus le temps de latence à chaque requête est courte.
Pour donner deux exemples, CloudFlare est présent dans 193 localisation, réparties dans plus de 90 pays, et Cloudfront possède 90 points de présence dans 47 pays.
Si on résume, un CDN c’est une agrégation de plusieurs services :
- De nombreux serveurs de fichiers
- Un système de cache
- Un load-balancer (ou répartiteur de charge)
- La gestion des certificats SSL
- Et il y a souvent une couche de sécurité réseau, par exemple pour éviter les attaque DDOS
Concrètement, pour votre serveur web, ça veut dire, moins de requêtes, moins de charge, moins de latence et plus de disponibilité pour les utilisateurs.
Un CDN français
Nous avons déjà cité les deux plus gros CDN existants, Cloudflare et Cloudfront, mais si vous voulez tester une alternative française, OVH propose un service de CDN avec 140 localisations !
Lien : https://www.ovhcloud.com/fr/web-hosting/options/cdn/
Aucun commentaire pour l'instant