Je pense que de nombreux administrateurs sont confrontés aux mêmes problèmes sur leur site Web : les lenteurs d’accès lors de fortes sollicitations, l’ouverture du site à d’autres pays, les attaques DDOS…
Certains vont multiplier les machines ou les hébergements (comme par exemple mettre les images sur une machine dédiée), d’autres vont mettre en place des mécanismes de cache, ou encore optimiser leur code. Les derniers utiliseront les CDN !
CDN késako ?
Il s’agit de Content Delivery Network, ou réseau de distribution de contenu en Français. L’objectif des CDN est de disposer d’un maillage de datacenter sur la planète qui vont avoir le rôle de mettre en cache tout ou partie de votre site.
Ainsi, lorsqu’un utilisateur va se connecter à votre site, il ne sera pas connecté à votre site directement, mais à un serveur de votre fournisseur de CDN et tous les objets mis en cache ne seront pas téléchargés de votre site, mais simplement du CDN. Les ressources de votre serveur sont ainsi économisées et les temps de réponse accélérés !
Et grâce au maillage du CDN, l’utilisateur sera toujours dirigé (ou presque !) vers le serveur qui répond le plus vite.
Avantages
Les CDN vont également vous permettre de résister à certaines attaques de type DDOS en répartissant l’attaque sur plusieurs datacenter et votre site restera toujours disponible.
J’y reviens encore, mais si vous avez des ambitions internationales, peut importe où se trouve l’internaute, il sera toujours connecté aux machines qui répondent le plus vite. L’intérêt ici, est de bien choisir le fournisseur de service afin d’être sûr de pouvoir cibler les utilisateurs des pays où vous voulez vous implanter.
La plupart des services vont cacher l’adresse IP du serveur d’origine (du moins en partie) et éviter que celui-ci soit associé à votre nom de domaine. C’est un bon point de se cacher, mais il n’est pas toujours possible de cacher l’intégralité de son site. En revanche, cela n’évitera pas les scans des bots ou les personnes malintentionnées de trouver votre machine.
Certains fournisseurs de CDN vont plus loin en proposant des options de sécurité comme le WAF (Web Application Firewall). Ce service va vous permettre de filtrer les requêtes web afin d’enlever des éléments malicieux ajoutés à ces dernières (je pense ici à des injections SQL, du XSS…).
Inconvénients
Souvent, il faut déléguer la gestion des DNS (ou les IP) au fournisseur de CDN. Cela ne plaira pas à tout le monde, car on ajoute un élément externe, et qui plus est, souvent en dehors de son pays.
Le CDN, agissant comme un reverse proxy, doit pouvoir lire votre trafic. Ceci implique que même si votre site est en HTTPS, le CDN va se placer entre votre serveur et le client pour remplacer votre certificat par un autre (pour le cas de CloudFlare).
En conséquence, le CDN peut lire tout votre trafic et poser ainsi des problèmes pour les sociétés dont la confidentialité des données est un enjeu primordial.
Tout ceci pris en compte, je ne pense pas que ces éléments négatifs doivent vous faire reculer ; il convient néanmoins de les connaître et de bien consulter les clauses du contrat du CDN.
En pratique !
Cloudflare propose de base un service gratuit vous permettant de bénéficier d’un premier niveau de CDN.
Plus vous monterez en gamme et plus les services offerts seront conséquent. Le plus notable est le fameux WAF qui sera plus ou moins paramétrable. Lors de la montée en gamme, vous pourrez noter une certaine accélération de votre site, il est fort probable que CloudFlare priorise les clients en fonction de la gamme de service souscrit.
Pour le mettre en place, rien de plus simple, il vous suffit de créer un compte sur https://www.cloudflare.com.
Vous serez averti de la mise en place de CloudFlare pour votre site par un mail. Je vous invite à bien vérifier le fonctionnement de votre site à cette étape.
Le mot de la fin
Il y a bien sûr d’autres services de CDN. J’ai présenté CloudFlare car je connais et utilise ce dernier.
Pour avoir une petite idée, voici un petit comparatif de différents CDN :