Le guide complet du CDN, pour le chef de projet un peu perdu 

Le guide complet du CDN, pour le chef de projet un peu perdu 

Temps de lecture: 
4

Ça vient de se passer dans les locaux de votre entreprise : votre client vous a reproché que le site que vous lui avez conçu soit “très lent”. En faisant le débrief avec votre équipe, vos développeurs s’exclament : “oui, mais bon, en même temps, on n’a pas mis en place de CDN !”. La conversation s’anime, et vous captez d’obscurs mots dans la conversation, tels que DDos, DNS, ou encore burst… et le mal de crâne vous guette déjà. 

Pas de panique. Posez-vous confortablement : on vous explique de A à Z ce qu’il faut savoir au sujet du DNS pour vos projets web. A la fin de l’article, vous aurez de quoi tenir une conversation avec vos développeurs, et véritablement lancer un projet de DNS solide.

1. C’est quoi ça, un CDN ?

Avant d’utiliser un acronyme, il est toujours bon d’en connaître la signification. “CDN”, c’est le raccourci de Content Delivery Network (et donc le terme anglais pour “réseau de distribution de contenu”). 

Concrètement, il s’agit d’une infrastructure, d’un réseau de serveurs répartis sur Terre. Leur objectif ? Distribuer le contenu d’un site web depuis tous les endroits du globe. Vous n’êtes peut-être pas sans savoir que la vitesse de chargement d’un site web dépend de la distance entre le serveur et le client. C’est dans ce cadre qu’un CDN devient intéressant : il permet d’orienter les demandes des utilisateurs vers les serveurs les plus proches, pour une vitesse d’affichage du contenu toujours plus rapide.

Jusque là, rien de bien méchant, n’est ce pas ? Alors rentrons un peu plus dans les détails. 

2. Comment fonctionne un CDN ?

Parlons concrètement, en slalomant entre les termes techniques qui rendent complexes l’appréhension du CDN. Un CDN est constitué de 3 briques principales qui, ensemble, permettent son fonctionnement : 

  • Le DNS (Domain Name System) 

  • Les points de présence du serveur

  • Le cache

Prenons chacune de ces briques l’une après l’autre, pour comprendre ce qui vous intéresse à ce sujet, en tant que chef de projet. 

Le DNS, et son intérêt pour votre projet de CDN

D’une part, on a donc le DNS. Il s’agit d’un service qui a pour objectif de traduire les adresses URL en adresse IP (telle que 77.87.106.200). 

Peut-être le savez-vous déjà : en règle générale, une adresse IP ne peut se localiser qu’à un seul endroit physique sur terre à la fois. C’est pourquoi le DNS d’un CDN doit être capable de générer des IP différentes en fonction des lieux où se trouvent les visiteurs de votre site web, pour cibler les serveurs les plus proches d’eux.

Les points de présence (PoP) de votre serveur

D’autre part, parlons des points de présence, que vos développeurs raccourcissent peut-être en “PoP” (Point of Presence) lors de vos conversations avec eux. Le principe d’un DNS est de comporter plusieurs points de présence sur la surface du globe, afin de pouvoir envoyer l’utilisateur vers le serveur le plus proche de lui, et lui distribuer le contenu de votre site web. 

Vous imaginez bien qu’un CDN qui propose 2 PoP sur Terre pourra livrer le contenu beaucoup moins rapidement qu’un CDN qui en possède 100… En somme, plus votre CDN a de points de présence, plus il pourra être performant… en théorie. Et une fois votre utilisateur envoyé vers le serveur le plus proche de lui, que se passe-t-il ? Ce fameux serveur doit faire une copie du contenu du site, pour le redistribuer à votre utilisateur. Et c’est là qu’intervient la dernière brique-clé du CDN… 

Le cache, un essentiel pour un CDN vraiment performant

Cette dernière brique, vous avez déjà dû l’entendre dans votre entreprise. Notamment de vos développeurs qui vous rappellent souvent de “vider votre cache”, avant de venir leur dire que les modifications demandées n’ont pas été faites.

A vous d’intégrer dès maintenant ce en quoi consiste le cache. Grosso modo, il s’agit d’une mémoire qui enregistre temporairement le contenu de votre site web, pour le redistribuer plus rapidement à l’utilisateur s’il revient sur le site.Alors pourquoi le cache doit vous intéresser si on parle de CDN ? Tout simplement parce que, si votre CDN ne propose pas de système de cache efficace, vous aurez peu de bénéfices à le mettre en place. 

