Ansible: El «Motor de Acción» para tu Estrategia AIOps
En este video vas a aprender, paso a paso, cómo empezar a automatizar tus tareas con Ansible. Verás cómo funciona su lógica, cómo definir un inventario, ejecutar tus primeras tareas y convertirlas en playbooks reutilizables. Al final, vas a entender no solo cómo usar Ansible, sino por qué puede cambiar por completo la forma en que gestionas tu infraestructura: con más control, menos errores y mucho más orden.
Este glosario te servirá para entender, sin rodeos, las piezas de Ansible que vas a tocar a diario: desde su forma “sin agentes” y la idempotencia, hasta cómo se organizan inventarios, playbooks y comandos ad-hoc para automatizar despliegues con cabeza y sin sustos.
- Ansible
- Es la caja de herramientas para describir cómo quieres que quede un sistema y dejar que la herramienta lo lleve hasta ese estado sin montar líos. Lo vas a usar cuando tengas que instalar paquetes, gestionar servicios o copiar configuraciones en varios servidores de una sentada.
- Nodo de control (Control Node)
- Es tu mesa de trabajo: el equipo donde instalas Ansible y desde el que orquestas todo. En el día a día es la máquina desde la que lanzas
ansibleyansible-playbookhacia el resto. - Nodos gestionados (Managed Nodes)
- Son los servidores o equipos de red a los que vas a cambiarles cosas. Los tocas sin instalarles nada permanente: Ansible se conecta, ejecuta lo que toca y se va sin dejar huella.
- Inventario
- Es el mapa de tu infraestructura: hosts y grupos escritos en un fichero (normalmente INI) con sus variables. En el día a día decides si lanzas contra web01, contra el grupo webservers o contra un metagrupo con
:children, y dejas ahí variables comunes para no depender de “lo que recuerdas”. - Módulos
- Son las herramientas específicas que hacen el trabajo:
aptpara paquetes,servicepara servicios,copypara archivos. En tu rutina encadenas módulos en tareas para pasar de intención a cambios reales. - Playbook
- Es el plano escrito en YAML que dice qué tareas se ejecutan, en qué orden y sobre qué hosts. Lo usas cuando algo deja de ser un one-liner y necesitas repetirlo sin improvisar.
- Tareas (Tasks)
- Son la unidad mínima: un módulo con sus parámetros y un nombre claro que explique qué pretende. Las ves correr una tras otra y sabes cuál cambió algo y cuál no.
- Jugadas (Plays)
- Son secciones del playbook que aplican un conjunto de tareas sobre un conjunto de hosts. Te sirven para separar, por ejemplo, lo que haces a webs de lo que haces a bases de datos en el mismo archivo.
- Handlers
- Son acciones que solo se disparan si algo cambió y las “avisan”. El típico caso: editas la config y el handler reinicia Nginx solo cuando hace falta, no en cada ejecución.
- Roles y Colecciones
- Roles empaquetan carpetas, plantillas, tareas y handlers para una función concreta; colecciones agrupan roles, módulos y plugins listos para compartir. Te aparecerán cuando empieces a reutilizar lo que haces en más de un proyecto.
- Facts
- Son datos que Ansible recoge de cada nodo (SO, IP, memoria, etc.) para tomar decisiones. En la práctica te permiten decir “si es Debian, usa apt; si es Red Hat, usa dnf” sin duplicar tareas.
- Arquitectura sin agentes
- No instalas daemons en los nodos: Ansible se conecta por SSH (Linux) o WinRM (Windows), ejecuta un script temporal y desaparece. Lo notarás porque reduce mantenimiento y dolores de cabeza de “agentes rotos”.
- Idempotencia
- Repetir una tarea deja el sistema igual de correcto. Esto es lo que te permite darle al playbook las veces que haga falta sin miedo a que “se pase de rosca”.
- Transporte SSH/WinRM
- Son los canales por los que Ansible entra a cada nodo. En tu día a día vas a cuidar claves, usuarios y permisos para que todo fluya sin pedir contraseña cada dos por tres.
- YAML
- Es el formato en el que se escriben los playbooks: legible, con indentación significativa. Un buen YAML con nombres claros evita que el equipo tenga que descifrar jeroglíficos a las tres de la mañana.
- Comandos ad-hoc
- Son tiros rápidos sin playbook:
ansible <grupo> -m <modulo> -a "<args>". Los usarás para comprobar conectividad conping, mirar ununame -ro asegurar que existe un directorio sin montar un fichero entero. - Modo simulación (
--check) - Es el “ensayo general”: te enseña qué cambiaría sin tocar nada. Es tu salvavidas antes de darle a producción y debería ser parte del ritual de cada cambio serio.
--limit- Restringe la ejecución a un subconjunto de hosts. Te sirve para probar en web01 antes de empujar al resto del grupo y evitar que un fallo menor se haga mayor.
- Verbosidad (
-v,-vv,-vvv) - Aumenta el detalle de salida. Cuando algo no cuadra,
-vvvte cuenta hasta la conversación SSH y te ahorra tiempo de diagnóstico. becomey-Kbecome: yeseleva privilegios (como sudo) para tareas que lo requieren;-Kpide la contraseña si tu política lo necesita. Es el punto donde combinas seguridad con automatización sin dejar puertas abiertas.- Ansible Vault
- Es el cifrado integrado para guardar secretos (claves, contraseñas) dentro de repos sin exponerlos. En la práctica te permite versionar configuración sensible sin sudar frío.
- Declarativo frente a imperativo
- En Ansible cuentas el estado deseado (“Nginx presente y arrancado”) y no la receta paso a paso. Esto hace tus cambios más legibles, repetibles y menos propensos a “sorpresas” por re-ejecuciones.
- Estructura del inventario (hosts, grupos,
:vars,:children) - Defines máquinas, las agrupas y asignas variables a nivel de grupo o de host; con
:childrencreas metagrupos. Así pasas de una lista suelta a un mapa con política y sin “configuración tribal”. - Fuente de verdad (SSOT) con inventario
- Cuando el inventario y sus variables se convierten en el sitio donde reside “lo real”. En el día a día evita discusiones y asegura que todos desplegáis desde los mismos datos versionados.

