Qu’est-ce qu’un CDN ?
Selon notre ami Wikipédia, un Content Delivery Network (CDN) est constitué d’ordinateurs reliés en réseau à travers Internet et qui coopèrent afin de mettre à disposition du contenu ou des données (généralement, du contenu multimédia volumineux) à des utilisateurs.
L’objectif est de délivrer le plus rapidement les données de votre site vers le navigateur de l’utilisateur consultant votre site internet en utilisant le serveur le plus proche de lui. Par voie de conséquence, le CDN va alléger le trafic de votre serveur en dupliquant (mise en cache) les diverses données à travers le monde.
Cet article s’est tourné vers www.cloudflare.com qui offre une solution gratuite de base assez intéressante. Libre à vous ensuite d’aller plus loin avec les options payantes…
Il faut utiliser Cloudflare !!!
L’argument du poids hormis sa gratuité est sa facilité de déploiement. Il suffit simplement de remplacer les DNS sur votre nom de domaine pointant chez votre hébergeur par celles de CloudFlare qui s’occupera de rerouter les connexions vers votre serveur.
L’offre de base Cloudflare est très alléchante car, en plus de proposer un service de CDN gratuit, elle vous propose d’optimiser vos codes sources HTML, CSS et JavaScript en le compressant (minify).
Le service comprend également une protection contre les attaques DOS, injections SQL, etc…
Toutes ces données sont ensuite regroupées dans un rapport d’analyse plutôt complet.
Toutes les options citées ci-dessus sont paramétrables par l’intermédiaire de menus déroulants. Pour faire simple, vous avez la main sur tout.
http://www.youtube.com/watch?v=WYojsG7TX-0
Le second effet « kisscool » de Cloudflare est le référencement ! En optimisant vos pages, ainsi que la bande passante et la situation géographique des données, cela aura pour effet d’optimiser le référencement de votre site. Si vous aimez les chiffres, testez votre site sur Google PageSpeed (https://developers.google.com/speed/pagespeed/) ou Gtmetrix (http://gtmetrix.com/) avant et après avoir appliqué CloudFlare (attention à la propagation des DNS), votre note devrait s’approcher des 90% à 95%, et si vous prenez l’offre payante, le score sera encore meilleur car le CDN s’occupera d’optimiser vos images.
Je vois déjà votre souris qui trépigne à vouloir cliquer sur le bouton « S’enregistrer » du site CloudFlare.com … mais une autre partie de vous vous indique que c’est peut-être trop beau pour être vrai ! Ce qui a été vu ci-dessus et ce qui est vendu sur le site sont bien réels mais à présent voici une analyse beaucoup plus personnelle sur cet outil.
N’utilisez pas Cloudflare !!!
Votre site a un faible trafic, là encore pourquoi perdre son temps à déployer un CDN alors que votre propre serveur s’ennuie à mourir à la vue du peu de visiteurs qu’il reçoit jusqu’à maintenant ? 😉
Votre code source n’est pas compressé ? Il existe des tonnes de compresseurs sur internet pour effectuer cette tâche :
http://yui.github.io/yuicompressor/
http://closure-compiler.appspot.com/home
http://dean.edwards.name/packer/
etc…
L’objectif étant de délivrer le plus rapidement les données dans le monde, si la plupart de vos utilisateurs se trouvent en France, l’intérêt est quasi-nul, sachant qu’ici Cloudflare n’a qu’un seul data center en France (mais 23 dans le monde). De plus, la mise en cache fonctionne pour les contenus statiques, mais pour les contenus dynamiques cela fait un intermédiaire de plus entre votre site et vos utilisateurs.
Cloudflare étant un intermédiaire supplémentaire entre votre serveur et vos utilisateurs, si le CDN tombe, votre site devient inaccessible alors que votre serveur d’hébergement se porte comme un charme…
Cloudflare est gratuit, et sachant que rien n’est gratuit dans ce monde, je vous soumets donc cette dernière réflexion : vous venez de basculer vos DNS chez Cloudflare, ceci implique donc que toutes les connexions (utilisateurs) souhaitant consulter votre site seront interceptées, traitées, analysées, puis envoyées à votre site, ce dernier retournera une réponse (ou pas, si Cloudflare ne l’estime pas nécessaire) et là, les filtres remarchent dans le sens inverse… Cloudflare va analyser la réponse de votre site, la modifier, l’optimiser, la bidouiller… pour la renvoyer à l’utilisateur. Donc Cloudflare va connaître votre trafic, vos clients, vos mots de passe, vos statistiques, vos données, votre chiffre d’affaires… En bref, « tout » et vous vous ne savez absolument pas de ce qu’il en fait!… À part vous affirmer, la main sur le processeur que le monde serait bien plus triste sans lui.
Choix cornélien que voici : « Puis-je utiliser CloudFlare ou dois-je l’oublier et rester ainsi ? »
Que choisir ?
Voici la solution que je vous propose. Déléguez les données que vous estimez sans importance (images, fonts, javascript, css) à CloudFlare et gardez la main sur vos pages dynamiques (php, cgi) et surtout vos précieuses DNS !
Cloudflare vous propose dans son service de choisir si tel ou tel sous-domaine doit être redirigé automatiquement vers votre serveur et passé entre ses mains avec ce fameux pictogramme nuage.
Mais vous n’avez pas la possibilité de conserver vos propres DNS et de router simplement un sous-domaine chez Cloudflare par adresse IP.
Comment faire dans ce cas ? Réservez un nouveau nom de domaine propre à l’utilisation de CloudFlare qui sera relié à vos données peu critiques et conservez votre domaine principal avec vos propres DNS.
Un exemple de code source d’une page HTML quelconque :
Avant : http://www.monsite.fr/index.php
<body> <h1><img src="https://www.monsite.fr/logo.gif" alt="Mon site" /></h1> <script async src="https://www.monsite.fr/javascript.js"></script> </body>
Après : http://www.monsite.fr/index.php
<body> <h1><img src="https://monsite-cdn.fr/logo.gif" alt="Mon site" /></h1> <script async src="https://monsite-cdn.fr/javascript.js"></script> </body>
Voilà, votre site est prêt, tout va pour le mieux dans le meilleur des monde et maintenant : scénario catastrophe !!
Le serveur de DNS CloudFlare tombe (comme cela a pu se produire dans le passé). Au lieu de changer les urls en dur http://monsite-cdn.fr/, vous avez prévu cette situation en plaçant ce lien dans une variable, ainsi si vous détectez une erreur avec CloudFlare vous switchez simplement votre variable allant vers le CDN sur l’ancienne adresse de votre site, là où se trouvent précisément tous vos fichiers. Et ainsi, vous n’avez pas à attendre la propagation des DNS vu que le changement d’url est instantané dans vos pages ! Simple mais très efficace.
Si vous étiez dans une solution intégrale, il aurait fallu remettre vos DNS d’origine et attendre 24 à 48 heures la propagation des DNS, puis remettre les DNS CloudFlare, et c’est reparti pour X heures…
A présent, c’est à vous de choisir ! Ne pas touchez à votre site et l’optimiser vous-même ? Utiliser une solution partielle qui vous demandera un petit temps d’adaptation ? Ou enfin utiliser la solution intégrale qui s’effectue en 3 cliques de souris !
Ba même s’il n’a pas pas beaucoup de trafics que le site Internet, je pense que c’est quand même intéressant d’installer CloudFlare. Il protège des attaques de force et si l’hébergeur est hors ligne un moment, Cloudflare affiche une version en cache. Juste pour ça, ça vaut le cout je pense!