Gostaria de entender as diferenças entre o Puppet e o Ansible, especialmente o tipo de limitações do Puppet em comparação com o Ansible.
Existem coisas que você não pode fazer no Puppet, mas no Ansible? Em outras palavras, por que algumas pessoas se mudam de Puppet para Ansible?
ansible
comparison
puppet
kenorb
fonte
fonte
Respostas:
É claro que existem vários prós e contras para cada Puppet, Ansible, Chef e adicione sua ferramenta favorita aqui também. Então, tentarei ficar longe da opinião e compartilhar o que é ótimo no Ansible, na verdade.
O principal recurso que coloca o Ansible acima dos outros não é ter que confiar em algum agente customizado / adicional em execução nos nós de destino, sendo baseado apenas em conexões ssh. Sim, ele ainda requer um servidor ssh, Python e várias bibliotecas Python nos nós, e se sua distribuição preferida (ou, boa sorte, existem alguns nós do Windows) não for fornecida com eles, será um pouco doloroso para iniciar. Mas isso é improvável e pode até fazer você pensar novamente sobre sua distribuição.
Isso simplificará o monitoramento, não consumirá recursos adicionais, não forçará o sistema a executar um daemon como root o tempo todo e, em geral, se sente melhor dentro da filosofia do UNIX. O Chef
chef-solo
sabe que o Puppet pode ser executado sem mestre, mas ambos trabalham "na outra direção", clonando e usando ganchos, respectivamente. Enquanto com o Ansible, uma mesclagem no repositório de origem pode desencadear a implantação de uma maneira com a qual todos nos sentimos confortáveis, seja no Jenkins, no git master ou em alguma outra ferramenta como Rundeck, por exemplo.fonte
template
módulo Ansible facilita bastante isso.Não, as pessoas que se mudam de Puppet para Ansible (ou vice-versa) não têm nada a ver com o que pode ou não pode ser realizado com qualquer uma das ferramentas. Fantoche / Chef / Ansible - é principalmente uma questão de gosto.
Por exemplo, o Ansible é baseado em Python, e os desenvolvedores de Python geralmente se sentem mais à vontade com ele (não há necessidade de aprender um DSL) ou Ruby (para Chef). Mais fácil para os desenvolvedores de Python estenderem o Ansible também.
Mas, em essência, são todos muito semelhantes em termos do que você pode alcançar. Alguns têm pontos fortes em algumas áreas, e pontos fracos em outras, mas geralmente a escolha entre eles é feita pelo estilo / cultura / preferência da equipe.
fonte
Até o Puppet 4.0, não havia uma maneira fácil de orquestrar aplicativos espalhados por vários servidores ou serviços, pois era difícil ordenar ações especificamente no Puppet, que era uma opção de design . O Ansible era melhor em orquestrar e ordenar as etapas, especialmente em vários servidores. Isso foi especialmente significativo em aplicativos em que a ordem incorreta das etapas pode levar a erros irrecuperáveis através da repetição dessas etapas até que uma consistência eventual possa ser alcançada.
Isso não é mais um problema e, portanto, as distinções são amplamente baseadas em preferências.
fonte