Car en effet, si le taux de cache proposé par le CDN est trop faible, il devra sans cesse retourner vers votre propre serveur pour délivrer le contenu de votre site web à vos utilisateurs. Pour le dire simplement, il s’agit d’une forme d’aller-retour assez peu utile qui, finalement, n’accélère que trop peu le chargement de votre site.

Vous êtes toujours là ? Alors, au vu de ces 3 briques, voyons voir les offres disponibles pour votre projet de mise en place de CDN.

2. Quels sont les différents types de CDN ?

Vous l’avez sans doute déjà compris en sous-main : un petit CDN aura un niveau de DNS et de serveurs (points de présence) limité, tandis qu’un gros réseau sera un gage d’une meilleure performance. De même, le taux de rétention du cache de votre CDN devra être pris en compte pour faire un choix éclairé ; celui-ci dépendra du trafic de votre site.

Ceci étant, pour choisir votre CDN, il s’agit avant tout de prendre en compte vos besoins réels. 

On ne peut parler de CDN sans parler du leader international du marché : Akamai. Dans son portefeuille client, Akamai compte Apple ou encore Facebook, ainsi que les contenus audiovisuels. Le service est constitué de dizaines de milliers de “sites” physiques, et de centaines de milliers de serveurs. 

Cependant, si vous n’hébergez pas des contenus audiovisuels en streaming, que vous n’attirez pas des centaines de milliers de visites mensuelles, que vous n’avez pas une audience mondiale notable, et que vous ne subissez pas des pics de trafic importants, des CDN de taille intermédiaires seraient sans doute plus adaptés. Ils possèdent moins de “sites” physiques, mais constituent une alternative moins onéreuse que le sacro-saint Akamai.

Parmi eux, on compte des noms plus ou moins connus, tels que : 

Toutes ces solutions de CDN de taille intermédiaire sont bien pratiques pour les entreprises : vous confiez à un seul et unique prestataire votre site web, qui prend en charge DNS, serveurs et taux de cache, pour améliorer la performance de votre site. “Pratique” : c’est bien le mot.

“Et pourquoi pas un CDN auto-hébergé ?”

Vous êtes plutôt partisan de faire les choses vous-même, en général ? Grâce à la solution de traffic manager de certains DNS, comme NS1, il est possible de réaliser son propre CDN. Il s’agit d’une solution douce pour votre budget, qui peut être adaptée si votre site attire une audience très localisée. Mais un CDN auto-hébergé demande une certaine technicité, et une attention quotidienne… et vos développeurs ont peut-être d’autres sujets plus prégnants sur le feu.

4. A quels éléments penser avant de mettre en place un CDN ?

Dans un monde parfait, il vous suffirait à vous, chef de projet, de souscrire à une offre de CDN, et de voir immédiatement votre site s’accélérer en un rien de temps. Seulement, vous le savez : le monde de la chefferie de projet n’est pas toujours aussi simple que ça ;) Voyons donc voir comment organiser la mise en place de votre CDN, de la manière la plus efficace et rationnelle qui soit. 

Construisez une politique de cache en béton armé

On l’a mentionné auparavant : le cache, et notamment le taux de rétention de votre serveur, est un élément crucial pour vous assurer qu’un CDN augmentera les performances de votre site web. Si votre site Internet interdit le cache, vous observerez un gain très minime de performance. Voilà qui serait dommage. La première chose à demander à vos développeurs, c’est donc de savoir si la cachabilité de votre contenu est optimale. Vous pouvez les orienter, en leur demandant notamment de vérifier les éléments suivants, qui peuvent bloquer le cache : 

  • Les éléments de header. Le header est l’endroit de votre site où vous pouvez indiquer aux services tiers (comme un CDN) combien de temps il a le droit de “cacher” le contenu.

  • Les contenus personnalisés par utilisateur. Par exemple, lorsqu’un utilisateur est connecté à l’interface personnalisée de votre site, certains éléments de vos pages web ne seront pas mis en cache.

  • Les cookies. Il vous faut pouvoir rendre le plus de cookies possibles “cachables”. Notez cependant que certains cookies ne pourront pas l’être, tels que ceux qui vous permettent de faire de l’A/B testing sur vos pages, par exemple.

Commencez par “cacher” les JS, CSS et images

Si vous parlez avec vos développeurs de votre politique de cache, ils vous demanderont sans doute ce qu’ils doivent “cacher” ou non sur votre site. La réponse la plus efficace, pour que votre projet de CDN se déroule bien, est la suivante : prenons ça étape par étape.

