Chef

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Type Outil de gestion de configuration à agent
Langage Ruby (DSL) — recipes et cookbooks
Architecture Agent (chef-client) + serveur, modèle pull
Éditeur Progress Software (Chef racheté en 2020)
Alternative à Puppet, Ansible
Voir aussi Puppet · Ansible · SaltStack

Chef est un outil de gestion de configuration à agent, comparable à Puppet : un serveur central distribue l'état désiré, un agent (chef-client) installé sur chaque nœud l'applique périodiquement (modèle pull). Le déploiement initial de l'agent peut se faire par SSH depuis le serveur (knife bootstrap). La configuration s'écrit en Ruby, sous forme de recipes regroupées en cookbooks — une approche plus proche du code que le DSL déclaratif de Puppet.

Historiquement, l'interface web de Chef offre moins de visibilité sur les rapports d'exécution que celle de Puppet. Racheté par Progress Software en 2020, Chef a vu son adoption reculer sensiblement face à Ansible et Terraform, qui dominent désormais la plupart des nouveaux projets d'automatisation (tendance de marché, à réévaluer selon le contexte). Chef reste pertinent sur des parcs déjà investis dans l'outil, ou pour ses briques de conformité (Chef InSpec).

Positionnement face à Ansible et Puppet

Chef Puppet Ansible
Agent Oui Oui Non (SSH)
Langage Ruby (DSL) Ruby (DSL) YAML
Modèle Pull Pull Push
Courbe d'apprentissage Élevée (nécessite Ruby) Moyenne Faible

Écosystème

  • Cookbooks distribués via Chef Supermarket
  • Chef InSpec pour les tests de conformité
  • Documentation officielle : https://docs.chef.io/

Voir aussi

  • Puppet — alternative directe, architecture similaire
  • Ansible — alternative agentless
  • SaltStack — alternative hybride agent/SSH
  • GuardRail — supervision de la gestion de configuration