Dès qu'un site atteint une fréquentation plus que raisonnable, les coûts d'hébergement associés montent en flèche et l'on réfléchit aux moyens d'optimiser les performances et réduire la consommation globale en ressources. Entre la mise en cache côté navigateur et celui côté serveur (quelque soit la technologie serveur, il existe pratiquement toujours un système de cache soit opcode soit du html généré), on arrive souvent au déport des ressources statiques sur des Content Delivery Network (CDN) extérieurs.
En plus de réduire la consommation de ressources sur le serveur, les CDN ont des avantages certains, particulièrement pour des sites internationaux: serveurs plus proches du client final, gestion quasi automatique des caches (client et/ou serveur) et cela pour un coût globalement plus réduit que celui de mettre des serveurs en batterie chez son hébergeur pour supporter la charge.
Mais, surtout si votre site est à destination des grosses entreprises ayant de bonnes contraintes sécurité, il ne faut pas oublier certaines choses:
- Mettez vos ressources sur CDN derrière un sous-domaine de votre site ! Cela peut paraître bête, mais si votre utilisateur est protégé par un proxy de type websense, il est plus que probable que le domaine principal de votre CDN soit bloqué par le proxy. Votre site pourra être bien beau sur votre poste de développement, votre mobile, le PC de votre grand-mère; si la feuille de style principale n'est pas accessible chez votre client, je doute que le rendu soit tel que vous le désirez.
- Rendez votre site accessible! En corollaire du point 1, si tous les assets (essentiellement javascript) ne sont pas chargés du fait de ce proxy, les fonctionnalités principales de votre site seront toujours disponibles.
- Vous pensez à tous vos clients potentiels.
- Mieux vaut un site moins beau mais fonctionnel qu'un site inutilisable.
- Pub éhontée: ils pourront vous aider.
- Résistez à la tentation d'utiliser des librairies hébergées hors de votre contrôle (par exemple chez Google ou Microsoft). Si vous avez pris un CDN, surtout un payant, utilisez-le ! Parce que vous déportez vos ressources vous utiliser un nouveau domaine. Et utiliser un autre domaine dans vos pages oblige le navigateur à créer une nouvelle connexion vers celui-ci; avec la latence associée. En réunissant tous vos assets au même endroit, vous n'obligez le navigateur à créer qu'une seule connexion supplémentaire (oui, la grande majorité des CDN gèrent le http 1.1 et le pipelining associé, ainsi que la compression à la volée)
- La qualité à un coût: ne succombez pas au chant des sirènes d'un CDN payant peu connu voire gratuit. Il faut des ressources et de l'intelligence pour opérer ce type de service.
Enfin, s'affranchir de certaines contraintes d'hébergement n'est pas une autorisation pour ne pas faire du code de qualité et de l'optimisation sur vos assets.
Comments