Ansible: Automatización para Ingenieros de Sistemas
Herramienta de automatización de código abierto para configurar sistemas y orquestar flujos de trabajo complejos

by David Pestana

Introducción a Ansible
Automatización sin agentes
Basado en SSH, sin necesidad de instalar agentes adicionales
Configuración como código
Utiliza YAML como lenguaje declarativo en playbooks
Gestión centralizada
Administración unificada de múltiples sistemas
¿Por qué usar Ansible?

Simple y legible
Curva de aprendizaje mínima
Multiplataforma
Linux, Windows, redes, contenedores, cloud
Ideal para DevOps
Administración de sistemas y despliegue de aplicaciones
Arquitectura de Ansible
Control Node
Máquina donde se ejecutan los playbooks
Instalación de Ansible requerida
Gestiona la orquestación
Managed Nodes
Servidores objetivo a configurar
No requieren software adicional
Accesibles vía SSH/WinRM
Inventario en Ansible

Listado de hosts
Define los servidores objetivo
Formatos flexibles
Soporta INI, YAML e inventarios dinámicos
Organización en grupos
Permite operaciones en conjuntos específicos
Playbooks
Formato YAML
Estructura clara y legible
Tasks y Handlers
Definen operaciones y respuestas
Declarativo
Describe estado final deseado
Soporta roles
Modularidad y reutilización
Módulos de Ansible
Gestión de paquetes
  • apt, yum, dnf, pip
  • Instalación declarativa
Operaciones de archivos
  • copy, template, file
  • Creación, modificación, permisos
Servicios y sistema
  • service, systemd, reboot
  • Control de estado operativo
Roles y Reutilización
Estructura estandarizada
Organización predefinida de directorios y archivos
  • tasks, handlers, vars, templates
  • defaults, files, meta
Compartición de código
Reutilización entre proyectos
  • Facilita testing y colaboración
  • Versiones y dependencias
Ansible Galaxy
Repositorio de roles públicos
  • Miles de roles disponibles
  • Comunidad activa
Variables y Plantillas
Definición de variables
Múltiples niveles: playbook, host, grupo
Jinja2 para plantillas
Generación dinámica de configuración
Personalización por entorno
Dev, test, producción con mismos playbooks
Casos de Uso Comunes
Aprovisionamiento
Configuración inicial de servidores
CI/CD
Despliegue automatizado de aplicaciones
Mantenimiento
Backups y parcheado automatizado
Made with