¿Cuál es la diferencia entre Ansible, Ansible Galaxy y Ansible Tower?

Ansible es una herramienta de gestión de configuración de código abierto y una plataforma de automatización de TI. Ayuda a automatizar el aprovisionamiento de software, la gestión de la configuración y la implementación de aplicaciones.

Ansible no es como otras aplicaciones de administración de configuración. Esto es lo que lo diferencia de otras herramientas de administración de configuración como Chef, CFEngine, Salt y Puppet.

Ansible Tower proporciona una interfaz basada en web para administrar Ansible. Los usuarios de Ansible querían una interfaz intuitiva que fuera fácil de usar para implementaciones rápidas y monitoreo de configuración.

Ansible Tower fue la respuesta de la gerencia de Ansible. Cada idioma y cada marco tiene sus propias capacidades y matices únicos. Esta publicación discutirá las diferencias entre Ansible, Ansible Tower y Ansible Tower.

Introducción a Ansible

Ansible es una herramienta de código abierto para la gestión de la configuración que automatiza el aprovisionamiento de software y la gestión de la configuración. Puede controlar y configurar varias máquinas desde una máquina servidor.

Funciona con un sistema basado en push donde la configuración se «empuja» desde la máquina maestra a todos sus nodos.

Las configuraciones se escriben usando YAML. Son fáciles de entender y lo suficientemente simples para que los administradores de servidores los creen. Funciona sobre SSH y utiliza OpenSSH como capa de transporte.

Todas las configuraciones de Ansible se pueden encontrar en un conjunto de archivos YAML que llamamos playbook. Este libro de jugadas contiene tareas o jugadas. Para configurar nodos, una tarea utiliza un módulo.

Los libros de jugadas son un lugar donde se pueden escribir configuraciones. Todas las tareas escritas en un libro de jugadas se ejecutan en el mismo orden. Es compatible con la ejecución síncrona y asíncrona.

Puede ver varias máquinas host en la imagen de arriba. Estas máquinas host se utilizan para ejecutar todas las configuraciones que hemos creado.

Ventajas de Ansible:

  • Es gratis y de código abierto.
  • Simple: no hay problemas para configurar Ansible
  • Potente: con Ansible, puede configurar miles de máquinas simultáneamente
  • Flexible: Se puede utilizar en múltiples entornos.
  • Sin agente: no se basa en nodos de agentes, como Jenkins.
  • Eficiente: No requiere ningún software adicional para funcionar.

Contras de Ansible:

  • difícil de instalar
  • No se ejecuta en Windows
  • Compatibilidad con versiones anteriores

Introducción a la galaxia ansible

Ansible Galaxy permite a los usuarios compartir y obtener funciones. Ansible Galaxy fomenta el uso de roles reutilizables en la configuración del servidor. Ansible Galaxy se usa a menudo en proyectos.

Ansible Galaxy es básicamente un repositorio público de descripciones de funciones de Ansible. Los archivos README se incluyen con todos los roles. Proporcionan información sobre el uso y las variables del rol.

Ansible Galaxy tiene muchas funciones que están en constante evolución y crecimiento. Los roles le permiten desglosar libros de jugadas más grandes y crear una estructura estructurada. Puede modificar sus propios roles y luego usarlos como desee.

Estructura de funciones de Ansible Galaxy

  • README.md es el archivo Léame que describe el rol. El archivo Léame contiene todos los detalles sobre los parámetros de entrada del rol y un ejemplo de yml.
  • tareas: todas las tareas se pueden dar de alta por el rol en tareas. El punto de entrada para el Rol es Main.yml. Aquí es donde comienza la ejecución. Este archivo puede contener otros archivos.
  • controladores: esta categoría incluye controladores que se pueden usar en este rol o en cualquier otro rol.
  • valores predeterminados: las variables predeterminadas para el rol.
  • vars: variables que son más importantes que los valores predeterminados para Rol.
  • Archivos: estos archivos se pueden implementar mediante Rol.
  • plantillas: esta sección contiene plantillas que se pueden usar a través de Rol.
  • meta: los metadatos se pueden usar para definir los roles en meta. Este archivo también debe incluir las dependencias de roles.
  • tests – Pruebas de CI a ejecutar.
  • biblioteca: incrustación de módulos o complementos en funciones. No creado por el comando init. También puede crear un módulo personalizado en Python en esta carpeta y luego usarlo en sus tareas.

Ansible Galaxy es una herramienta que le permite crear y administrar roles. Verá nuevas versiones de Ansible y habrá cambios. La versión 2.2.8 de Ansible incluía la función de recopilación. El contenido de Ansible se distribuye en colecciones. Se utilizan para empaquetar y distribuir módulos, playbooks y complementos.

Ventajas de Ansible Galaxy:

  • Ubique, reutilice y comparta contenido relacionado con Ansible de forma centralizada
  • Descargue fácilmente roles reutilizables para instalar la aplicación
  • Aumenta la velocidad de despliegue

Contras de Ansible Galaxy

  • Está impulsado por la comunidad, por lo que no se garantiza trabajar en un módulo.
  • Muchos roles de Ansible galaxy tienen mala documentación
  • La mayoría de los roles de Ansible Galaxy no son idempotentes

Introducción a la torre Ansible

