Sé Puppet por experiencia (limitada) y he notado que en la gestión de la configuración ahora hay una fuerte tendencia hacia Ansible.
Por un lado, entiendo que Ansible no requiere un agente, porque hace un uso inteligente de ssh
.
Por otro lado, estas son características que le han gustado a Puppet:
- acceso al estado y al historial de configuración de todo el sistema (PuppetDB) a través de la API REST
- capacidad de mantener copias de seguridad de archivos sobrescritos (archivadores)
- capacidad de encriptar parte de las configuraciones de Hiera (
.eyaml
)
Entre estos, PuppetDB me parece el más importante y útil (por ejemplo, para la integración con otras herramientas). Por lo tanto, mi pregunta es la siguiente: ¿Ansible tiene algo similar a PuppetDB, es decir, un componente que ofrece una API donde, por ejemplo, se le podría preguntar "¿Qué paquetes están instalados en el host x ?" o "¿En qué hosts es el paquete y instalado?"
(Esta pregunta se migró desde StackOverflow ).
ACTUALIZACIÓN Una desventaja significativa de Puppet es mi experiencia hasta el momento: no tanto el hecho de que requiere un agente (por lo que he visto, el uso de Python por parte de Ansible también introduce un tipo de agente en forma de intérprete de Python ;-), pero que quiere que su agente actúe como root
único y siempre.
root
derechos de acceso en un clúster de servidores, pero que aún puede usar Ansible para administrar una gran aplicación web allí. Además, hay SA que no inician sesión como root
, pero en su sudo
lugar usan más escasamente.
root
? Reemplaza la necesidad de que una SA inicie sesión y haga las cosas manualmente, por lo tanto, debe poder hacer cualquier cosa que una SA pueda hacer.