Service as a service

le

La confusion règne parmi les outils de gestion de serveurs : chef, puppet, salt, fabric et autres noms bizarres. À quoi ça sert? Lesquels vont passer l'hiver? Est-ce que je risque d'investir sur un tréteau ?

Petit retour en arrière. Ok, le Cloud computing va sauver le monde, un peu comme les voitures hybrides ou les lasagnes au tofu. Il faut effectivement des outils pour gérer ses serveurs, mais la notion même de serveur est en train de disparaitre, la virtualisation se généralise, et les conteneurs légers finalisent cette invasion. Le serveur, cette grosse boite que l'on range dans une armoire de 19 pouces de large n'est maintenant qu'un élément hardware comme un autre, tout comme une barrette de ram, un disque dur ou un switch réseau.

Le devops déploie son code sur un service d'hébergement, code qui est lui-même un service qui s'appuie sur d'autres services (cache, persistance, recherche... ), il regarde ce qui se passe via des services de monitoring, le client regarde son service d'analyse pour apprécier la réussite du projet, et les utilisateurs vont utiliser ce service. Bref, tout le monde se fout des détails du monde réel, on ne veut que des services : le monde n'est qu'un gros légo, il suffit d'empiler des briques.

Les outils pour faire ça sont en plein bouillonnement, peu ont d'ailleurs été créées dans cette intention. Ils ont été créés pour un besoin quelconque, puis adaptés pour dompter le Cloud, le passage à l'échelle étant l'étape la plus difficile. Certains se contentent poliment de ne remplir qu'une seule fonction, d'autres cèdent à la tentation de vouloir faire plein de choses.

Les deux vedettes sont Chef et Puppet. Chef, prévu pour décrire des recettes d'installation et de configuration d'applications, prends aussi le rôle d'annuaire des pages jaunes de votre réseau, permettant de chercher qui fait quoi et où.

Puppet, ancêtre de Chef, est conçu pour gérer la configuration et les applications dans un parc de machine fortement hétérogènes, se retrouve à faire de la production en batteries d'instances de Linux tout à fait homogènes.

Fabric, initialement broadcasteur ssh et outil python n'ayant foi que dans le bash, se retrouve à installer et configurer des serveurs via le projet Fabtools.

Salt est lui né pour le Cloud. Il est le contremaitre qui va faire bosser les petits ouvriers dans l'usine OpenStack. Salt c'est d'abord un système de rpc capable de causer aux différents noeuds, plus de bricolages à base de ssh et de pipes. Du coup, il en profite pour faire du monitoring, installer et configurer des applications et faire différentes tâches de maintenance.

Il en existe plein d'autres, plus ou moins spécialisés, plus ou moins adaptés aux petits ou grands réseaux, plus ou moins intrusifs, plus ou moins populaires, plus ou moins confidentiels... mais avec cette liste, on commence à cerner ce besoin si flou.

Assommé par les buzzwords et les acronymes d'AWS, on a du mal à voir une chose simple. Le clusteur n'est rien d'autre qu'une grosse machine. Le serveur que vous aviez en 2000 dans une boite moche est maintenant une armoire, quelque part. Les contraintes et les usages sont les mêmes, juste l'échelle a changé. Le scénario reste similaire : Ajouter une machine (commande chez Dell), installer un OS (mettre un CD dans le lecteur), installer des applications (apt-get install), les configurer (vi dans /etc/ ), les lancer (avec /etc/init.d), vérifier qui tourne (ps -aux), chercher où ça rame (top), vérifier que tout va bien (tail -f /var/log/syslog), trouver la cause d'une erreur constatée (grep), faire une sauvegarde (tar) ...

Voilà, tout ça existe encore sur le Cloud et n'est pas prêt de disparaitre. Les outils ont changé, les fonctions restent les mêmes.

Bon, je suis un peu de mauvaise foi, il faut rajouter quelques outils à la liste précédente, xen, logstash, graphite, doozer, redis... mais l'idée est là, le Cloud n'est qu'un gros serveur, juste un peu moins tangible, qui rend des services et garde pour lui les détails de fonctionnement (le Cloud est coquet).

No OS


Partager cet article :