Ansible Tower es la interfaz de usuario de Ansible. Es una solución basada en web que puede ser utilizada por muchos tipos diferentes de equipos de TI.

Ansible Tower se puede comparar con el tablero de un automóvil. El tablero le muestra toda la información que necesita sobre el estado de su automóvil: velocidad, nivel de aceite, gasolina restante, etc. Ansible Tower parece un tablero, pero Ansible es el motor.

Ansible Tower permite a los usuarios ejecutar tareas de forma remota a través de una interfaz gráfica de usuario. Los trabajos de Ansible se pueden ejecutar a través de playbooks. Estos libros de jugadas se pueden ejecutar mediante la CLI de Ansible. Ansible Tower, sin embargo, permite que la administración y ejecución del libro de jugadas se realice a través de la GUI.

Puede ejecutar libros de jugadas preexistentes o crear los suyos propios. Ansible Tower también ofrece notificaciones integradas. Esto permite que se notifique a equipos específicos cuando se completa o falla un trabajo. Este tipo de comunicación cruzada es vital para cualquier organización.

También proporciona control de acceso basado en roles (RBAC), que le permite verificar quién está autorizado para ejecutar los trabajos. Esto permite que solo ciertos usuarios ejecuten trabajos en Ansible Tower. A menudo, esto es necesario para cumplir con las normas de seguridad de la industria.

Proporciona RBAC y también muestra un registro de auditoría que detalla quién era responsable de qué trabajo en un momento dado. Esto proporciona seguridad adicional que es difícil de encontrar si usa Ansible solo.

Ansible Tower permite la ejecución remota de código en diferentes aplicaciones. Una máquina virtual puede estar en una condición incorrecta y debe reiniciarse, y Ansible Tower lo hace fácil y seguro.

La instalación remota de software se puede utilizar para reparar rápidamente agujeros de seguridad o restablecer contraseñas. Ansible Tower es su ventanilla única para toda su infraestructura de red y máquinas virtuales implementadas a través de Ansible.

Ansible Tower, a diferencia de Ansible, no es gratuito. Hay dos versiones de Ansible Tower: Premium y Standard. Depende de usted y de los requisitos de TI de su empresa qué versión es la mejor. Las ediciones estándar son adecuadas para la mayoría de las operaciones de TI. Premium está diseñado para DevOps de misión crítica.

Red Hat le proporcionará la información de precios exacta después de que se comunique con ellos. La edición estándar costará aproximadamente $10,000 por año para 100 nodos. El Premium le costará alrededor de $ 14,000 por año por la misma cantidad de nodos.

Ventajas de Ansible Tower:

  • diseño sencillo
  • Le ayuda a crear una canalización de CI/CD para la gestión del flujo de trabajo
  • Permite programar un trabajo y notifica cada error.
  • Gestión gráfica de inventario
  • Muy fácil de configurar

Contras de Ansible Tower:

  • Caro
  • basado en suscripción
  • Fusión de resolución de conflictos imposible/poco clara
  • La depuración es compleja

Ansible contra Ansible Galaxy contra Ansible Tower

Ansible se puede utilizar como una herramienta de automatización de TI. Puede implementar software y configurar sistemas. También puede orquestar tareas de TI más complejas, como implementaciones continuas o actualizaciones acumulativas sin tiempo de inactividad. Los objetivos principales de Ansible son la simplicidad y la facilidad de uso.

Ansible Tower, por otro lado, se describe como «El cliente Git más poderoso para Mac y Windows». Puede usar todas las potentes funciones de Git en una GUI que es más productiva. Ansible Galaxy se puede utilizar para almacenar funciones de Ansible. Ansible Galaxy es el equivalente de PyPI para Python o Maven para Java.

Ansible Tower no se puede utilizar sin Ansible. Ansible Tower se puede utilizar con Ansible Tower. Ansible es el motor que impulsa la gestión y la implementación de su infraestructura.

Ansible Tower nos permite ver el funcionamiento interno de todo. Le permite ver y controlar el cumplimiento de seguridad de la infraestructura de su organización.

Ansible Tower puede proporcionar RBAC para sus implementaciones de Ansible. Ansible Tower también es una excelente opción si está buscando profesionales que no sean expertos en codificación para revisar su infraestructura.

Comparación de Ansible vs Ansible Tower vs Ansible Galaxy:

AnsibleAnsible TowerAnsible GalaxyHerramienta de administración de configuración de código abiertoInterfaz de usuario de AnsibleRepositorio de roles y colecciónEjecuta libros de jugadas a través de CLIEjecuta libros de jugadas a través de GUIRejecuta ansible-galaxy usando CLILanzamiento inicial en 2012Lanzamiento inicial en 2015Lanzamiento inicial en 2016GratisUsoComienza en 5000 $ por año para 100 nodosGratis de usarMuy simple de configurar up and useOfrece visibilidad en todo su entorno AnsiblePuede reutilizar bloques de código en diferentes playbooks

Conclusión

Entonces, eso fue todo sobre Ansible, Ansible Tower y Ansible Galaxy y las diferencias entre Ansible, Ansible Galaxy y Ansible Tower. Una organización debe considerar sus requisitos con respecto a Ansible Tower porque es muy costoso. Pero, en general, Ansible es una excelente herramienta de CM para cualquier entorno similar a Linux.

También le pueden interesar las tareas de Sysadmin que puede automatizar con Ansible.