Le CDN (Content Delivery Network) d’OVH

Standard

CDN OVH

Un CDN, c’est quoi ?

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 volumineuses ou statiques) à des utilisateurs. Le réseau est constitué :

  • De serveurs d’origines, où les contenus sont injectés dans le CDN pour y être repliqués (les serveurs maîtres) ;
  • De noeuds répartis géographiquement où les contenus sont repliqués (le CDN) ;
  • D’un mécanisme de routage permettant à une requête utilisateur sur un contenu d’être servie par le noeud “le plus proche” dans le but d’optimiser la transmission des données.

L’optimisation se traduit par une réduction des coûts de bande passante sur vos serveurs maîtres (le contenu statique, les images, les feuilles de style, le JS et les vidéos sont gérées par le CDN) et de l’amélioration de l’expérience utilisateur (le site est chargé plus rapidement).

Pour donner un exemple concret, les vidéos de YouTube sont répliquées dans des dizaines de milliers d’ordinateurs répartis en réseau dans le monde. Ainsi, lorsque vous chargez une vidéo, le groupe d’ordinateurs le plus proche va se charger de vous transmettre la vidéo. Ainsi, la bande passante globale est partagée entre plusieurs milliers d’ordinateurs et le contenu est acheminé plus rapidement.

Le CDN d’OVH

OVH propose un CDN gratuitement, même si vous ne possédez ni hébergement, ni serveur dédié, ni nom de domaine chez eux. Exceptionnel, n’est-ce pas ? La seule condition est d’avoir un compte chez eux, c’est tout. OVH met à disposition son infrastructure de serveurs à travers le monde pour répliquer votre contenu et s’occupe du mécanisme permettant de rediriger vers le point géographique le plus proche ou vers vos serveurs maîtres si le contenu n’est pas hébergé sur le CDN.

Concernant la présence géographique, elle est assez impressionnante. Vous pouvez regarder la carte tout en haut de cet article pour visualiser ceci. Le réseau CDN d’OVH est disponible :

  • En Europe. Paris, Milan, Madrid, Amsterdam, Londres, Francfort, Varsovie ;
  • En Amérique. Chicago, Dallas, Newark, New York, San José, Ashburn, Atlanta, Los Angeles, Miami, Seattle, Palo Alto, Toronto ;
  • En Asie. Hong Kong, Tokyo, Singapour.

Voilà déjà de quoi vous offrir une présence géographique mondiale plutôt efficace. Vous avez accès à l’ensemble de ces villes pour votre CDN. Merveilleux n’est-ce pas ?

CDN ou serveurs maîtres ?

Voici un petit schéma explicatif récapitulant la procédure qui est exécutée à chaque requête HTTP. Le schéma provient du site d’OVH :
CDN OVH

Temps de vie des fichiers

Vous pouvez paramétrer un temps de vie par fichier, par extension ou par dossier sur votre hébergement. Le CDN d’OVH gardera sur les différents serveurs dans sa cache locale les fichiers pendant le temps spécifié par la règle de chaque fichier. Une fois ce temps écoulé, chaque fichier sera redemandé à votre serveur maître afin d’être répliqué à nouveau sur l’ensemble des serveurs du CDN.

Méthode d’utilisation

La meilleure utilisation possible consiste à placer toutes vos ressources statiques sur un sous-domaine de la forme static.votresuperdomaine.com : images, feuilles de style, JavaScript, vidéos, animations Flash. Tout ce qui n’est pas du contenu dynamique en clair, qui n’est pas amené à changer. Lorsqu’un visiteur arrive sur votre site, CDN charge immédiatement les contenus statiques tels que les images sur static : <img src=”static.votresuperdomaine.com/images/…” alt=”” />

Votre hébergement ne s’occupe plus que de vos contenus dynamiques.

Utiliser le CDN d’OVH

Pour utiliser le CDN d’OVH il faut d’abord se rendre sur www.ovh.com/fr/cdn/fr, renseigner vos identifiants OVH puis le nom de domaine sur lequel vous souhaitez mettre en place le CDN. Un email vous sera envoyé et vous devrez changer l’adresse IP du champ A de votre domaine ou de votre sous-domaine par celle qui est inscrite dans cet email pour activer le CDN. Vous n’avez rien à changer dans votre code. La configuration du temps de vie par type de fichier se fait via un manager proposé par OVH, en français, facile d’utilisation.

Rendu en production

