Désolé pour la verbosité. Utilisez l'outil qui vous permet de faire votre travail facilement. C'est le but de l'automatisation, non ?
Histoire : J'ai utilisé Puppet dans des concerts précédents et le mois dernier, j'ai passé environ une semaine à essayer de m'habituer à Chef pour voir si j'allais faire le changement dans mon nouveau concert.
Je n'ai pas sauté.
Jargon : Un problème malheureux avec ces deux systèmes est la surcharge de jargon. (recettes, modèles, nœuds, rôles, attributs, fournisseurs) C'est sans fin. J'ai trouvé que Chef allait un peu plus loin. (Couteau, Shef, etc.)
Maturité du code : Il suffit de dire que j'ai trouvé Chef juste un peu trop brut. Il ressemble beaucoup à ce que Puppet a ressenti dans la période .21/.22 il y a 3-4 ans. Il y a beaucoup de flux en cours.
Je ne dis pas que cela n'est pas arrivé avec Puppet non plus. (J'ai redécouvert de nombreuses fonctionnalités de Puppet qui n'ont fait surface que ces dernières années. -- correspondance de regex !)
Rubis : Je n'ai pas aimé toute la surcharge de ruby dans Chef. (vous avez besoin de gem et rake avant même de pouvoir commencer) Vous pouvez utiliser ruby pour résoudre des problèmes complexes dans Puppet à la facter, mais vous n'êtes pas obligé de le faire si vous ne le voulez pas.
La complexité : Je n'ai pas aimé l'accent mis sur l'interface graphique de Chef. Je sais que c'est joli et que Puppet a une interface web en préparation, mais je pense qu'elle devrait être plus découplée.
Chef a une architecture beaucoup plus complexe. Elle est peut-être plus évolutive, mais il y a beaucoup de points de défaillance potentiels.
http://wiki.opscode.com/display/chef/Architecture
Chef a besoin de couchdb, rabbitmq et solr en plus du serveur API et de l'interface web.
Je veux juste une interface client/serveur simple qui n'a pas besoin d'un cadre MVC par-dessus et d'un magasin de données complexe derrière elle.
Puppet est beaucoup plus simple dans ce domaine. (ce qui ne veut pas dire qu'il n'y a pas beaucoup d'ajouts pour le rendre plus compliqué).
Faire son travail : En fin de compte, j'ai fait ce que je savais. Après avoir passé une semaine à bidouiller et à peine être capable de faire l'essentiel avec Chef, j'ai pu revenir à Puppet et répondre à mes besoins de base en quelques heures. (gestion des paquets, gestion des utilisateurs, modèles de fichiers de configuration)
Avertissement sur les modules : Puppet a récemment évolué vers l'utilisation de "modules" qui sont fournis par des tiers. Je n'ai pas fini d'utiliser ces modules et j'ai trouvé une grande variété dans leur qualité. Assurez-vous de jeter un coup d'œil sous les couvertures et de voir ce qu'ils font et comment ils fonctionnent avant de vous lancer dans ces modules.