DevOps – Tool
¿Qué es Ansible?
Ansible es una herramienta de administración de configuración de TI de código abierto, implementación y orquestación. Su objetivo es proporcionar grandes ganancias de productividad para una amplia variedad de desafíos de automatización. Esta herramienta es muy simple de usar pero lo suficientemente potente como para automatizar complejos entornos de aplicaciones de TI de varios niveles.
¿Por qué necesitamos Ansible?
Máquina controladora: la máquina donde está instalado Ansible, responsable de ejecutar el aprovisionamiento en los servidores que está administrando.
Inventario: un archivo de inicialización que contiene información sobre los servidores que está administrando.
Tarea: un bloque que define un único procedimiento para ser ejecutado, p. Instala un paquete.
Módulo: un módulo generalmente abstrae una tarea del sistema, como tratar con paquetes o crear y cambiar archivos. Ansible tiene una multitud de módulos incorporados, pero también puede crear otros personalizados.
Rol: una forma predefinida para organizar libros de jugadas y otros archivos a fin de facilitar compartir y reutilizar partes de un aprovisionamiento.
Hechos: variables globales que contienen información sobre el sistema, como interfaces de red o sistema operativo.
Controladores: se utilizan para activar cambios en el estado del servicio, como reiniciar o detener un servicio.
Ventajas de usar Ansible
Simple: Ansible usa una sintaxis simple escrita en YAML llamada playbooks. YAML es un lenguaje de serialización de datos legible por humanos. Sin agente: finalmente, ansible no tiene agentes. No hay agentes / software o puertos de firewall adicionales que deba instalar en los sistemas cliente o hosts que desea automatizar.
Potente y flexible: Ansible tiene potentes funciones que le permiten modelar incluso los flujos de trabajo de TI más complejos.
Eficiente: ningún software adicional en sus servidores significa más recursos para sus aplicaciones. Además, como los módulos ansible funcionan vía JSON, ansible es extensible con módulos escritos en un lenguaje de programación que usted ya conoce.
¿Qué puede hacer Ansible?
Aprovisionamiento: ayuda a optimizar este proceso Gestión de la configuración: establece y mantiene la coherencia del rendimiento del producto al registrar y actualizar la información detallada que describe el hardware y el software de una empresa.
Orquestación: las configuraciones por sí solas no definen tu entorno. Debe definir cómo interactúan múltiples configuraciones y garantizar que las piezas dispares se puedan gestionar como un todo.
Despliegue de aplicaciones: cuando define su aplicación con ansible y gestiona la implementación con una torre ansible, los equipos pueden administrar de manera efectiva todo el ciclo de vida de la aplicación, desde el desarrollo hasta la producción.
Seguridad y cumplimiento: cuando define su política de seguridad en ansible, escaneando y remediando el sitio. La amplia política de seguridad se puede integrar en todo lo que se implementa.
Arquitectura Ansible
La arquitectura Ansible es bastante sencilla. Consulte el diagrama a continuación para comprender la arquitectura ansible.
Ansible en DevOps
En DevOps, como sabemos, el trabajo de desarrollo y operaciones está integrado. Esta integración es muy importante para el diseño moderno de aplicaciones basadas en pruebas, por lo tanto, ansible integra esto al proporcionar un entorno estable tanto para el desarrollo como para las operaciones, lo que resulta en una orquestación fluida. Consulte la imagen siguiente para ver cómo ansible se adapta a DevOps.