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.