É 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.