Puppet vs Chef, avantages et inconvénients des utilisateurs et des cas d'utilisation [fermé]

56

J'ai déjà googlé et lu l'article "à la marionnette ou au chef-chef" .

Je suis intéressé par les cas d'utilisation, les mises en œuvre dans le monde réel dans lesquelles les gens avaient choisi l'un ou l'autre à la base de problèmes réels.

Je suis particulièrement intéressé par l' intégration des problèmes liés aux cordonniers (je sais que la marionnette est une approche standard dans cette direction); comme n'importe qui une expérience dans l' intégration de cordonnier-chef ?

Merci d'avance

drAlberT
la source
1
@ Warren: le post que vous décrivez n'est pas lié. Je demande une comparaison directe entre ces outils, pas seulement une mention du chef comme cela a été fait dans le post.
drAlberT
Pour répondre à la question cordonnier + chef, j'ai une branche dans ma caisse de cordonnier qui renvoie JSON pour Chef, mais je n'ai pas de système pour le tester. Faites-moi savoir si vous êtes intéressé par les tests.
jtimberman
Bien sûr, mais je ne peux pas pour le moment ... Je vais continuer mes tests dans quelques mois, une autre priorité est accordée pour le moment
drAlberT
En ce qui concerne la clôture de la question. J'ai demandé des "problèmes réels", une intégration de cordonniers, des cas d'utilisation ... pas simplement des "opinions", mais des choix motivés. Je suis contre la fermeture, comme vous pouvez le dire :)
drAlberT

Réponses:

63

Pour être honnête, je pense que cela revient à un point de vue simple: Chef semble être une solution programmatique plus impérative, l’utilisation du ruby ​​comme langage me donne instantanément l’espoir que quelqu'un le portera au format python, comme le fait le monde idées de ruby.

Ce n'est pas ce que vous voulez pour ce genre de chose cependant. Vous voulez parler au vide où le système sera et déclarer:

"Sur le port 80, le démon nommé nginx est appelé du nord. Sa tâche est de servir."

"Un utilisateur devrait exister, son nom devrait être chiggsy et il devrait être l'un des plus puissants du groupe des roues,"

"Élever un mur de feu, mince dans les endroits 80,443,8080"

Et ainsi de suite, bien que peut-être dans un langage moins fleuri.

Puppet soutient ce paradigme meilleur IMO. J'aurais utilisé l'un ou l'autre, je n'avais aucune préférence, mais en définitive, la déclaration me convenait mieux.

Fantoche.

chiggsy
la source
2
Vous pourriez même aller plus loin dans l'avenir et utiliser une distribution Linux utilisant une configuration déclarative: nixos.org/nixos
iElectric
19

J'ai écrit une comparaison détaillée Chef vs Puppet ici: Puppet vs Chef: 10 raisons pour lesquelles Puppet gagne . Bien que cela n'inclue pas les cas d'utilisation, j'espère que cela fournira quelques points de départ utiles aux personnes qui se demandent quel outil choisir pour l'automatisation de leur infrastructure.

John Arundel
la source
3
Très bon travail. Même si beaucoup de ce que vous avez écrit est lié au simple fait que la marionnette est "plus âgée" et tellement plus "supportée". Ok, c’est un fait ... mais je pense qu’aucun d’entre eux n’aurait utilisé postfix car sendmail avait déjà un bon public ... je le répète, bon travail, j’en tiendrai compte
drAlberT
AlberT - oui, Puppet existe depuis plus longtemps que Chef et il en va de même pour les avantages du premier arrivé: maturité du code, base de développement, base installée, mindshare - ceux-ci sont explicitement reconnus dans l'article. Puppet est-il techniquement supérieur aux tâches d'automatisation de Chef pour Linux? Probablement pas. Je recommande tout de même Puppet et Chef car c'est l'outil de gestion de configuration leader du marché.
John Arundel
2
L'article du blog est très obsolète. Depuis 2011, marionnette prend désormais en charge les modules purs en rubis et contient également beaucoup plus de «verbes» que la version évaluée par l'auteur.
robbyt
14

Désolé pour la verbosité. Utilisez l'outil qui facilite votre travail. C'est le point d'automatisation, non?

Histoire: J’ai utilisé des marionnettes lors de concerts précédents et le mois dernier, j’ai passé environ une semaine à essayer de s’habituer au chef pour savoir si je changerais de poste lors de mon nouveau concert.

