Premier meetup Puppet à Lausanne

Le 26 janvier dernier, nous avons organisé notre tout premier meetup sur Puppet dans les superbes locaux de Studio Banana à Lausanne devant une vingtaine de participants. Cette soirée s’est articulée autour de deux présentations (une introduction à Puppet de Clever Net Systems et une présentation de use-case de Kudelski Security), de démonstrations et d’un buffet convivial. Notre compte-rendu de la soirée.

Présentation de Puppet – Clever Net Systems

Pour résumer brièvement, Puppet est un système de gestion centralisée de machines qui permet de résoudre les problèmes classiques d’administration systèmes de grands parcs : tâches répétitives, supervision de l’état du parc, audit de l’état du parc, etc. C’est un outil qui permet de déployer, mettre à jour et versionner facilement les configurations de chaque machine. Il va déployer une configuration adaptée en fonction de l’état initial de la machine et de l’état final souhaité. Puppet se base sur le langage de programmation Ruby.

Le fonctionnement : le node agent Puppet envoie sa configuration au Puppet Master qui est le serveur centralisé qui contient toute la configuration du parc. En fonction de ce qui a été envoyé, le Puppet Master va créer la configuration idéale pour ce nœud. Le nœud va essayer de tendre vers l’état voulu et va envoyer un rapport au Puppet Master positif ou négatif.

Plusieurs avantages :

  • Gestion centralisée avec des interfaces qui permettent de voir l’état du parc : par ex. pourcentage du parc qui est dans l’état désiré.
  • Inventaire qui va permettre de centraliser et récupérer toutes les données intéressantes pour connaître l’état du parc.

Présentation de Kudelski Security (KS)

Use-case 1 : Bare Metal Deployment – KS

KS est localisée sur plusieurs sites, ce qui implique l’utilisation de data centers différents. L’infrastructure de KS est basée sur différents supports : Bare Metal, OpenStack, VMWare, Docker, etc.

Mis à part Puppet, KS a aussi évoqué Foreman qui est un External Node Classifier (ENC). Foreman instrumentalise Puppet afin de segmenter les déploiements et paramétrer les différentes zones en fonction de leur localisation. Foreman permet d’avoir une interface web pour gérer le parc et les déploiements machines dans leur infrastructure. La technologie se base sur Puppet, Foreman et un plugin de Foreman, Katello, qui va gérer le cycle de vie des packages. L’outil open-source Jenkins va servir à orchestrer tous les déploiements.

Use-case 2 : Infrastructure as code – KS

Dans ce use-case, KS a expliqué brièvement comment le code Puppet est managé via la mise en place d’un workflow.

Les objectifs :

  • S’assurer que le code Puppet soit versionné.
  • S’assurer qu’il soit identique partout.
  • S’assurer qu’il soit poussé automatiquement sur toutes les machines à manager.

Pour répondre à ces objectifs, un Gitlab interne est utilisé mais aussi un projet nommé r10k pour mapper des branches Git à des environnements Puppet.

Pour déployer ces outils, quatre équipes de développeurs font de l’engineering sur divers produits chez KS.

Ce déploiement doit répondre aux objectifs suivants :

  • S’assurer que l’équipe ne soit pas un bottleneck pour les efforts d’engineering et de développement.
  • S’assurer que tous les environnements de travail soient standardisés.
  • Ceci pour permettre de scaler sans rajouter du headcount à l’équipe Infrastructure.

Les plateformes utilisées pour le déploiement sont VMWare ESX, Openstack et AWS EC2.

Pour effectuer ce déploiement, KS a créé un job Jenkins avec plusieurs paramètres. Maintenant, chaque équipe pour qui KS travaille peut avoir une VM (Virtual Machine) « ready-to-go » avec des outils pré-configurés.

Pour conclure

Ce fut un meetup intéressant et complet car nous étions deux entreprises à aborder Puppet et à apporter chacune nos compétences sur le sujet. Ce meetup a visé un public assez large car il contenait une introduction et une démo à Puppet pour débutants et deux use-cases pour rentrer davantage dans la technicité. Nous avons pris beaucoup de plaisir à faire de nouvelles rencontres et à échanger en direct avec les participants autour d’un verre dans une ambiance conviviale et décontractée. Merci à tous les participants d’être venus et à bientôt sur nos prochains meetups !

Pour aller plus loin

Les slides de la présentation Puppet de Clever Net Systems sont ici : http://fr.slideshare.net/clevernetsystemsgeneva/prsentation-puppet

Pour ne pas rater nos prochains meetups, vous pouvez vous inscrire à nos deux groupes sur Genève et Lausanne, c’est rapide et plus pratique 🙂 : Genève Open Source Meetup et Lausanne Open Source Meetup

Pour les passionnés de monitoring, RDV le 9 février sur notre prochain meetup que nous animerons avec Hidora et Open-IT sur l’automatisation et la supervision avec Centreon et Puppet : https://www.meetup.com/fr-FR/Geneve-Open-Source-Meetup/events/236965548/.

0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.