Iniciar sesión / Registrar Cuenta

Automatización

Conceptos básicos de Ansible

Jump to section

Ansible es un motor open source que automatiza los procesos para preparar y gestionar la configuración, implementar las aplicaciones y organizarlas, entre otros procedimientos de TI.

Con la automatización que ofrece Ansible, puede instalar sistemas de software, automatizar las tareas diarias, preparar la infraestructura, mejorar la seguridad y el cumplimiento, ejecutar parches en los sistemas y compartir la automatización en toda la empresa.

 

¿Cómo funciona Ansible?

Ansible se conecta a los nodos y les inserta pequeños programas denominados módulos, los cuales permiten llevar a cabo tareas de automatización en la plataforma.

Esta ejecuta esos programas, los cuales funcionan como modelos de recursos del estado deseado de los sistemas, y, luego, los retira cuando finaliza la tarea.

Sin ellos, usted dependería de comandos específicos y de la creación de scripts para concretar una tarea. 

Conozca cómo instalar Ansible con esta guía

Como Ansible no necesita agentes, no se requiere instalar ningún software en los nodos que gestiona.

La plataforma lee información en el inventario para saber qué máquinas desea gestionar. Aunque Ansible cuenta con un archivo de inventario predeterminado, usted puede crear uno propio y definir los servidores que desea que administre. 

La plataforma utiliza el protocolo SSH para conectarse a los servidores y ejecutar las tareas. De forma predeterminada, utiliza 

claves y un agente SSH para conectarse a las máquinas virtuales con su nombre de usuario actual. No es necesario que inicie sesión como superusuario; puede hacerlo como cualquier otro y luego utilizar los comandos su o sudo para adquirir nuevos privilegios.

Información sobre la forma en que SSH establece una comunicación segura

Una vez que Ansible se conecta, transfiere los módulos que requiere el comando o el playbook a la máquina remota para que los ejecute.

La plataforma utiliza plantillas de YAML comprensibles para las personas, para que los usuarios no tengan que aprender un lenguaje de programación avanzado cuando deseen establecer la ejecución automática de tareas repetitivas.

Aunque Ansible contiene módulos incorporados que puede utilizar para automatizar tareas, usted puede escribir los suyos propios en cualquier lenguaje que genere el formato JSON, como Ruby, Python o Bash. En el caso de los módulos para la automatización de Windows, incluso es posible escribirlos en PowerShell. 

 

Utilización de Ansible para comandos específicos

Puede ejecutar comandos específicos con Ansible si ejecuta uno o llama a un módulo directamente desde la línea de comandos, lo cual implica que no es necesario que utilice playbooks. 

Aunque esta acción sirve para las tareas que ocurren por única vez, deberá usar un playbook de Ansible para las más complejas.

Playbooks de Ansible

Los playbooks de Ansible se utilizan para organizar los procesos de TI. Un playbook es un archivo YAML que contiene por lo menos un play, y que sirve para definir el estado deseado de un sistema. No es lo mismo que un módulo de Ansible, el cual es un script independiente que se puede utilizar dentro de un playbook de Ansible. 

El concepto de YAML para Ansible

Los plays son un conjunto ordenado de tareas que se ejecutan en las selecciones del host desde el archivo de inventario de Ansible. 

Las tareas son los elementos que llaman a los módulos de Ansible y que conforman un play, y se ejecutan allí en el mismo orden en que se escribieron.  

Cuando Ansible comienza a funcionar, puede hacer un seguimiento del estado de un sistema. Si al hacerlo detecta que la descripción del playbook sobre el sistema no coincide con su estado real, la plataforma implementará todos los cambios necesarios para que se cumpla esta correspondencia. 

Ansible incluye un "modo de verificación" que le muestra lo que la plataforma podría hacer, pero sin que se implementen cambios concretos. De este modo, usted puede validar los playbooks y los comandos específicos antes de llevar a cabo una modificación en el estado del sistema. 

Los controladores en Ansible sirven para ejecutar una tarea específica luego de que se haya realizado un cambio en el sistema. Los activan las tareas, y se ejecutan una sola vez, después de todos los demás plays del playbook. 

