Estou prestes a iniciar um novo projeto que, em parte, exigirá a implantação de muitos nós idênticos de aproximadamente três classes diferentes:
- Nós de dados , que executarão instâncias fragmentadas do MongoDB.
- Nós de aplicativo , que executarão instâncias de um aplicativo Ruby on Rails e de um aplicativo ASP.NET MVC mais antigo.
- Nós de processamento , que executarão os trabalhos solicitados pelos nós do aplicativo.
Todos os nós serão executados nas instâncias do Ubuntu 10.04, embora tenham pacotes diferentes instalados.
Tenho alguma familiaridade com o Chef de projetos anteriores, embora não me considere um especialista. Em um esforço para fazer a devida diligência, tenho investigado possibilidades alternativas. Temos um número interno de pessoas que são usuários de marionetes de longa data e eles me incentivaram a dar uma olhada.
Estou tendo problemas para avaliar as duas opções, no entanto. Chef e Puppet compartilham muitas das mesmas terminologias de domínio - pacotes , recursos , atributos etc. - e eles têm um histórico comum que decorre da adoção de abordagens diferentes para o mesmo problema. Então, em certo sentido, eles são muito semelhantes. Mas muitas das informações de comparação que encontrei, como este artigo , estão um pouco desatualizadas.
Se você estivesse iniciando este projeto hoje, que perguntas você faria para decidir se deveria usar o Chef ou o Puppet para o gerenciamento de configurações? (Nota: não quero responder à pergunta "Devo usar o Chef ou o Puppet?")