Puppet Camp Paris : introduction à Puppet
Lors du Puppet Camp Paris le 8 avril prochain, Laurent Bernaille interviendra sur le sujet suivant : Achieving Continuous Delivery and DevOps with Puppet.
Le contexte de l’intervention
Constat : les applications peinent à répondre correctement aux besoins métiers. La longueur des cycles de développement, les difficultés des spécifications, le rapide changement des attentes du marché font qu’il y a un décalage entre les besoins des utilisateurs et ce qui est effectivement livré. Par ailleurs, la difficulté à concilier les attentes des Opérations et du Développement, le manque d’agilité de l’infrastructure (il faut parfois plus de 6 mois pour déployer un nouvel environnement) obligent à repenser l’ensemble du process. Comment le faciliter ? Puppet fait partie des éléments de réponse.
Points-clés de l’intervention
L’intervention de Laurent Bernaille portera essentiellement sur l’évolution de l’IT et la place de Puppet dans l’approche Continuous Delivery. Quels sont les apports de Puppet, comment tirer parti de ses points forts? Que peut-on attendre de la gestion de configuration? Plus globalement, comment faire évoluer la relation Dev et Ops, et comment repenser les processus et l’organisation? Nous vous donnons rendez-vous au Puppet Camp Paris pour discuter de toutes ces questions.
Qu’est-ce que Puppet?
Outil open source d’automatisation, Puppet est une brique essentielle du DevOps et du cloud. Cet outil permet de gérer des configurations de serveurs de façon automatisée : packages, services (serveur web, base de données) sont installés dans l’état souhaité par l’administrateur. Quel que soit le système sous-jacent, Puppet s’en abstrait et fournit son langage pour arriver à ce résultat. Les ordres peuvent être plus complexes, pour spécifier par exemple quelle version doit être installée.
Idempotence de Puppet
Une par une, on décrit les ressources. Quel package doit être installé, quel service démarré, quelle configuration…ces descriptions sont ensuite appliquées à différents serveurs. L’intérêt de Puppet réside dans son idempotence, c’est-à-dire sa capacité à s’assurer que l’état du serveur est exactement tel que décrit par l’administrateur, à chaque exécution de Puppet, même si les fichiers de configuration ont été modifiés entre temps.
Maintenir l’état des configuration sur la durée
Ainsi, l’administrateur pourra exécuter une première configuration de serveur, et maintenir son état dans le temps y compris (et surtout) sur de volumineuses fermes de serveurs. Au lieu d’avoir une configuration isolée, on aura sur chaque machine un agent Puppet qui envoie une requête pour récupérer ses instructions de configuration. En outre, il est possible d’injecter des variables dépendant de la machine, du pays, du datacenter, etc.
Gestion des parcs volumineux
Dans un contexte d’infrastructure, on peut donc avoir un serveur Puppet central gérant les configurations de plus de 1000 serveurs, de façon à délivrer toutes les informations pour que le système soit utilisable par les applications. Tous les nouveaux serveurs se déclarent pour recevoir leurs instructions, ce qui simplifie la gestion des très grands parcs.
Qu’il s’agisse de gérer la configuration d’un très grand nombre de serveurs, ou de gérer le périmètre plus réduit de configuration d’applications, la maturité du produit, son assise sur le marché et son avance technique sur ces sujets en font un choix évident