Je n'ai pas sauté.

Jargon: Un problème regrettable avec ces deux systèmes est la surcharge de jargon. (recettes, modèles, nœuds, rôles, attributs, fournisseurs) Il continue encore et encore. J'ai trouvé que Chef a fait un pas de plus. (Couteau, Shef, etc.)

Code Maturity: Disons que j'ai trouvé Chef un peu trop cru. Cela ressemble beaucoup à ce que les marionnettes avaient à l’époque .21 / .22 il ya trois ou quatre ans. Il y a beaucoup de flux en cours.

Pour ne pas dire que ce n'est pas arrivé dans la marionnette non plus. (J'ai redécouvert de nombreuses fonctionnalités intéressantes dans la marionnette qui ne sont apparues que ces dernières années. - Correspondance regex!)

Ruby: Je n'ai pas aimé toute la surcharge de rubis dans Chef. (vous avez besoin de gemmes et de râteaux avant même de pouvoir commencer) Vous pouvez utiliser le rubis pour résoudre des problèmes complexes dans un faction de marionnettes, mais vous n'êtes pas obligé de le faire si vous ne le souhaitez pas.

Complexité: je n'ai pas aimé que le GUI se concentre sur le chef. Je réalise que c'est joli et que la marionnette a une interface Web en construction, mais je pense que cela devrait être plus découplé.

Chef a une architecture beaucoup plus complexe. Cela pourrait mieux évoluer, 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 ne nécessite pas de structure MVC ni de stockage de données complexe.

La marionnette est beaucoup plus simple dans ce département. (pour ne pas dire qu'il n'y a pas beaucoup d'add-on pour le rendre plus salissant)

Obtenir du travail: À la fin, je suis allé avec ce que je savais. Après avoir passé une semaine de côté à pirater un ordinateur et à peine capable d’obtenir les bases du travail avec Chef, j’ai pu retourner à la marionnette et combler mes besoins élémentaires en quelques heures. (gestion des paquets, gestion des utilisateurs, modèles de fichiers de configuration)

Mise en garde à propos des modules: Puppet a récemment commencé à utiliser des "modules" fournis par des tiers. Je n'ai pas fini par les utiliser et j'ai trouvé une large gamme de qualité. Assurez-vous de jeter un coup d’œil sous les couvertures et de voir ce qu’elles travaillent et comment elles fonctionnent avant de creuser.

Joel K
la source
5

Voici un avis: Nous les avons tous essayés en notre compagnie et nous préférons les marionnettes. Tout simplement parce qu'il est facile à utiliser.

Riaan
la source
Avez-vous utilisé un logiciel frontal pour surveiller l’exécution de Puppet?
SyRenity
1
@syrenity nous utilisons un chèque nagios personnalisé qui vérifie le mtime de $ puppetvardir / state / state.yaml qui n'est mis à jour que si l'exécution est réussie.
rodjek
2
Le chef est-il si difficile à la place? Pourquoi? Quelles sont les difficultés pratiques rencontrées auprès du chef lors du contournement des marionnettes?
drAlberT
@NotNow: sympa, j'avais définitivement décidé s'il soutiendrait l'intégration de
Cobbler
1

J'ai moi-même vu des cas où gérer 1000 hôtes avec différentes configurations est beaucoup plus facile avec des marionnettes. Infact entreprises comme Google utilise marionnette pour leur déploiement.

L’architecture principale de la marionnette est telle qu’elle fonctionne beaucoup mieux que d’autres si vous la configurez correctement. Par exemple, en ajoutant vos informations personnalisées pour vos configurations personnalisées, etc., les liens ci-dessous peuvent fournir des informations http://slashroot.in/puppet-tutorial-installing-puppet-master-and-puppet-agent

http://slashroot.in/puppet-tutorial-how-does-puppet-work

sarath
la source
0

Cela a peut-être changé depuis la dernière fois que je l’ai essayée, mais lorsque j’essayais de cuisiner avec RHEL, il n’existait aucun moyen clair de l’installer. Quelqu'un avait créé un référentiel yum avec tous les paquets nécessaires, mais il a fini par installer 200 paquets impairs. La marionnette, quant à elle, a un seul régime (et quelques dépendances).

Nouilles
la source