Ansible es una plataforma de software libre para configurar y administrar ordenadores.
[2] Gestiona nodos a través de SSH y no requiere ningún software remoto adicional (excepto Python 2.4 o posterior[3]) para instalarlo.
Dispone de módulos que trabajan sobre JSON y la salida estándar puede ser escrita en cualquier lenguaje.
[10] Con Ansible se pueden aprovisionar las últimas plataformas en la nube, host virtualizados e hipervisores, dispositivos de red y servidores físicos.
Compañías como Rackspace, CSC, HP, Cisco e IBM confían en Ansible para mantener sus nubes OpenStack disponibles de manera simple y segura.
Como la mayoría del software para administrar configuración, Ansible distingue dos tipos de servidores: controladores y nodos.
Los módulos son guardados temporalmente en los nodos y se comunican con la máquina de control a través del protocolo JSON sobre una salida estándar.
Con la arquitectura sin agentes los nodos no necesitan instalar ni ejecutar en segundo plano ningún proceso que se comunique con la máquina de control.
El inventario está descrito por un archivo de configuración, en formato INI, cuya ubicación por defecto es /etc/ansible/hosts.
Básicamente una tarea no es más que una llamada a un módulo de Ansible.
Las tareas son ejecutadas en orden, de una en una, contra cada máquina que encaja con el patrón del host, para luego seguir con la próxima tarea.
Si las cosas fallan, simplemente hay que corregir el Playbook y ejecutar nuevamente.
Cada tarea debe tener un nombre, que está incluido en la salida de la ejecución del Playbook.
Los sistemas operativos soportados en las máquinas controladoras incluyen la mayoría de las distribuciones de Linux y Unix, tales como Red Hat, Debian, CentOS, OSX, y BSD, entre otros.
[17] Sin embargo es posible utilizarlo mediante las siguientes configuraciones: máquina virtual con Linux, Bash de Ubuntu en Windows, Cygwin y Vagrant.
[12] Ansible es utilizado por Atlassian, Twitter, OneKingsLane, EverNote, TrunkClub, edX, hootsuite, GoPro y Care.com, además de muchos otros.