🚧Ansible

Ansible es una herramienta de código abierto para la automatización de TI, la gestión de la configuración y la implementación de aplicaciones. Pero, ¿por qué Ansible? Pues por que es fácil de usar, sin agentes y construido en Python. Además, es compatible con varias plataformas como Linux, Windows y proveedores de nube.

Arquitectura

Mirar artículos: https://x.com/devops_tech/status/1435487571488903172?s=20

Glosario

A continuación un glosario de terminos sobre Ansible que debes conocer:

  • Playbooks: Estos son archivos YAML donde defines tareas. Piense en ellos como un libro de recetas para su automatización.

  • Modules: Estas son las unidades de trabajo en Ansible. Se encargan de tareas como instalar paquetes, copiar archivos y administrar servicios.

  • Inventories: Una lista de sus nodos administrados. Puede ser un archivo simple o dinámico, extraído de proveedores de la nube u otras fuentes.

  • Tasks: Las acciones individuales en el playbook. Los ejemplos incluyen instalar software, configurar archivos y administrar servicios.

  • Roles: Manera de organizar los playbooks. Le permiten reutilizar tareas y variables en múltiples manuales. ¡Piensa en ellos como una estructura de carpetas!

  • Handlers: Tareas especiales que solo se ejecutan cuando las activa otra tarea. Útil para acciones como reiniciar un servicio después de un cambio de configuración.

  • Setup module: Reúne datos sobre sus nodos administrados, como direcciones IP, detalles del sistema operativo, etc. Útil para tomar decisiones informadas en los manuales

  • Templates: Usa plantillas Jinja2 para administrar tus archivos de configuración. Es poderoso y te permite generar configuraciones dinámicamente.

  • Ansible galaxy: Un centro para buscar y compartir contenido de Ansible. ¡Explora y descarga roles creados por la comunidad!

  • Comandos ad hoc: Ejecute tareas rápidas y únicas sin escribir un manual. Ideal para cambios inmediatos o resolución de problemas.

  • Ansible tower: Una interfaz de usuario basada en web para gestionar Ansible. Proporciona control, seguridad y delegación. ¡Es la forma empresarial de escalar Ansible!

Artículos sobre Ansible:

Ansible vs. Terraform

Mientras que Ansible se la define como "herramienta de orquestación", Terraform es una "herramienta de aprovisionamiento". Ambas son herramientas populares que se utilizan para administrar infraestructuras y automatizar las implementaciones virtuales, pero tienen diferentes propósitos y características:

  • Poderosa herramienta de automatización de IT: se enfoca en la administración y orquestación de la configuración. Le permite definir y mantener el estado deseado de los sistemas, lo que lo hace ideal para tareas como la instalación y configuración de software y la gestión continua del sistema.

  • Funciona mediante playbooks en YAML: para describir el estado deseado de sus sistemas. Opera de manera automática, donde el nodo de control envía instrucciones a los nodos administrados.

  • Utiliza SSH o WinRM para conectarse a sistemas remotos: esto, lo hace independiente de la plataforma.

  • Automatización: de implementaciones de aplicaciones y la gestión de la configuración en todos los sistemas.

  • Simplicidad y naturaleza sin agentes: No es necesario instalar ningún sw adicional en los nodos administrados, por lo que es fácil comenzar.

  • Amplia gama de módulos: aportados por la comunidad, que brindan una amplia funcionalidad.

Entonces, ¿cuál es mejor?

En conclusión, exploremos la cuestión de qué herramienta es mejor:

Es importante recordar que Ansible y Terraform no son mutuamente excluyentes. De hecho, se complementan bien. Puedes aprovechar Ansible para la gestión de la configuración y utilizar Terraform para aprovisionar la infraestructura subyacente. ¡Ambas herramientas son activos valiosos en el kit de herramientas DevOps!

En última instancia, la opción "mejor" depende de sus necesidades específicas. Hay que considerar factores como el tamaño del proyecto, la complejidad, los requisitos de infraestructura y la experiencia del equipo. Evalúa si priorizas la gestión de la configuración o el aprovisionamiento de infraestructura.

Última actualización