Cloud #3: où mettre le serveur web?
J’ai pris pas mal de temps pour tester les clouds dédiés à l’hébergement et plus particulièrement ceux de Amazon, OVH, Gandi pour les clouds “brut de fonderie” mais aussi Heroku et Engine Yard pour les clouds orientés Ruby on Rails. On va parler ici des clouds “brut”, on reviendra une autre fois sur les clouds spécifiques.
Concernant le cloud OVH, j’ai rapidement lâché l’affaire: les instances sont très peu personnalisable mais comme ils le disent eux-même leur cloud est plutôt orienté tests et développement: la doc est très pauvre, pas d’API visible, aucune options pour dimensionner une instance (seule la mémoire peut être augmentée). Par contre, pour faire des tests, c’est clairement une très bonne solution, car une instance de base coute 0.01E HT/heure, soit 7.2EHT/mois et les instances ont une spécificité intéressante: la mémoire swap utilise des disques SSD, ce qui fait que les machines ralentissent peu lorsqu’elles surconsomme de la mémoire. Si vous voulez vraiment faire du cloud chez OVH, il faut alors passer sur ce qu’ils appellent le “Private Cloud”, qui si j’ai bien compris est finalement une surcouche VMWare installée sur un ou plusieurs serveurs classique d’OVH mais j’ai pas poussé plus loin, car le ticket d’entrée est elevé (on commence à 200E HT/mois), et cela me semble plutôt être une offre dédié aux grosses PME ou aux revendeurs d’espace d’hébergement qui utilisent OVH pour leur infra et veulent fabriquer leur propre mini-datacenter.
On passe maintenant à Amazon EC2 et la c’est l’artillerie lourde: un choix correct d’instances, pléthore d’images disques pour installer les instances, une API au petits oignons et des librairies dans un peu tout les langages pour administrer tout cela. Par contre côté prix, même si tout est transparent il est difficile de se faire une idée du cout réel mensuel d’une instance. Cependant d’après ce que j’ai pu lire mais aussi constater par moi-même, en règle générale, la partie stockage et BP représente un coût équivalent à environ 20% du coût de l’instance. Donc si on prend une instance de type “small” (1 ECU, 1.7Go de RAM), qui coute environ 68$/mois, vous devrez ajouter à ce prix environ 14$ pour avoir une estimation correcte du coût de votre instance, soit au final 82$/mois. Personnellement je trouve que ce n’est pas donné vu les caractéristiques de l’instance. Les prix augmentent ensuite très vite si vous faites une architecture propre avec frontal web, BDD et serveur applicatif/cron puisqu’il vous faudra au grand minimum 3 instances “small”. C’est pour cela que je vous présente maintenant mon chouchou, le cloud de Gandi ;-)
Chez Gandi, on achète des parts, qui représentent un ensemble de ressources (mémoire, CPU, adresse ip, BP, stockage) et ensuite on fabrique comme on le souhaite des instances à partir de ces parts, en modulant comme ont veut les ressources. Ainsi avec 82$ a dépenser (si on était allé prendre une machine de base chez Amazon EC2), soit environ 60E, on peut acheter chez Gandi 5 parts a 12E HT/part, et avec 5 parts on peut créer directement une infrastructure très propre, en créant 1 frontal web avec 1 part, 1 serveur applicatif avec 1 part, et un serveur de BDD avec 2 parts. La dernière part peut alors servir à mettre un peu plus de mémoire sur le frontal et/ou le serveur applicatif, le CPU non utilisé peut être affecté à la BDD, et la BP répartie sur les 3 machines. Enfin, on peut aussi acheter a l’unité de la mémoire supplémentaire ou des CPUs supplémentaires. Bref, la solution de Gandi est non seulement ultra souple, mais en plus les couts sont connus d’avances puisque toute est forfaitisé.
Les autres avantages de passer par Gandi:
- on dispose d’adresses ip françaises, et depuis peu on peut aussi héberger des instances dans un datacenter aux US et donc avoir des ips US si nécessaire
- les backups sont facilités puisque tout se fait en stockant les données sur un disque spécial de backup monté sur le serveur: dans sa forme la plus basique, un simple “cp” suffit pour faire des backups. Mais je vous recommande plutôt d’utiliser un truc tel que rsnapshot
- la mise à jour des ressources (ajout/retrait de RAM, CPU, BP) se fait en live: pas de reboot nécessaire.
Enfin, la killer fonctionnalité pour moi chez Gandi, c’est la scalibilité verticale automatique. Je m’explique: chez Amazon (ainsi que chez la plupart des vendeurs de cloud), si vous devez affronter un pic de trafic, soit vous rajoutez des serveurs (scalabilité horizontale), soit vous changez la puissance de votre instance pour disposer de plus de ressources (scalabilité verticale) mais dans un cas comme dans l’autre, cela passe généralement par de la configuration et/ou des reboots et surtout c’est manuel.
Maintenant chez Gandi, une interface web vous permet de définir des règles du type “Si mon instance consomme 100% de CPU depuis 20 minutes, alors ajouter 1 part d’hébergement” ou encore “Si mon serveur dort depuis 1 heure alors retirer 1 CPU”, etc… Autrement dit, si vous avez pris le temps de configurer ces règles de scalabilité, vous pouvez aller manger au resto tranquille, vos serveurs ne s’écrouleront pas face à un afflux temporaire de visiteurs: ils “grossiront” le temps nécessaire, pendant que vous continuez à savourer tranquillement ce si bon bordeaux que vous affectionnez tant :-) Et lorsque le pic d’affluence se termine, vos serveurs reviennent à leur taille initiale, et bien entendu, vous payez cette puissance supplémentaire au nombre d’heures consommées. Ce truc, c’est un luxe que n’importe quel admin système saura apprécier à sa juste valeur !
Voila, donc j’ai passé 1 mois à tester et à tout migrer sur Gandi: il ne reste que mon site de replay des chaines télé qui est encore sur un serveur dédié OVH payé d’avance, mais qui migrera prochainement chez Gandi. Mais vous l’aurez compris par vous-même, je vous recommande chaudement Gandi pour vos besoins de cloud ;-)
Au final mes coûts d’hébergements sont à peine plus élevés que lorsque j’étais chez OVH, mais avec par contre une souplesse et une garantie de disponibilité de mes serveurs incomparable: ce n’est pas qu’OVH soit mauvais, loin de la, c’est juste que le cloud apporte des garanties et des fonctionnalités qu’un simple serveur dédié ne peut pas proposer. Et la conséquence de tout cela, c’est que maintenant, je dors bien mieux la nuit ;-)
Enfin, on me rappelle dans l’oreillette que vous pouvez demander à Gandi à tester leur offre de cloud gratuitement, donc n’hésitez pas à vous faire une idée par vous même ;-)
Voila, si vous avez des remarques, si vous avez trouvé un hébergement de type cloud encore mieux, si vous en avez marre que je parle du cloud, exprimez vous: je suis impatient de lire vos remarques ou vos retours d’expériences ;-)
Cet article fait parti d’une série d’articles sur des cas concrets d’utilisation du cloud.