J’ai testé le CDN d’OVH sur plusieurs de mes domaines, pas encore sur de gros sites en production. J’ai obtenu des résultats très intéressants sur un site qui héberge du contenu multimédia. J’ai réussi à économiser 93 % de ma bande passante. Un chiffre assez impressionnant !
CDN OVH

Conseils d’utilisation

Attention, le CDN d’OVH n’est pas à utiliser sur un projet encore en développement. Vous allez vite être embêtés par la gestion des caches alors que vous modifiez régulièrement des images, des feuilles de style… Même si OVH propose de vider le cache du CDN et de répliquer une nouvelle version des fichiers, vous pouvez avoir des soucis avec le cache de votre navigateur ensuite. Le CDN d’OVH est donc très utile sur un site déjà en production, où les changements sont très rares.

Bonne utilisation !

[Code] L’Euromillions

Standard

Euromillions
Hier, le 10 août 2012, un britannique a remporté le plus gros gain du célèbre jeu de loterie européen : la bagatelle de 190 millions d’euros. De quoi s’offrir de belles choses. Cela faisait 10 tirages consécutifs que personne n’avait réussi à trouver les 5 bons numéros parmi les 50 et les 2 étoiles parmi les 11. Et pourtant, beaucoup de personnes jouent ? Il devrait y avoir un moyen ? Et bien en se basant sur les mathématiques, la probabilité d’avoir ces 5 numéros et ces 2 étoiles n’est que de 0,000 000 858 %. Pour autant, le phénomène de société du “et pourquoi pas moi ?” fait que l’Euromillions reste un jeu très populaire, plus encore quand la cagnotte atteint son plafond de 190 millions.

Etudions un petit peu ce jeu, d’un point de vue des probabilités. Je vous propose ensuite un petit code PHP qui permet de générer des grilles d’Euromillions et d’en sortir quelques statistiques intéressantes. Hier, je me suis amusé à tirer 100 000 grilles aléatoirement. Et bien figurez-vous que je n’ai pas trouvé la bonne combinaison !

Probabilités

Pour calculer les différentes probabilités d’atteindre les différents rangs de gain de l’Euromillions, on utilise les combinaisons (l’ordre de sortie des numéros ne compte pas).
Combinaison probabilités
Ainsi la probabilité d’obtenir les 5 bons numéros et les 2 bonnes étoiles est donnée par la formule :
Combinaison probabilités
Soit de 1 chance sur 116 531 800.

Voici un tableau qui résume les probabilités pour les différents rangs, trouvé sur Wikipédia :
Probabilités Euromillions
En résumé, une personne aura 7,81 % de chance (soit environ une chance sur treize) de remporter un gain sur chaque combinaison jouée à 2 € la combinaison. À titre de comparaison, au Loto, un joueur a 16,7 % de chance (environ une chance sur six) de remporter un gain sur une combinaison simple.

Code PHP

Le code PHP suivant permet d’effectuer un tirage aléatoire d’une grille d’Euromillions. Les résultats sont ensuite enregistrés dans une base de données, pour un futur traitement. A noter qu’avant d’être enregistré, les nombres et les étoiles du tirage sont rangés dans un ordre croissant, ceci afin de faciliter la sélection dans la table plus tard. Le code PHP devrait être suffisamment commenté (en anglais !) pour que vous le compreniez facilement.

Et voici le code SQL permettant de créer la table associée au précédent code :

Vous obtiendrez quelque chose de cette forme après avoir lancé le code PHP :
Combinaison probabilités

Des emails d’absences originaux

Standard

Vacation
Alors que beaucoup d’employés sont partis en vacances, la majorité d’entre eux laisse un message d’absence automatique sur leur boite email pour prévenir les personnes qui cherchent à les joindre qu’ils ne sont pas disponibles pour le moment. Un petit Tumblr s’occupe de collecter tous ces messages automatiques et de publier les meilleurs. Des messages minimalistes, rigolos, loufoques, étranges, originaux et des meilleurs ! En clair, les meilleurs “répondeurs de vacances” sont disponibles sur absentdubureau.tumblr.com.

Quelques exemples

Voici un manager qui compte les jours avant la fin de l’année et qui ne veut en aucun cas entre dérangé pendant ses vacances :

Un autre n’hésite pas à narguer ceux qui ne sont pas encore en vacances :

Retrouvez tout ceci sur absentdubureau.tumblr.com, parce que ça occupe bien de lire les messages d’absence durant les vacances.