Ejemplo de Playbook:
---
- name: Instalar y configurar servidor web Nginx
hosts: webservers
become: yes
vars:
nginx_port: 8080
tasks:
- name: Asegurar que Nginx este instalado en su ultima version
ansible.builtin.apt:
name: nginx
state: latest
update_cache: yes
notify: Reiniciar Nginx
- name: Asegurar que Nginx esta arrancado y habilitado
ansible.builtin.service:
name: nginx
state: started
enabled: yes
handlers:
- name: Reiniciar Nginx
ansible.builtin.service:
name: nginx
state: restarted
Próximamente contenido premium
De esto trata el Vídeo
La automatización ya no es un lujo, es una necesidad. En un mundo donde todo cambia a una velocidad casi imposible de seguir, tener control, rapidez y consistencia ya no es opcional. Y ahí es donde Ansible se gana su lugar: combina simplicidad, escalabilidad y una claridad que se agradece. Su filosofía es directa y elegante: tú defines cómo quieres que esté tu sistema —por ejemplo, que un servicio esté instalado y funcionando— y Ansible se encarga del resto. Las veces que haga falta, sin romper nada y sin tener que instalar agentes en cada máquina.
En lugar de depender de tareas manuales o de esos scripts sueltos que solo entiende quien los escribió, Ansible organiza el trabajo como si tuvieras un taller perfectamente ordenado. Desde un nodo de control —que puede ser tu propio equipo o un servidor central— orquesta todo lo que pasa en los nodos gestionados, es decir, en los sistemas que quieres automatizar. Todo parte de un inventario, que funciona como un mapa vivo de tu infraestructura: ahí defines los hosts, los grupos y las variables que describen tu entorno. Sobre esa base, Ansible utiliza módulos (sus herramientas de trabajo) y playbooks, esos planos escritos en YAML donde especificas qué hacer, en qué orden y sobre qué máquinas.
Su arquitectura es una de esas cosas que enamoran por lo limpia que es. Cada vez que ejecutas una tarea, Ansible se conecta por SSH o WinRM, envía un pequeño script temporal, lo ejecuta, recoge el resultado y lo borra. Así de simple. No deja rastro. Esa ligereza lo hace especialmente seguro y confiable, ideal para entornos donde la estabilidad y la trazabilidad no se pueden negociar.
Y a medida que lo usas más, el inventario se vuelve el corazón del sistema. Deja de ser una simple lista de servidores para transformarse en la fuente de verdad de toda la operación: un espacio versionado y compartido donde las variables reemplazan a la memoria humana. Ese es, quizás, uno de los mayores poderes de Ansible: eliminar la “configuración tribal” y convertir el conocimiento técnico en algo ordenado, replicable y estandarizado.
Los comandos ad-hoc son el primer paso perfecto para empezar. Te permiten probar cosas rápidas, validar estados o hacer comprobaciones sin tener que escribir un playbook completo. Puedes verificar la conectividad, chequear versiones o asegurarte de que todo esté como debe, en cuestión de segundos. Pero claro, cuando una tarea empieza a repetirse, lo natural es convertirla en un playbook. Ese archivo en YAML se transforma en tu manual de operaciones: claro, legible y reutilizable.
Además, Ansible trae sus propios mecanismos de control para mantener el orden: validación de sintaxis, simulaciones con modo “dry run” para anticipar cambios y Ansible Vault para proteger información sensible. Con un flujo de trabajo bien estructurado y versionado, la automatización deja de ser una amenaza y pasa a ser una aliada de la estabilidad.
Y el resultado se nota enseguida: menos errores, despliegues más rápidos, configuraciones coherentes y una infraestructura que se entiende, se replica y se mantiene con confianza. Ansible no solo reduce el trabajo mecánico; también sienta las bases para una operación más inteligente, más conectada y lista para evolucionar hacia AIOps.
Y lo mejor es que todo empieza de forma sencilla: defines un inventario, pruebas una conexión, ejecutas una tarea y la conviertes en playbook. A partir de ahí, el crecimiento viene solo. Es la evolución natural hacia una infraestructura gobernada por datos, no por la improvisación.