On vous recommande de commencer par le plus simple à mettre en place, à savoir le cache sur les images, le JavaScript et le CSS. Ceci vous demandera de petites modifications sur la configuration de votre serveur web… mais vous permettra d’avoir un gain de vitesse significatif pour vos utilisateurs. Pensez tout de même à demander à vos développeurs de mettre vos images, CSS et JS sur un sous-domaine particulier, pour une mise en oeuvre simple et sans risque.

Attention ! Lorsque vous changerez le cache de votre CSS ou de votre JavaScript, il vous faudra anticiper un délai de prise en compte des changements. Pour régler ce souci, vous pouvez proposer à vos développeurs de mettre en place un système de purge, qui permettra au CDN de ne prendre en compte que les éléments récents sur votre site.  Toutefois, gardez en tête que cette démarche de purge n’est pas disponible ou simple à implémenter dans toutes les solutions de CDN à votre disposition.

Pour aller plus loin : mettez en cache le HTML

Vos JS, CSS et images sont désormais cachables ? Bravo ! Si vous souhaitez un gain de performance optimal via votre CDN, vous pouvez, dans un second temps, gérer le niveau de cache de la partie HTML de votre site web. Si votre site Internet est déjà construit, cette étape sera un projet à part entière, car elle touchera au coeur du code de votre site. Vos développeurs devront fournir un gros effort, pour faire en sorte que le HTML ne contienne aucun élément qui bloque le cache (personnalisation, prama de nocache…). A la clé : une superbe expérience utilisateur, grâce à un site extrêmement rapide, autant pour les utilisateurs que pour les bots qui viennent crawler votre site. En somme, il s’agit du Saint Graal de la mise en place du CDN… à envisager dans un second temps.

En prenant le projet de mise en place d’un CDN pas à pas, vous vous assurez d’augmenter petit à petit la vitesse de votre site… et d’apprendre au fil de l’eau le fonctionnement dudit CDN.

5. Quels sont les bénéfices qu'on peut tirer d’un CDN ?

Vous êtes désormais un pro de la novlangue technique qui entoure le concept de CDN. Vous connaissez également le bénéfice principal d’un CDN : rapprocher les contenus téléchargés des utilisateurs, pour que votre site soit plus réactif et plus rapide.

Ceci étant, selon le niveau de cache que vous aurez mis en place, le bénéfice sera plus ou moins grand : 

  • Si vous vous limitez aux images, CSS et JS, seules la mise en forme et le rendu du site sera accéléré.

  • Si l’intégralité de votre site (et donc le HTML) est bien “cachable”, la réactivité globale du site web sera améliorée.

Gardez également à l’esprit que, plus votre CDN disposera de points de présence dans le monde, plus la proximité de l’utilisateur sera grande, plus vous observerez de bénéfices. 

6. Quel CDN pour qui ?

Au final, c’est sans doute ce que vous vous demandez : et maintenant, quel CDN choisir ? Tentons une réponse relativement objective, et surtout adaptée à vos besoins et vos capacités réelles. 

  • Vous n’avez pas de trafic web à l’international ? Ne vous embêtez pas avec la mise en place d’un CDN : vous finirez avec un site plus lent, et des développeurs frustrés. Peu recommendable, en soi.

  • Vous avez un budget mini, mais une volonté maxi d’accélérer votre site ? Optez pour un CDN de taille intermédiaire, que votre prestataire d’hébergement doit avoir dans son portefeuille (tel que Cloudflare), et une mise en cache de vos JS, CSS et images, qui respecteront et votre portefeuille et vos équipes.

  • Vous avez les moyens de mettre en place un CDN premium ? Super ! Envisagez de souscrire au CDN Akamai, crème de la crème sur le sujet, via un revendeur, et menez de front un projet de gestion de mise en cache de A à Z.

Le mal de crâne est passé ? Rassemblez donc vos équipes : vous avez le droit de leur présenter vos toutes nouvelles connaissances tech sur le CDN ;)

D'AUTRES ARTICLES TROP COOL !

Dans le monde digital, les développeurs sont souvent ciblés, comme la proie facile à traquer, même...Lire la suite
En agence de communication les journées sont intenses, et ressemblent plus à un marathon qu'à une séance de paddle sur...Lire la suite
Microsoft a établi qu’entre 2000 et 2016, notre capacité d’attention, descendue à 8 secondes, était devenue inférieure...Lire la suite