Je suis sur le point de démarrer un nouveau projet qui nécessitera, en partie, le déploiement de nombreux nœuds identiques d'environ trois classes différentes:
- Noeuds de données , qui exécuteront des instances fragmentées de MongoDB.
- Noeuds d'application , qui exécuteront des instances d'une application Ruby on Rails et d'une ancienne application ASP.NET MVC.
- Noeuds de traitement , qui exécuteront les travaux demandés par les noeuds d'application.
Tous les nœuds s'exécuteront sur des instances d'Ubuntu 10.04, bien que différents packages soient installés.
J'ai une certaine familiarité avec Chef des projets précédents, bien que je ne me considère pas comme un expert. Dans un effort pour faire preuve de diligence raisonnable, j'ai étudié des possibilités alternatives. Nous avons un certain nombre de personnes en interne qui sont des utilisateurs de marionnettes de longue date, et ils m'ont encouragé à y jeter un œil.
J'ai cependant du mal à évaluer les deux choix. Chef et Puppet partagent la même terminologie de domaine - packages , ressources , attributs , etc. - et ils ont une histoire commune qui découle de l'adoption d'approches différentes du même problème. Donc, dans un certain sens, ils sont très similaires. Mais une grande partie des informations de comparaison que j'ai trouvées, comme cet article , est un peu dépassée.
Si vous commenciez ce projet aujourd'hui, quelles questions vous poseriez-vous pour décider si vous devez utiliser Chef ou Puppet pour la gestion de la configuration? (Remarque: je ne veux pas de réponse à la question "Dois-je utiliser Chef ou Puppet?")