Las variables, que son un concepto de Ansible que le permite modificar la ejecución de los playbooks, sirven para explicar las diferencias entre los sistemas, como las versiones de los paquetes o las rutas de los archivos. Ansible posibilita la ejecución de playbooks en diferentes sistemas. 

Las variables de Ansible se deben definir en función de la tarea que esté realizando el playbook. 

Estas siguen un orden de prioridad que establece cuáles prevalecerán sobre otras, lo cual debe tener en cuenta a la hora de incluir variables en el playbook.

Para trabajar con Ansible, también tendrá que comprender de qué se tratan las colecciones. Las colecciones son un formato de distribución para el contenido de Ansible que puede incluir playbooks, funciones, módulos y plugins.

Las funciones de Ansible son un tipo de playbook especial completamente autónomo y portátil que incluye las tareas, las variables, las plantillas de configuración y otros archivos de soporte que son necesarios para completar una organización compleja. 

Una colección puede contener varias funciones, lo cual posibilita el intercambio sencillo de contenido a través de Automation Hub y Ansible Galaxy

 

Gestión de la configuración con Ansible

La gestión de la configuración es un proceso que busca mantener los sistemas informáticos, los servidores y el software en un estado deseado y uniforme. Permite garantizar que un sistema funcione como se espera a medida que se realizan cambios. 

Tradicionalmente, los administradores de sistemas se encargaban de hacerlo de forma manual o con scripts personalizados. 

Cinco formas de fortalecer un sistema nuevo con Ansible

Cuando se utiliza Red Hat ® Ansible ® Automation Platform como una herramienta de gestión de la configuración, su función es almacenar el estado actual de los sistemas y ayudar a mantenerlo. 

Con las herramientas de gestión de la configuración, se agilizan los cambios y las implementaciones, se elimina la posibilidad de que se cometan errores humanos, y la gestión del sistema se torna predecible y escalable.

También es posible realizar un seguimiento del estado de los recursos y evitar la repetición de algunas tareas, como instalar el mismo paquete dos veces. 

Mejore la recuperación del sistema después de un evento importante gracias a la gestión automatizada de la configuración de Ansible. Si un servidor falla por alguna razón desconocida, puede implementar uno nuevo rápidamente y obtener un registro de las modificaciones o las actualizaciones efectuadas para identificar el origen del problema. 

 

Preparación con Ansible

La infraestructura suele definirse en el software, y la virtualización y los contenedores agilizaron los procesos de preparación y eliminaron la necesidad de preparar y gestionar sistemas de hardware con frecuencia.

Resulta difícil hacer un seguimiento de los cambios y controlar las versiones, así como evitar los errores y las faltas de uniformidad cuando se prepara manualmente cada implementación.

La automatización de la preparación de la infraestructura es el primer paso para automatizar el ciclo de vida operativo de sus aplicaciones. 

Ansible sirve para preparar la infraestructura subyacente del entorno, los host virtualizados y los hipervisores, los dispositivos de red, y los servidores sin sistema operativo. También permite instalar servicios, agregar hosts informáticos y preparar recursos, servicios y aplicaciones dentro de la nube.

Puede utilizar un playbook de Ansible para describir el estado deseado de la infraestructura, y la plataforma se encargará de prepararlo. Si utiliza un playbook para codificar su infraestructura, se asegurará de preparar siempre el mismo entorno. 

 

Automatización de la implementación

Al automatizar la implementación, puede trasladar el software entre los entornos de prueba y producción sin utilizar procesos manuales. Como resultado, se obtiene una implementación confiable y repetible en todo el ciclo de distribución del software.

La automatización de la implementación es importante a la hora de habilitar las prácticas de DevOps y gestionar un canal de CI/CD.

Este proceso no funciona si el equipo de desarrollo implementa las aplicaciones o configura los entornos de una manera, y los equipos de operaciones lo hacen de otra. 

El entorno debe ser uniforme para poder automatizarse. Se debe utilizar el mismo proceso de implementación para todos los entornos, incluso para el de producción. 

