Chef
| 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/