Jump to section

Conceptos básicos de Ansible

Copiar URL

Ansible® es un motor open source que automatiza una gran cantidad de procesos informáticos, como la preparación de la infraestructura, la gestión de la configuración, la implementación de las aplicaciones y la organización de los sistemas.

Puede utilizarse para instalar software, automatizar tareas cotidianas, preparar elementos de infraestructura y de red, mejorar la seguridad y el cumplimiento normativo, aplicar parches a los sistemas y organizar flujos de trabajo complejos.

Si bien Red Hat® Ansible Automation Platform sigue los mismos principios básicos que la versión de Ansible de la comunidad, ofrece soporte para todo el ciclo de vida de las empresas e incluye funciones diseñadas específicamente para ayudarlas a estandarizar, implementar y ampliar la automatización. 

En este artículo, se explican los conceptos básicos que rigen la versión de Ansible desarrollada por la comunidad y Ansible Automation Platform.

Módulos

Ansible se conecta a los nodos o hosts y les inserta pequeños programas denominados módulos. Los nodos son los extremos objetivo (como servidores, dispositivos de red o computadoras) que desea gestionar con la plataforma. Los módulos se utilizan para realizar tareas de automatización en Ansible y están diseñados para ser modelos del estado deseado del sistema. Luego, Ansible los ejecuta y los elimina al finalizar.

Sin ellos, usted dependería de comandos específicos y de la creación de scripts para realizar una tarea. Ansible contiene módulos integrados que pueden utilizarse para automatizar tareas o para escribir otros nuevos por su cuenta. Los módulos de Ansible se pueden escribir en cualquier lenguaje que se convierta en 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. 

Automatización sin agentes

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 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, Ansible utiliza claves y un agente SSH y se conecta a las máquinas remotas con su nombre de usuario actual. No es necesario que inicie sesión como superusuario, sino que puede hacerlo como cualquier otro y luego utilizar los comandos su o sudo para adquirir nuevos privilegios.

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 las plantillas de YAML comprensibles para las personas, de manera que los usuarios puedan programar la ejecución automática de las tareas repetitivas sin necesidad de aprender un lenguaje de programación avanzado.

Uso de Ansible para comandos específicos

También puede utilizar Ansible para ejecutar comandos específicos, los cuales automatizan una única tarea en uno o más nodos gestionados. Para ello, tendrá que ejecutar un comando o utilizar un módulo directamente desde la línea de comandos. No se utiliza ningún playbook, y los comandos específicos no son reutilizables. Aunque esta acción sirve para las tareas que se realizan por única vez, deberá usar un playbook de Ansible para las más frecuentes o complejas.

Los playbooks de Ansible se utilizan para organizar los procesos de TI. Un playbook es un archivo YAML con una extensión .yml o .yaml, el cual contiene por lo menos un play y 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. 

Los plays son conjuntos ordenados de tareas que se ejecutan en las selecciones del host desde el archivo de inventario de Ansible. Las tareas son los elementos que conforman los plays y realizan llamadas a los módulos de Ansible. En un play, las tareas se ejecutan en el orden en que se escribieron.

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

Ansible incluye un modo de verificación que muestra la forma en que reaccionaría la plataforma, pero sin que se implementen cambios concretos, lo cual le permite validar los playbooks y los comandos específicos antes de modificar el estado del sistema. Los controladores de Ansible sirven para ejecutar una tarea específica luego de que se haya realizado un cambio en el sistema. Los activan determinadas tareas, y se ejecutan una sola vez, después de todos los demás plays del playbook.

Las variables le permiten modificar la manera en que se ejecutan los playbooks para gestionar 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 con un solo comando. Las variables tienen en cuenta las variaciones entre estos sistemas y pueden definirse en los playbooks, el inventario, los archivos o funciones reutilizables, o la línea de comandos. Siguen un orden de prioridad que establece aquellas que prevalecerán sobre otras.

Las funciones de Ansible son un tipo de playbook especial completamente autónomo y portátil que incluye un conjunto de tareas, variables, plantillas de configuración y otros archivos de soporte que son necesarios para llevar a cabo una organización compleja. Un conjunto puede contener varias funciones, lo cual facilita el intercambio de contenido a través de Automation Hub y Ansible Galaxy.

