¿Qué es Ansible?
Ansible se trata de un motor que automatiza que tareas de TI engorrosas, repetitivas o complejas, como la gestión de la configuración, el aprovisionamiento de la nube, el despliegue de software y la orquestación dentro del servicio entre otras muchas características… Te contamos Todo sobre Ansible
Ansible se utiliza para los despliegues (deployments) de varios niveles y modela toda la infraestructura de TI en un solo despliegue en lugar de manejar cada uno por separado. La arquitectura de Ansible no requiere agentes ni una arquitectura de seguridad personalizada. El despliegue es un lenguaje simple como el inglés que se utiliza en Ansible llamado YAML que significa «YAML Ain’t Markup Language».
Manejar Ansible resulta bastante fácil; envía pequeños programas llamados «Módulos Ansible» a tus nodos para que se conecten. Puede desplegar y conectar usando el agente SSH para ejecutar los módulos y luego lo elimina cuando termina. No se requieren servidores, demonios o bases de datos, estos módulos pueden residir en cualquier parte de las máquinas. Necesita trabajar con cualquier editor de texto o programas de terminal y junto con un sistema de control de versiones para gestionar los cambios en el contenido. Ansible tiene más de 750 módulos incorporados hasta ahora.
Con Ansible las contraseñas son compatibles, sin embargo, puede utilizar claves SSH (SSH Key) con los agentes ssh como uno de los métodos para trabajar con Ansible. Puedes crear cualquier cuenta de usuario y el usuario root es necesario. Para configurar qué máquinas pueden acceder a qué hosts hay un módulo llamado «authorized_key».
Puede añadir máquinas al Ansible en un formato de texto simple y gestionar su inventario. Puede utilizar el inventario y la información variable de fuentes como Rackspace, EC2 y Openstack, etc.
Si necesitas escribir tu código entonces también puedes usar Ansible en lenguajes como Python, Ruby, y Bash, etc que devuelven JSON. Puedes escribir tus módulos, API y plugins.