Mon billet sur l'hébergement de masse comportait en fait un sujet connexe que j'ai fini par laisser à l'état de brouillon parce que ça devenait trop long : comment la virtualisation s'arrime à l'hébergement de nos jours, surtout en ce qui concerne les applications Web.
Nous avons annoncé Bryght Hosting il y a quelque temps, avec seulement quelques détails. Avec nos partenaires d'infrastructure chez Firebright, nous allons offrir d'autres forfaits de services fondés sur une combinaison de la plateforme de virtualisation Xen et de nouveaux outils de gestion que Firebright est en train de développer. L'absence de ces outils est l'une des raisons que IBM mentionnait dans son article sur l'hébergement et le déploiement, où l'entreprise décrit l'utilisation de VMWare. Une grande partie de ces outils de Firebright (nom de code Rack Fire) sera en code source libre et accessible à quiconque souhaite gérer de nombreuses instances virtuelles... mais je m'égare - allez harceler Firebright à ce sujet, leur nouveau site devrait être en ligne d'ici quelques semaines.
L'article d'IBM est plutôt bon et couvre certaines notions de base de la virtualisation et des raisons de la choisir. Au mauvais vieux temps, beaucoup de serveurs virtuels étaient des serveurs virtuels « souples », où les ressources d'un système physique étaient survendues. Les environnements Xen typiques sont des serveurs virtuels « rigides » - même si un environnement n'utilise pas toute la mémoire, tout l'espace disque, etc. qui lui sont alloués, ces ressources restent entièrement réservées. C'est beaucoup plus comme avoir vraiment votre « propre » serveur.
L'un des premiers avantages est la fiabilité. Disons que vous êtes sur du vrai matériel. Un serveur dédié. Et le matériel flanche. Que se passe-t-il ensuite? On court après les sauvegardes en espérant qu'une nouvelle machine soit disponible. Avec la virtualisation (mise en garde : il y a bien des façons de le faire, et je survole certains détails....), vous pouvez prendre l'image de tout votre environnement, la déplacer vers un autre hôte Xen en marche et voilà! vous êtes toujours en ligne. Sauvegarder ces images de serveur, ou même faire un essai de mise à niveau sur un clone complet de votre système de production - tout cela est possible avec une infrastructure virtualisée.
Un autre avantage est la montée en charge. Kris Buytaert (aucun lien de parenté avec Dries Buytaert, bien qu'il soit un ami) relève quelques failles dans le choix de VMWare par IBM - il préfère Xen, mais signale aussi des problèmes de montée en charge. Je soupçonne que Kris travaille surtout sur de TRÈS gros déploiements, et en fouillant davantage dans son document Automating Virtual Machine Deployment, on dirait qu'il vise davantage la consolidation de serveurs que l'offre de nombreux environnements hébergés plus petits à beaucoup de gens différents. Il fait de très bonnes remarques sur la façon de gérer les déploiements à grande échelle en ce qui touche les mises à jour entre machines. Les processus deviennent vraiment importants; il est donc essentiel d'avoir un environnement optimisé, fondé sur les pratiques exemplaires, où vos processus sont documentés.
Donc, virtualisation et montée en charge. D'abord, vous pouvez démarrer votre site dans un petit coin d'une grosse machine. Si l'achalandage augmente (et, on l'espère, les revenus), vous pouvez augmenter la taille de votre serveur virtuel simplement en passant à une plus grosse part de cette machine. Cela prend au plus 5 minutes environ - vous « éteignez » votre environnement virtuel, on l'ajuste pour lui donner plus de mémoire ou d'espace disque, puis vous le remettez en ligne. Aucun déménagement entre serveurs, et c'est plutôt indolore.
Bien sûr, cela ne « monte en charge » que jusqu'à la taille de la machine physique sur laquelle vous êtes. Je ne vais pas aborder les systèmes en grille pour l'instant, mais l'une des idées, c'est de pouvoir croître progressivement, en achetant de la capacité au besoin. Nous préparons quelque chose de semblable avec Firebright : des grappes virtuelles. Pour les clients qui veulent plus de redondance ou une capacité de croissance future, plutôt que de commencer avec une petite instance unique qui réunit le Web et la base de données sur une même machine, nous pouvons déployer une petite grappe d'instances virtuelles --- peut-être 2 serveurs Web frontaux et une base de données en arrière-plan, ou une configuration redondante prête à l'emploi, avec 3 serveurs Web frontaux et 2 bases de données. Besoin de croître? D'abord, on peut allouer plus de ressources à chacun des composants - passer de petits serveurs Web et de base de données à des moyens, etc. Ensuite, comme l'ensemble a été configuré pour une montée en charge horizontale, vous pouvez lancer au besoin des nœuds Web et de base de données supplémentaires. Pris dans une tempête Digg? Ajoutez temporairement quelques environnements virtuels, puis éteignez-les quand l'achalandage revient à la normale.
Voilà, j'espère que cela vous donne une idée de ce que nous préparons avec Firebright. L'hébergement, surtout dans le domaine de la virtualisation, avec l'informatique en grille qui pointe à l'horizon (et oui, je n'avais pas l'intention d'omettre Amazon S3 ou EC2), va traverser une période intéressante en 2007.