La gestion au quotidien des configurations systèmes et applicatives d'une entreprise représente un
travail très fastidieux. Beaucoup d'entreprises ont édicté des règles
de "bonnes pratiques", rares sont celles qui sont en mesure de les
mettre en oeuvre. Puppet simplifie grandement la vie des
administrateurs : plus de contrôles et d'interventions à réaliser
régulièrement. Puppet se charge d'imposer sur les machines des
utilisateurs les configurations "modèles" définies par l'administrateur.
Puppet est un outil de déploiement et de gestion centralisée de
configurations pour les environnements Linux, Unix et bientôt Windows ;
les machines gérées pouvant
être physiques ou virtualisées.
C'est un logiciel libre écrit en Ruby et diffusé sous licence GPL.
Un serveur appelé PuppetMaster contient les différentes
configurations souhaitées ; l'administrateur décrit ces configurations
via un langage déclaratif sans se soucier des commandes propres à
chacun des systèmes d'exploitation mis en oeuvre dans l'entreprise.
Sur chacune des machines administrées par Pupet (node), un agent Puppet
s'assure périodiquement (par défaut toutes les demi-heures) que la
configuration souhaitée est bien celle en place. Si ce n'est pas le
cas, l'agent Pupet se charge de l'exécution des commandes système nécessaires
au rétablissement de l'état attendu.
Les communications entre PuppetMaster et les nodes utilisent le protocole HTTPS de Ruby.
Différents utilitaires sont disponibles :