Por lo general, un canal de implementación sigue tres pasos fundamentales (aunque también puede haber más): compilación, prueba e implementación. Este canal respalda su capacidad de automatizar el proceso de implementación y garantiza que el código pase rápidamente de la etapa de revisión y confirmación de cambios a la de implementación.

Ansible le permite implementar aplicaciones de varios niveles de manera confiable y uniforme, desde un marco común. Puede usar los playbooks para configurar los servicios necesarios y también insertar los artefactos de las aplicaciones.

 

Organización con Ansible

En general, la automatización se refiere a una sola tarea. Esto difiere de la organización, la cual implica automatizar un proceso o un flujo de trabajo que incluye muchos pasos en varios sistemas diferentes. 

La organización de la nube puede utilizarse para varias tareas, como preparar o implementar servidores, asignar capacidad de almacenamiento, crear máquinas virtuales y gestionar las redes, entre otras. Hay muchas herramientas diferentes que pueden ayudarlo con la organización de la nube. Ansible es una de ellas.

La gestión y la configuración de los servidores, así como la implementación de las aplicaciones, también se pueden organizar con herramientas como Ansible. 

Conozca cómo explicar la organización de forma sencilla

En el caso de la implementación de aplicaciones, debe lidiar con los servicios de frontend y backend, las bases de datos, la supervisión, las redes y el almacenamiento, y cada uno de los elementos tiene una función, una configuración y una distribución específicas. La organización garantiza que se sigan los pasos como usted lo necesita.

Ansible favorece la organización porque ejecuta las tareas en el playbook según el orden en el que están escritas. De esta forma, usted tiene la certeza de que la implementación de las aplicaciones se llevará a cabo en el orden correcto. 

 

Automatización de la red

La automatización de la red utiliza la lógica programable para gestionar los servicios y los recursos de red. Permite que los equipos de operaciones de red (NetOps) configuren, ajusten, protejan e integren la infraestructura de red y los servicios de aplicaciones más rápido que cuando los usuarios lo hacen de forma manual.

A pesar de que las tecnologías subyacentes han evolucionado, la gestión de las redes ha permanecido prácticamente sin cambios durante décadas. Las redes por lo general se crean, operan y mantienen de forma manual. 

Sin embargo, los enfoques manuales tradicionales para la configuración y las actualizaciones de la red son demasiado lentos y propensos a errores para respaldar de forma efectiva las necesidades de las cargas de trabajo, que cambian rápidamente. 

Si se automatizan la gestión de servicios y los recursos de red, los equipos de operaciones de red adquieren más agilidad y flexibilidad para respaldar las demandas empresariales modernas de manera eficiente.

 

Automatización de la seguridad

La automatización de la seguridad consiste en usar las tecnologías de automatización para ejecutar tareas con la menor intervención humana, con el fin de integrar los procesos, las aplicaciones y la infraestructura de seguridad.

La automatización puede ayudarlo a optimizar las operaciones cotidianas y a integrar la seguridad con los procesos, las aplicaciones y la infraestructura desde el comienzo. Si implementa la automatización de la seguridad por completo, puede reducir el costo promedio de un fallo de seguridad en un 95 %.

Gracias a su automatización, podrá identificar, validar y remitir las amenazas con mayor rapidez y sin intervención manual. 

Si ocurre un incidente de seguridad, los equipos de seguridad pueden usar Ansible para agilizar la aplicación simultánea de correcciones en los sistemas afectados de todo su entorno, y responder ante los incidentes con mayor rapidez.

Tres formas de empezar a automatizar la seguridad de la TI

Ansible permite que los equipos de seguridad configuren una secuencia de tareas que compartan el inventario, los playbooks o los permisos para automatizar por completo las investigaciones o las correcciones.

Red Hat Ansible Automation Platform se integra con servicios de terceros que agrupan registros externos a la plataforma para que los equipos de seguridad identifiquen las tendencias, analicen los eventos de la infraestructura, supervisen las anomalías y establezcan relaciones entre los diferentes eventos.

 

