Puppet est une application très pratique... C'est ce que l'on pourrait retrouver dans les entreprises avec de grands volumes de serveurs, où le système d'information est "industrialisé".
Puppet permet d'automatiser un grand nombre de tache d'administration, comme l'installation de logiciels, de services ou encore de modifier des fichiers.
Puppet permet de faire cela de manière centralisée ce qui permet d'administrer et de mieux contrôler un grand nombre de serveur hétérogènes ou homogènes.
Puppet fonctionne en mode Client / Serveur.
Sur chaque machine un client va être installé et c'est lui qui va contacter le PuppetMaster, le serveur, par le biais de communication HTTPS, et donc SSL, un système pki est fourni.
Puppet a été développé en Ruby le rendant multiplateforme : bsd (free, macos ...) ,linux (redhat, debian, suse ...), sun (opensolaris ...)
Reductive Labs, la société éditant Puppet, a développé un produit complémentaire, nommé Facter.
Cette application permet de lister des éléments propres aux systèmes administrés, comme le nom de machine, l'adresse ip, la distribution, des variables d'environnement utilisables dans les templates de puppet.
Puppet gérant des templates, on peut rapidement comprendre l'utilité de Facter, si par exemple on gère une ferme de serveurs de messagerie, qui nécessite un paramétrage contenant par exemple le nom de la machine. Là un template combiné avec des variables d'environnements s'avère tout à fait utile.
Enfin bref Puppet combiné à Facter me semble une solution très intéressante pour simplifier l'administration de systèmes.
Puppet pourrait se retrouver au niveau de la gestion des configurations dans ITIL, qu'en pensez-vous ?
Liens utiles :
Site Officiel Puppet
Wiki de Puppet
Site Officiel Facter
Des produits Opensource plus ou moins similaires :
Cfengine
Bcfg2
Des articles qui en parlent mieux que moi ;)
Octopuce
Centre de Ressource Informatique de l'Université de Metz