Los conjuntos son un formato de distribución para el contenido de Ansible que puede incluir playbooks, funciones, módulos, plugins y documentación en un solo paquete, de manera que los creadores pueden compartir la automatización y utilizar el contenido que otros hayan creado con mayor facilidad. Estos conjuntos se ordenan por área de contenido, lo cual simplifica el trabajo de buscar y ensamblar diferentes funciones y módulos.

Los conjuntos Ansible Content Collections funcionan de la misma manera, pero se diseñaron específicamente para que los usuarios de Ansible Automation Platform comiencen a automatizar con mayor rapidez gracias al contenido elaborado con anterioridad por los partners certificados de Red Hat. Estos conjuntos, que incluyen Red Hat Ansible Certified Content y el contenido validado de Ansible, se desarrollan y prueban con la colaboración de los partners para garantizar que sean confiables y aptos para las empresas, y estén centrados en la seguridad.

Conozca la diferencia entre el contenido certificado y validado de Ansible y la función que desempeñan. Duración del video: 1:55.

Ansible se puede utilizar, descargar y modificar de forma gratuita, y el proyecto cuenta con la experiencia y el conocimiento de miles de colaboradores. Su distribución comunitaria ofrece un conjunto de herramientas de línea de comandos potentes compatibles con la mayoría de los sistemas operativos que tienen instalado Python; por ejemplo, Red Hat Enterprise Linux®, Debian, Ubuntu, macOS, FreeBSD y Microsoft Windows, entre otros. 

Además, la plataforma reúne más de una docena de proyectos upstream en un producto empresarial unificado y con garantías de seguridad. Utiliza los conceptos básicos de la versión de Ansible de la comunidad para crear una experiencia integral para los equipos interdisciplinarios y permite que los equipos de operaciones, los ingenieros y los desarrolladores de la automatización intercambien el contenido listo para usar.

¿Desea obtener más información sobre las diferencias entre Ansible y Red Hat Ansible Automation Platform?

Ansible Basics: Automation Technical Overview

En esta serie de videos en línea a los que podrá acceder cuando lo solicite, se presenta la gestión de la configuración y la automatización de Ansible; así como 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 dicha plataforma.

Red Hat Enterprise Linux Automation with Ansible

En este curso, aprenderá a utilizar la última versión de Red Hat® Ansible Automation Platform para automatizar las tareas de administración del sistema Linux®.Aprenderá las técnicas que necesita para automatizar la preparación, la configuración, la implementación de aplicaciones y la organización de sistemas utilizando la plataforma.

Búsqueda de recursos de aprendizaje

Explore las herramientas y el material de aprendizaje, los cuales se organizan según las tareas que debe realizar y tienen como finalidad ayudarlo a utilizar Ansible Automation Platform. Con estos recursos, aprenderá a usar las distintas opciones de implementación e instalación, a sacar el máximo partido de las funciones y a analizar los casos prácticos para aplicar la automatización a nuevos desafíos.

Obtenga experiencia práctica con los laboratorios interactivos

En estos entornos interactivos se ofrece una versión de Ansible Automation Platform configurada previamente que se ejecuta en el explorador, de modo que puede comenzar a aprender a automatizar una gran variedad de casos prácticos a su propio ritmo.

IA generativa al estilo Ansible

Red Hat se asoció con IBM para crear Red Hat Ansible Lightspeed with IBM watsonx Code Assistant, un servicio de IA generativa para que los equipos de automatización conozcan, creen y mantengan el contenido de manera más eficiente. Puede realizar una solicitud de tarea en un idioma sencillo, y Ansible Lightspeed interactuará con los modelos base Watsonx de IBM para generar recomendaciones de código que luego se utilizarán para crear playbooks de Ansible.

Preparación de los sistemas

Puede utilizar los playbooks de Ansible para describir el estado deseado de su infraestructura y luego prepararla con Ansible Automation Platform de modo que pueda implementar los mismos entornos de manera idéntica siempre. De esta forma, puede diseñar toda la infraestructura de su entorno de TI en un único flujo de trabajo, desde la creación de nuevas instancias en entornos físicos, virtuales o en la nube hasta la incorporación de nuevos servicios, aplicaciones, hosts informáticos u otros recursos.

Gestión de la configuración

Al automatizar la gestión de la configuración, podrá agilizar los cambios y las implementaciones, reducir la posibilidad de que se cometan errores humanos y lograr que la gestión del sistema se torne predecible y flexible. Cuando los sistemas informáticos, los servidores y el software se mantienen en el estado uniforme deseado, se reduce el riesgo de que ocurran fallos de seguridad, se deteriore el servicio e incluso de que se interrumpa. Gracias a ello, los equipos de TI pueden dedicar menos tiempo a aplicar parches y actualizaciones de forma manual y, en cambio, centrarse más en proyectos de mayor impacto.

Automatización de la red

Utiliza funciones lógicas programables para gestionar los recursos y servicios de la red, lo cual permite que los equipos de operaciones de la red (NetOps) configuren, protejan, integren y ajusten la infraestructura de la red y los servicios de aplicaciones con mayor rapidez que cuando se hace de forma manual.

Implementación de las aplicaciones

Al automatizar la implementación, puede trasladar el software del entorno de prueba al de producción mediante procesos coordinados, lo que permite agilizar el ciclo de vida de distribución del software y mejorar la confiabilidad de sus aplicaciones en la fase de producción. Se trata de un aspecto esencial a la hora de habilitar las prácticas de DevOps y gestionar un canal de CI/CD.

Automatización de la seguridad

Consiste en integrar los procesos, las aplicaciones y la infraestructura de seguridad en un único flujo de trabajo. De este modo, las operaciones de seguridad (SecOps) son más eficientes y se reducen las incongruencias y los errores que provocan fallos de seguridad y otros tipos de amenazas. Con Ansible Automation Platform, los equipos de seguridad pueden configurar una secuencia de tareas que compartan el inventario, los playbooks o los permisos para automatizar por completo las investigaciones o las correcciones.

Organización de los sistemas

Automatizar una sola tarea no reporta demasiadas ventajas, por lo que una solución de automatización, como Ansible Automation Platform, facilita la configuración y la automatización de un flujo de trabajo que implica muchos pasos coordinados entre varios sistemas, como la infraestructura, los dispositivos de red y las herramientas de seguridad. Además, la organización de los sistemas mejora la comunicación entre los distintos equipos de TI.

Red Hat Ansible Automation Platform incluye las herramientas que necesita para implementar la automatización en toda la empresa, como una solución dirigida por eventos, los playbooks y los sistemas de análisis. Ofrece un panel visual, control de acceso basado en funciones y otras características diseñadas específicamente, para que centralice y controle la infraestructura de TI, lo cual ayuda a reducir la complejidad operativa.

Gracias a las suscripciones de Red Hat, podrá acceder al contenido certificado de nuestro ecosistema sólido de partners, a servicios de gestión alojados y a un servicio de soporte técnico del ciclo de vida para que los equipos creen, gestionen, ajusten y extiendan la automatización a toda la empresa. También podrá aprovechar el conocimiento especializado que hemos obtenido de nuestro éxito con miles de clientes.

Las empresas no solo deben poder implementar 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. Con esta solución, podrá implementar las aplicaciones y los servicios nuevos más rápido, gestionar la infraestructura de TI con mayor eficiencia y aumentar la productividad durante el desarrollo de las aplicaciones.

Siga leyendo

Artículo

Conceptos básicos de Ansible

Ansible se encarga de automatizar algunos procesos de la TI, como la preparación de la infraestructura y la gestión de la configuración. En esta introducción conocerá los conceptos básicos de Ansible.

Artículo

¿Qué es la gestión de los procesos empresariales?

La gestión de los procesos empresariales (BPM) consiste en modelar, analizar y optimizar los procesos integrales de esta naturaleza para lograr sus objetivos comerciales estratégicos.

Artículo

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

Red Hat Ansible Automation Platform incluye las herramientas que necesitan los equipos para implementar y compartir la automatización en toda la empresa.

Más información sobre la automatización

Productos

Servicio de nuestros asesores estratégicos, quienes tienen una visión amplia de su empresa, analizan sus desafíos y lo ayudan a superarlos con soluciones completas y rentables.

Plataforma que permite automatizar toda la empresa, sin importar en qué etapa del proceso de automatización se encuentre.

Contenido adicional

Ebook

La empresa automatizada: unificación de las personas y los procesos

Ebook

Automatice los flujos de trabajo de la infraestructura

PODCAST

Command Line Heroes Temporada 3, Episodio 5 Lenguajes que llegaron para quedarse

Escúchelo ahora

Recursos adicionales

Forrester Wave™: Automatización de la infraestructura, primer trimestre del 2023

Léalo aquí

Capacitación

Curso de capacitación gratuito

Ansible Essentials: Simplicity in Automation Technical Overview

Curso de capacitación gratuito

Red Hat Ansible Automation for SAP