Relatos

Puppet ou Ansible?

Dois meses atrás, durante uma entrevista de emprego, fui questionado se preferia Puppet ou Ansible e o por quê.

“Ansible, porque é assim que minha cabeça funciona”,  eu disse. Num primeiro momento pareceu uma resposta sensata mas logo depois percebi que o recrutador esperava algo mais técnico. Este é o meu primeiro post e também uma forma de auto-retratação. 🙂

Primeiramente queria dizer que meu primeiro contato com Puppet foi num evento do Tá safo!, apresentado pelo casal partiu. Esse evento foi duca.

Ambos são ferramentas de gerência de configuração, como o Salt e Chef. O maior objetivo é reduzir a configuração de novos servidores, automatizando a instalação de pacotes básicos, configuração de serviços e um possível monitoramento. Mas vamos aos pontos-chave:

puppet

  • Desenvolvido em Ruby e possui uma linguagem DSL própria.
  • Necessita de uma configuração inicial dos serviços, certificados SSL e instalação de pacotes no SO cliente.
  • Possui a maior adesão de mercado, o que significa também ter mais documentação, profissionais treinados e suporte.
  • Possui daemons que constantemente atualizam as configurações e inventário.

ansible

  • Desenvolvido em Python e utiliza YAML para arquivos de configuração.
  • Não possui daemons e conecta nos clientes via SSH, o que torna uma solução praticamente plug and play.
  • É relativamente recente, pouca documentação disponível e suporte.
  • Não possui daemons, atualizando os artefatos na inicialização de cada processo.

O Puppet tornou-se uma solução corporativa mais focada em grandes infraestruturas. As funcionalidades de monitoramento, atualização automática das configurações, banco de dados, API entre outras a tornam uma ferramenta subtilizada por pequenas soluções. Quando respondi que “Ansible é como minha cabeça funciona”, quis dizer que prefiro uma solução com menor curva de aprendizado, implementação em Python, que tenho mais familiaridade e que utiliza o bom e velho SSH pra conexão. Na verdade escolher um é difícil pois ambas as tecnologias resolvem o mesmo conjunto de problemas com abordagens diferentes e a maioria dos cenários os comportam muito bem.

Nos próximos posts, falarei sobre cada um com mais informações técnicas. Até o próximo!

Um comentário

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *