Publié le 15 février 2017

Passeport pour le CDN !

Intéressant cet article ?

[Total : 4    Moyenne : 4.3/5]

Un Réseau de Diffusion de Contenu (Content Delivery Network) est un réseau de serveurs répartis dans plusieurs pays ou plusieurs régions, conçu pour accélérer la distribution de votre site.

Si un internaute visite votre site hébergé en France depuis San Francisco, son temps de chargement est plus long que s’il se trouve à Perpignan. Non pas, n’en déplaise à Salvador Dali, parce que, sa gare étant le centre du monde, Perpignan serait bien mieux connectée que la Silicon Valley, mais tout simplement parce que le temps de chargement dépend de la distance, qui ajoute une latence à chaque transfert.

Un CDN permet de distribuer le service de votre site depuis plusieurs localisations stratégiquement choisies , ce qui garantit que le visiteur télécharge votre contenu depuis le serveur le plus proche de chez lui.

Pourquoi ajouter un CDN dans votre valise web ?

Pour améliorer votre expérience utilisateur

Une meilleure vitesse de chargement améliore l’expérience utilisateur (UX) des internautes. Sur un site marchand, cela se traduit vite en espèces sonnantes et trébuchantes comme le montrent ces chiffres de Dareboost.com :

  • un site qui se charge en plus de 5s a un taux de rebond 2 fois plus élevé qu’un site qui se charge en 1s
  • 1s de chargement en plus, c’est 7% de commandes en moins
  • 20% des visiteurs abandonnent leur panier à cause d’un chargement trop long. La lenteur du site est la cause de l’abandon du panier dans 2/3 des cas

La multiplication des usages nomades renforce encore ce besoin de vitesse.

Et bénéficier d’un meilleur référencement

Pour faire bonne mesure, le temps de chargement est un des paramètres pris en compte par l’algorithme de classement de Google. Plus votre site va vite, et plus il est haut dans les résultats de recherche. Bref, le temps c’est de l’argent, selon le Théorème d’Onc’ Picsou. Et donc les CDN, parce qu’ils permettent d’accélérer le temps de chargement, sont devenus un élément clé de la boite à outils du webmaster.

Y a-t-il un pilote dans le CDN ?

Il faut principalement 3 composants pour faire marcher un CDN :

  • un serveur origine, qui produit et héberge le contenu du site. Pour faire simple, votre serveur web actuel
  • des serveurs de replication (nodes), répartis sur des Points de Présence (PoP) partout dans le monde. Ce sont eux qui distribuent réellement le site aux internautes. Il s’agit simplement des serveurs de cache qui disposent d’une copie locale des composants de votre site et qui renvoient au serveur d’origine les requêtes qu’ils ne peuvent pas résoudre seuls.
  • un mécanisme de routage, qui va sélectionner le node optimal pour distribuer le contenu à chaque internaute en particulier. C’est l’élément intelligent du CDN.

Souvent les fournisseurs de CDN s’appuient sur leurs propres réseaux de transit pour pouvoir encore plus optimiser la réplication et la distribution des ressources au plus près des utilisateurs.

Pourquoi votre contenu voyage-t-il encore plus vite grâce au CDN ?

Même si votre hébergement est déjà super optimisé ?
Tout simplement parce que les 2 ne travaillent pas au même niveau.

Votre hébergeur travaille au niveau de la performance applicative. Il optimise votre serveur, l’utilisation des ressources, la vitesse d’exécution du code PHP. Dans une démarche DevOps, il collabore même avec l’équipe de développement du site pour optimiser la conception des pages.

Le CDN quant à lui travaille au niveau réseau. Il cherche à améliorer la vitesse de transport des composants.

Exemple d’itinéraire de contenu

Imaginons que votre site, hébergé en France, soit souvent consulté depuis l’Amérique du Sud, mettons depuis l’Argentine. A chaque page vue, il faut faire traverser l’Atlantique à en moyenne 150 composants par page : HTML, images, fichiers javascripts, CSS, polices, etc. Heureusement, les fichiers JPEG ne voyagent pas à la vitesse des voiliers du Vendée Globe. Mais même à la vitesse de la lumière, faire transiter 3Mo de données sur une fibre optique de 7000 km prend du temps.

Si vous disposez d’un serveur de cache à Rio de Janeiro, vous économisez donc toute la durée de la traversée de l’Atlantique. Si vous augmentez la granularité de votre CDN et que vous avez maintenant un point de présence à Buenos Aires, vous économisez en plus le passage par un 2e câble sous-marin qui relie le Brésil et l’Argentine.

