Conecta con nosotros

A Fondo

Ansible Tower, la solución de automatización integral para la TI moderna

Publicado el

Ansible

2020 ya es prácticamente cosa del pasado y con él no se va solo un año: se va toda una década en la que la evolución tecnológica ha marcado el desarrollo del mundo de los negocios. Por englobarlo en un concepto, podríamos calificar a la etapa que dejamos atrás como la década de la nube, y es que los avances en este frente han sido totales: virtualización, contenerización, orquestación, automatización

Hablando de los proyectos concretos que han transformado la TI moderna, todos giran en torno a una nueva cultura empresarial que se ha significado como el mayor motor de innovación conocido hasta la fecha: el modelo de desarrollo del código abierto. Sobre este fenómeno han pivotado los grandes pioneros del sector tecnológico, con Linux como punta de lanza: OpenStack, Docker, Kubernetes… Proyectos que han surgido en la presente década y que lo han cambiado todo.

Además, lo han cambiado todo muy rápido: primero a modo de tendencia como software de vanguardia, para terminar posicionándose como las referencias del sector. Así, hemos visto cómo de las necesidades surgían soluciones, de estas nuevas necesidades y en esas estamos. Dicho de otra forma, a partir de la necesidad de exprimir e impulsar las capacidades de los servidores explotó la virtualización, luego llegaron las infraestructuras en la nube, los contenedores, la orquestación y, por último, la automatización.

Porque si bien cada nuevo avance ha traído consigo innumerables beneficios, también ha generado una complicación exponencial en la gestión de la pila de software de la que se compone cualquier infraestructura moderna. De ahí que la automatización se haya convertido en el proceso con el que dominarlos a todos. Un proceso, el de la automatización, que en el ecosistema de Linux y la nube de código abierto tiene varios pretendientes y un claro referente: Ansible.

Ansible

Al igual que todos los grandes proyectos a los que hemos hecho alusión, Ansible nace de una necesidad: automatizar los procesos de implementación, aprovisionamiento, administración y configuración requeridos en cualquier infraestructura de TI moderna, una labor cuya complejidad va en aumento a medida que la infraestructura crece. En otras palabras, no es lo mismo distribuir software, aplicar actualizaciones y realizar configuraciones repetidamente en un sistema a hacer en cien o mil, con requisitos que en ocasiones pueden coincidir o no, o hacerlo solo en parte.

Por otro lado, introducir un nuevo elemento en una infraestructura con el propósito de simplificar las operaciones, no puede -o no debe- añadir una capa de dificultad adicional, sino todo lo contrario. Esa esa es la principal ventaja de Ansible en comparación a soluciones similares: ha sido diseñado para ejecutar tareas de despliegue y mantenimiento de manera sencilla y eficiente, con soporte tanto para sistemas tipo Unix como Linux, como Windows.

La compatibilidad y simplicidad de Ansible se entienden por la propia idiosincrasia técnica de la herramienta, puesto que Ansible no precisa de agentes complementarios, es decir, de componentes que lo integren con los diferentes clientes, ya que se conecta de forma remota y temporal con cada uno de ellos a través de protocolos seguros como SSH o WinRM. Esta es una característica muy relevante, gracias a la cual la implementación inicial de Ansible se puede efectuar con rapidez y sin perjuicio alguno de rendimiento para los clientes.

Ansible Automation Platform

En cuanto a su funcionamiento, Ansible elimina la necesidad de utilizar lenguajes de programación complejos al disponer de su propio lenguaje declarativo para describir la configuración del sistema, basado en un lenguaje de marcado para datos (YAML en su implementación para Python) también muy sencillo. De este modo, transmitir tareas consiste básicamente en escribir de manera bastante natural cuál es la tarea en cuestión y apuntar hacia el cliente en el que se ejecutará la misma.

¿Y cuándo no se trata de una simple tarea, sino de varias, que además afectarán a decenas o centenares de equipos, que se deben repetir con periodicidad o bajo demanda, que deben atender a variables en relación a la coyuntura, etc? Para tareas complejas, Ansible hace uso de los llamados playbooks, conjuntos de instrucciones realmente flexibles con los que facilitar y agilizar la automatización al extremo. Los playbooks, por lo tanto, son como las recetas de Ansible, repleta de ingredientes que se pueden modificar según convenga.

Todo lo expuesto hasta este punto no es más que una breve introducción de las capacidades fundamentales de Ansible, cuya funcionalidad plena abarca otros muchos aspectos y cuya solución más refinada se encuentra en la forma de Ansible Tower y,  por extensión, de Ansible Automation Platform, la suite destinada a competir con los productos dirigidos al sector empresarial.

Ansible Tower

Así como nos referimos a OpenShift como la plataforma empresarial de Kubernetes, con Ansible Tower podríamos hacerlo de igual modo. De hecho, podríamos hacerlo con toda la literalidad, dado que Red Hat es la compañía que desarrolla Ansible y Ansible Tower es su solución empresarial. El software de fondo, el motor de orquestación para la automatización, es el mismo, mientras que las funcionalidades del segundo son muy superiores.

Red Hat Ansible

Ansible Tower proporciona una interfaz gráfica única en la que centralizar y orquestar toda la infraestructura TI de manera visual, extendiendo su funcionalidad con características esenciales en implementaciones de TI empresariales a gran escala entre las que se incluyen:

  • Control de acceso basado en roles con el que garantizar que los usuarios individuales y los grupos de usuarios tengan un acceso adecuado y seguro al entorno.
  • Plataforma centralizada sobre la que ejecutar playbooks, realizar registros y administrar el inventario de clientes en un entorno específico.
  • Vista única del estado y el estado de la implementación con información en tiempo real de la ejecución ejecución de tareas.
  • Programación de tareas para su ejecución automática y notificaciones integradas.

Otra característica destacada de Ansible Tower es el ofrecer una API REST y soporte para la línea de comandos con la que interactuar, a través de la cual es posible inyectar comandos directamente en Ansible Tower para automatizar niveles más profundos de configuración del estado deseado y reducir los errores potenciales que se presentan con la administración manual de la infraestructura. Esta función permite también integrar herramientas externas y procesos existentes en el flujo de trabajo.

Por supuesto, otra ventaja de Ansible Tower con respecto a Ansible es la integración con el ecosistema de productos y servicios de Red Hat, donde es posible ejecutar Ansible Tower como un servicio de clústeres de contenedores en OpenShift. Esa y otras funcionalidad son las que en su conjunto se encuentran disponibles como Ansible Automation Platform, la plataforma de automatización empresarial de la compañía.

Enfocado en las nuevas tecnologías empresariales y de usuario final. Especializado en Linux y software de código abierto. Dirijo MuyLinux y escribo en MC, MCPRO y MuySeguridad, entre otros.

Lo más leído