Obtenga capacitación sobre Ansible

Red Hat Enterprise Linux Automation with Ansible

En este curso, aprenderá a usar Ansible Automation Platform para automatizar las tareas de administración del sistema Linux®. Conocerá las técnicas que necesita para automatizar la preparación, la configuración, la implementación de aplicaciones y la organización utilizando la plataforma.

 

Ansible Essentials: Simplicity in Automation Technical Overview

Esta serie de videos en línea, que puede ver cuando lo solicite, le presenta la gestión de la configuración y la automatización de Ansible, y la preparación, la implementación y la gestión de la infraestructura informática en todos los entornos de nube, virtuales y físicos con la plataforma.

 

Aspectos básicos de Ansible: una introducción para que pueda automatizar todos los sistemas

En este webinar, se destacan las ventajas de utilizar Ansible para automatizar las tareas en varios dispositivos de red, la nube, Windows y Red Hat Enterprise Linux. Se analizan formas de automatizar las tareas administrativas y de utilizar las funciones avanzadas de Red Hat Ansible Automation Platform para llevar a cabo otras más complejas. 

 

Estudio de caso: Cómo Microsoft diseñó una cultura de automatización de la TI

Microsoft tiene el objetivo de diseñar una cultura de éxito y colaboración entre los equipos que cuente con el respaldo de la tecnología de automatización.

Por eso, utilizó Red Hat Ansible Automation Platform y colaboró estrechamente con Red Hat Consulting para crear un entorno de automatización de la red que fuera estandarizado y centralizado, que redujera la complejidad, las tareas rutinarias y repetitivas, y que a la vez permitiera la verificación y la reutilización del código de producción. 

Como se estableció la cultura de DevOps, los equipos de la empresa pueden concentrarse en compartir conocimiento, desarrollar habilidades y crear soluciones tecnológicas innovadoras.

Para obtener más información sobre el éxito de Microsoft, lea el estudio de caso completo.

 

¿Por qué conviene elegir Red Hat para la automatización?

La gran comunidad open source y Red Hat colaboran en el diseño de las tecnologías de automatización. Nuestros ingenieros mejoran las funciones, la confiabilidad y la seguridad para garantizar que su empresa y TI funcionen y permanezcan estables y seguras. 

Red Hat Ansible Automation Platform incluye las herramientas que se necesitan para implementar la automatización en toda la empresa, como los playbooks y los sistemas de análisis. Ofrece un panel visual, control de acceso basado en funciones y otras herramientas, para que los usuarios centralicen y controlen la infraestructura de TI, lo cual ayuda a reducir la complejidad operativa.

Red Hat Ansible Automation Platform también incluye Automation Analytics, una función que permite que los miembros del equipo de operaciones analicen el uso, el tiempo de actividad y los patrones de ejecución de los diferentes equipos que utilizan la plataforma.

Ansible Automation Hub es la ubicación para descubrir y comprender el contenido de Ansible compatible con Red Hat y creado previamente, y el contenido de Ansible Certified Partner para que los usuarios den sus primeros pasos con mayor rapidez.

Además, la empresa Forrester Research reconoció a Red Hat Ansible Automation Platform como una de las plataformas líderes en el informe "The Forrester Wave™: Infrastructure Automation Platforms, tercer trimestre de 2020".

Las empresas no solo deben poder diseñar la automatización fácilmente; también necesitan compartirla con los equipos y reutilizarla en todos los proyectos sin perder el control ni la capacidad de supervisión. 

Si adopta la solución de automatización adecuada, podrá implementar aplicaciones y servicios nuevos con mayor rapidez, ser más eficiente a la hora de gestionar la infraestructura de TI y aumentar la productividad del desarrollo de aplicaciones.

La plataforma que necesita para la automatización

Red Hat Ansible Automation Platform

Una plataforma sencilla y sin agentes que permite diseñar la automatización de la TI según sea necesario. Centralice y controle su infraestructura de TI con un panel visual, control de acceso basado en funciones y mucho más.

Ansible tiene mucho más que ofrecer