Du point de vue de l’internaute, la page s’est chargée en plusieurs secondes de moins.

On pourrait penser que de nos jours, Internet passe principalement par les satellites. Pas du tout. En fait 95% des transits intercontinentaux sont fait par des câbles sous-marins. Au total, ce sont plus de 900 000 km de câbles qui tapissent le fond de nos océans. Le plus long d’entre eux reliant l’Europe et le Japon mesure 39 000 km.

Donc utiliser un CDN, au niveau international, ça revient à réduire au minimum la latence induite par ces longs transferts.

Le CDN est-il indispensable dans vos bagages ?

Pas forcément. Tout le monde n’a pas besoin d’un CDN.

La mise en place d’un CDN est très pertinente dans les cas suivants :

  • une part significative des visiteurs de votre site provient des pays étrangers éloignés
  • votre serveur est régulièrement saturé par les visites,
  • il y a une saisonnalité forte dans votre fréquentation (par exemple les soldes),
  • votre site comporte un nombre important d’images de contenu, de fichiers audio ou vidéos.

Cela dit l’offre de CDN est vaste et permet d’adresser des problématiques très diverses.

Certains proposent par exemple une optimisation des images pour en réduire le poids dans le cas d’une navigation mobile, la protection contre les attaques par DDoS, un firewall configurable, des filtrages d’accès, etc.

Enfin, citons le CDN Cloudflare, qui contrairement à ses concurrents propose une tarification fixe et non pas basée sur la fréquentation. Ceci permet d’établir des forfaits pour vos coûts d’hébergement dans le cas de pics de charge très ponctuels, comme des soldes ou des campagnes de communication, qui induiraient normalement uen part variable importante.

Super, allons-y !

Qu'est-ce-qu-un-CDN_blog-JETPULP_02

Même si les CDN annoncent fièrement une mise en place en 5 minutes, dans la réalité, il y a quand même quelques adaptations à faire sur votre site. Certains fournisseurs disposent d’ailleurs de modules dédiés pour des CMS comme WordPress, Drupal ou Magento.

Quelques heures sont nécessaires pour activer le service, identifier et configurer les composants à placer sur le CDN, faire quelques optimisations SEO et recetter le résultat. En revanche, le gain de performances est immédiat dès que le système est actif.

Vous voulez en savoir plus sur la mise en place d’un CDN ou sur l’optimisation des performances de votre site en général ? Contactez-nous !

Sylvain R.

La-qualité-une-responsabilité-collective
2 Commentaires
  1. Luc Damas
    Luc Damas dit :

    Bonjour,
    Les CDN partent d’une bonne intention, c’est indéniable. Mais pour certains, c’est un moyen pour récupérer un bon nombre d’informations sur le client (cookies, navigation).
    De mon point de vue, les CDN généraux (google, amazon, bootstrap) sont à éviter. Les navigateurs possèdent un cache, et certaines extensions (decentraleyes, privacy badger, request policy, …) permettent de pallier cette récupération de données.
    D’un point de vue du développement, ce n’est pas critique avec les outils actuels de gestions de packages.
    Mettre en place son propre site sur un CDN est néanmoins une bonne idée, mais ça va être limité par le nombre croissant de bloqueurs et de VPN.

    Répondre
    • JETPULP
      JETPULP dit :

      Bonjour Luc,

      Merci pour votre commentaire !

      L’article porte d’une manière générale sur les CDN pour servir des sites à vocation internationale et sur leur utilisation pour “forfaitiser” les coûts d’hébergement qui sont par nature variables. Dans ces contextes, l’utilisation d’un CDN nous semble quasi-incontournable.

      On vous rejoint néanmoins sur l’utilisation des pseudo CDN, comme fonts.google.fr, quand ils sont utilisés pour le sharding de domaine et ne servent à charger qu’une seule police parmi les 150 ressources de la page. Ils ne sont clairement pas essentiels à la performance du site.

      Google a-t-il besoin d’un CDN pour tracer les utilisateurs ou la navigation, alors que nous lui servons déjà tout ça sur un plateau à travers d’autres outils largement plus populaires, comme Analytics, ou Tag Manager ? Sans doute que non. Mais ce n’est pas une raison pour lui faciliter encore la tâche.

      La notion de confiance est de toute façon toujours cruciale dans le choix d’un prestataire. Et il appartient à tout un chacun de se faire sa propre idée.

      Au plaisir d’autres échanges,
      Bonne journée,
      L’équipe JETPULP

      Répondre
Répondre
Se joindre à la discussion ?
Vous êtes libre de contribuer !
Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *