L’essentiel sur l’outil de gestion de configuration Puppet
L’IT utilise couramment les outils de gestion de configuration Puppet. Déclinés en de nombreuses versions, ces outils montrent leur utilité dans des entreprises de toutes tailles.
Les outils de gestion de configuration Puppet servent à automatiser le packaging et le provisioning de logiciels dans les environnements d'exploitation. Les outils de Puppet sont parmi les plus courants du marché et parmi les plus soutenus par une communauté d'entraide dynamique.
On trouve Puppet par exemple à la NASA, et chez Getty Images et Intercontinental Exchange Inc.
Développé en Ruby, Puppet utilise son propre langage pour créer et gérer des modules. Ce langage est déclaratif : il utilise des ressources et des classes dans ses manifestes (modules) pour définir des états.
Les utilisateurs témoignent d'un apprentissage rapide car intuitif et avec contrôle de code intégré. Puppet allie son langage au protocole REST. Il fonctionne en mode client-serveur, des nœuds administrés synchronisant les détails avec le serveur.
Tableau de bord de gestion de la configuration dans Puppet
Puppet Enterprise, la version complète conçue pour une utilisation sans limite de nœuds, affiche un prix d'entrée de 120 dollars par nœud. La version pour 11 nœuds ou plus comprend une assistance standard accessible en ligne cinq jours par semaine de 8h00 à 18h00 dans le fuseau horaire du client.
L'assistance standard plafonne le nombre de demandes mensuelles. Un service d'assistance Premium est disponible en 24x7, notamment par téléphone pour les incidents de priorité 1. Les tarifs de l'assistance Premium se négocient directement avec Puppet.
Open Source Puppet, la version de base de l'outil de gestion de configuration, est téléchargeable depuis le site de Puppet sous licence Apache 2.0.
Egalement gratuite jusqu'à dix nœuds, la version Puppet Enterprise regroupe en un même package différents composants open source (voir ci-dessous la liste des différentes options open source proposées par Puppet) ainsi que des fonctions supplémentaires comme l'orchestration, le contrôle d'accès en fonction du rôle, la portabilité totale, le reporting et la conformité. Elle est compatible avec tous les modules Puppet.
Puppet propose une gamme de logiciels open source qui viennent s'ajouter à Open Source Puppet, notamment :
- Beaker, une infrastructure en Cloud de tests d'acceptation ;
- Facter, qui regroupe des attributs de nœuds et les rend disponibles aux manifestes Puppet sous forme de variables ;
- Hiera, pour gérer les données propres au site ;
- MCollective, qui sert à gérer l'exécution des tâches administratives à l'échelle de clusters de serveurs ;
- PuppetDB, datastore de métadonnées sur les informations de nœuds ;
- Razor, pour le provisioning de machines virtuelles et sans système d'exploitation ;
- Trapperkeeper, un framework Clojure pour l'hébergement d'applications ou de services de longue durée.
Autre ressource précieuse, le référentiel Puppet Forge ouvre l'accès à plus de 4 000 modules développés et mis en commun par d'autres utilisateurs de Puppet.
Puppet prend en charge de nombreuses distributions Linux et variantes Unix, ainsi que Windows et OS X.
La version Puppet Server (Puppet Master) s'installe sous Linux : elle prend actuellement en charge Red Hat Enterprise Linux (RHEL), CentOS, Oracle Linux, Scientific Linux, SUSE Linux Enterprise Server et Ubuntu. Puppet Enterprise s'intègre facilement à RHEL qui le prend entièrement en charge.
L'abstraction de la couche entre les ressources réelles et le langage déclaratif dédié a popularisé la gestion de la configuration Puppet dans le milieu des administrateurs système, même si elle reste tout aussi fonctionnelle dans une approche DevOps.
Forte de sa réputation d'outil facile à prendre en main, la solution Puppet est susceptible d'être utilisée par des entreprises de toutes tailles.