
Code-Garage #84 - Un CDN, c'est quoi exactement ?
Durée: 6m59s
Date de sortie: 04/12/2023
CDN signifie "Content Delivery Network", et désigne un service proposé par des entreprises pour améliorer les performances de vos sites web, mais comment est-ce que ça fonctionne ?
Notes de l'épisode :
- OVH CDN : https://www.ovhcloud.com/fr/network/cdn/
Salut et bienvenue dans ce nouvel épisode du podcast de Code Garage,
je m'appelle Nicolas Bondin-Bernard et aujourd'hui on va parler des CDN.
Alors l'acronyme CDN, ça signifie Content Delivery Network,
donc réseau de distribution de contenu en français,
et ça 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.
Alors un fichier statique, ça peut être un fichier HTML, une feuille CSS, un script JS,
une image, une vidéo etc etc. Il faut savoir qu'un CDN c'est pas une technologie,
c'est pas un serveur web comme Apache, NGINX par exemple,
mais c'est plutôt un service proposé par une entreprise qui s'appuie sur de nombreuses
technologies qui existent déjà. Et donc tous les services de CDN ne se valent pas et ne proposent
pas toujours les mêmes fonctionnalités. Mais dans cet épisode on va se concentrer sur les
possibilités offertes par la majorité des services existants et comprendre leurs fonctionnement dans
leur globalité. Alors pour comprendre l'intérêt d'un CDN, on va utiliser l'analogie d'un
fast-food fictif qu'on va appeler Super Burger par exemple, qui est un énorme succès aux Etats-Unis
et qui débarque en France avec son premier restaurant à Paris. Alors vous l'aurez compris,
ce restaurant c'est votre serveur web et les burgers qui préparent,
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, ça pose deux problèmes. Les gens qui
habitent à Marseille et qui sont tellement accros parce qu'ils adorent ce fast-food, ils font
8 heures de route juste pour un burger. Et en plus le restaurant est bondé, on peut attendre jusqu'à
4 heures, ne même pas avoir de place pour s'asseoir et parfois repartir même sans rien parce
qu'il y a une pénurie d'ingrédients dans les cuisines. Et ça, ça a deux vraies conséquences. D'une,
les gens sont frustrés et ils ne retentent pas l'expérience du coup, c'est du business de perdu.
Et il y a même qu'on est trop fin à force d'attendre et donc qui passe carrément à la
concurrence. Et ça, ça mène plein de petites sous-conséquences encore et qui peuvent avoir
un vrai impact sur le business. Alors on pourrait augmenter la taille du restaurant et le nombre
d'employés, ça ça permettrait de fluidifier un petit peu, sauf que ça ne changerait absolument
rien pour les gens qui viennent de toute la France et qui mettent des heures à arriver. Alors imaginez
en plus si vous venez et que vous n'avez pas d'autoroute directe. La meilleure solution c'est donc d'ouvrir
des franchises. Une franchise c'est le même restaurant, copié-collé, mais cette fois-ci réparti
dans toutes les villes de France et dont les offres, les recettes et les ingrédients et bien sont
dictées 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 évidemment.
Et bien ce que je viens de vous décrire c'est exactement le fonctionnement principal d'un
CDN. Quand vous configurez un contene d'élivier une network, vous allez lui donner une source de
vérité. La plupart du temps c'est l'URL du serveur web ou son stocké vos fichiers statiques et 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 de ces fichiers statiques. Et en gros dès qu'un utilisateur demandera l'accès à un
fichier en particulier, il va se passer ça. D'abord le CDN ira vérifier la localisation du visiteur.
Ensuite 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, c'est ce qu'on va appeler en gros le cache. Si le
fichier est présent et suffisamment récent il sera envoyé à l'utilisateur. Si jamais le fichier est
absent ou qu'il est périmé, 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. Pour résumer, le tout premier visiteur a demandé
le fichier en question. Il aura un temps d'attente légèrement supérieur mais qui sera évidemment
compensé par la réduction de temps, le gain de temps pour tous les utilisateurs suivants qui
demanderont le même fichier. Alors comme je le disais en préambule, tous les CDN ne se valent pas,
en gros la grosse chose différenciante c'est le nombre de localisations. Plus il possède de
localisations réparties dans le monde, plus le temps de latence à chaque requête est courte. Alors
pour donner deux exemples, Cloudflare qui est un des leaders est présent dans 593 localisations qui
sont réparties dans plus de 90 pays et Cloudflare lui possède 90 points de présence dans 47 pays.
Alors si on résume un CDN c'est une aggregation de plusieurs services. D'abord de nombreux
serveurs de fichiers dont on a parlé et qui sont répartis dans le monde, un système de cache,
un load balancer ou répartiteur de charge pour pouvoir justement gérer la charge utilisateur
en fonction de leur localisation. La gestion des certificats SSL, ça c'est juste quelque chose qui
est pratique parce que évidemment il nous donne une URL, il faut que cette URL derrière on y accède
en HTTPS et il y a souvent une couche de sécurité réseau par exemple pour éviter les attaques des
doses. Concrètement pour votre serveur web ça veut dire moins de requêtes, moins de charges,
moins de latence et plus de disponibilité pour les utilisateurs et donc la possibilité aussi
d'augmenter votre nombre d'utilisateurs de manière beaucoup plus optimale. Alors j'ai déjà cité les
deux plus gros CDN existants Cloudflare et Cloudfront mais si jamais vous voulez tester une
alternative française, OVH propose un service de CDN disponible dans 140 localisations donc je vous
invite à aller tester, je vous mettrai le lien du service directement dans les notes de l'épisode.
J'espère que cet épisode vous aura été utile, que vous aurez appris quelque chose et que vous en
serez un petit peu plus sur les CDN. Moi je vous donne rendez-vous la semaine prochaine pour un
prochain épisode du podcast ou directement sur code-garage.fr pour retrouver tous nos articles
de blog, nos podcasts mais évidemment toutes nos formations. Là on vient de sortir une formation
sur le SEO, le référencement naturel. Bon avec Code Garage on fait quasiment plus de 200 000
visiteurs par an uniquement grâce à notre référencement naturel donc on s'est dit qu'on était
plutôt légitimes à vous faire une formation et à vous donner tous les conseils et les bonnes
pratiques pour pouvoir faire la même chose chez vous et donc cette formation est disponible
juste avec un seul abonnement 19 € 99 par mois et vous avez accès à toutes les formations de la
plateforme avec l'accès aux quiz, aux projets et aux certificats de validation qui sont pour
exemple sur votre profil public. Donc si jamais vous cherchez un nouveau poste, une alternance,
un stage peu importe et que vous avez besoin d'un petit peu mettre en avant votre profil et
le profil public de Code Garage vous allez pouvoir afficher tout ce que vous savez,
toutes vos compétences et vos certificats de validation. Je vous donne rendez-vous la semaine
prochaine pour un prochain épisode du podcast. Salut !
Episode suivant:
Les infos glanées
Code-Garage
Découvrons ensemble des sujets passionnants autour du métier de dev et de la programmation en général !
Tags
Code-Garage #85 - Qu'est-ce qu'une LTS ?