Me gustaría entender las diferencias entre Puppet y Ansible, especialmente qué tipo de limitaciones de Puppet tiene en comparación con Ansible.
¿Hay alguna cosa que no puedas hacer en Puppet, pero sí en Ansible? En otras palabras, ¿por qué algunas personas se mudan de Puppet a Ansible?
ansible
comparison
puppet
kenorb
fuente
fuente
Respuestas:
Por supuesto, hay varios pros y contras para cada uno de Puppet, Ansible, Chef y agrega tu herramienta favorita aquí también. Así que intentaré alejarme de la opinión y compartir lo que es genial en Ansible de hecho.
La capacidad principal que coloca a Ansible por encima de los demás es no tener que depender de algún agente personalizado / adicional que se ejecute en los nodos de destino, sino que se basa solo en conexiones ssh. Sí, todavía requiere un servidor ssh, Python y un montón de bibliotecas de Python en los nodos, y si su distribución de elección (o, buena suerte, hay algunos nodos de Windows) no se envía con ellos, será un poco doloroso para el bootstrap. Pero eso es poco probable, y puede incluso hacerte pensar de nuevo en tu distribución.
Eso simplificará el monitoreo, no consumirá recursos adicionales, no forzará al sistema a ejecutar un demonio como root todo el tiempo, y en general se siente mejor dentro de la filosofía de UNIX. Chef tiene
chef-solo
, Puppet se puede ejecutar sin maestro, pero ambos trabajan "en la otra dirección", mediante la clonación y a través de ganchos, respectivamente. Mientras que con Ansible, una fusión en el repositorio de origen puede desencadenar la implementación de una manera con la que todos nos sentimos cómodos, ya sea en Jenkins, en el maestro git o en alguna otra herramienta como Rundeck, por ejemplo.fuente
template
módulo Ansible lo hace bastante fácil.No, las personas que se alejan de Puppet to Ansible (o viceversa) no tienen nada que ver con lo que se puede o no se puede lograr con ninguna de las herramientas. Marioneta / Chef / Ansible: es principalmente una cuestión de gustos.
Por ejemplo, Ansible se basa en Python, y los desarrolladores de Python generalmente se sienten más a gusto con él (no es necesario aprender un DSL) o Ruby (para Chef). Es más fácil para los desarrolladores de Python extender Ansible también.
Pero, en esencia, todos son muy similares en términos de lo que puedes lograr. Algunos tienen fortalezas relativas en algunas áreas y debilidades en otras, pero típicamente la elección entre ellos se realiza por estilo / cultura / preferencia del equipo.
fuente
Hasta Puppet 4.0 no había una manera fácil de organizar la aplicación distribuida en múltiples servidores o servicios, ya que era difícil ordenar acciones específicamente en Puppet, que era una opción de diseño . Ansible fue mejor orquestando y ordenando los pasos, especialmente en varios servidores. Esto fue especialmente significativo en aplicaciones donde el orden incorrecto de los pasos podría conducir a errores irrecuperables mediante la repetición de esos pasos hasta que se pudiera alcanzar una consistencia eventual.
Eso ya no es un problema y, por lo tanto, las distinciones se basan principalmente en las preferencias.
fuente