Modernice las operaciones de mainframes con Red Hat Ansible Automation Platform

 

Presentación del Orador y Contexto del Proyecto

«Hoy tenemos una sesión sobre la modernización de las operaciones de Mainframe con la plataforma de automatización de Red Hat, y nuestro orador principal es Fabio Alesandro.»

  • Ashley se presenta como la moderadora de la sesión, que se centra en cómo modernizar las operaciones de Mainframe utilizando la plataforma de automatización de Red Hat.
  • Fabio Alesandro, conocido como F, será el encargado de la presentación, y se invita a los participantes a realizar preguntas en el chat a medida que avanza la charla, en lugar de esperar hasta el final.

Introducción del Orador y su Experiencia con Ansible

«He estado trabajando en consulting desde 2004 y soy usuario de Ansible desde 2013.»

  • F comparte su experiencia en el campo, especificando que ha trabajado en múltiples roles de consultoría desde 2004 y es un usuario de Ansible desde 2013, incluso antes de que Ansible se convirtiera en una empresa oficial.
  • Se describe cómo su trayectoria profesional lo llevó a convertirse en arquitecto de soluciones en Red Hat y su certificación de arquitecto de nivel tres.

El Problema que Enfrentaban las Operaciones

«Un sistema crítico se cayó un lunes y tardaron cuatro días en volverlo a poner en línea.»

  • El problema comenzó cuando un sistema crítico experimentó una caída y el tiempo de inactividad fue de cuatro días, lo que representó una gran preocupación para la empresa.
  • Esto llevó a que la empresa iniciara un proyecto denominado «Proyecto Diamante» para abordar la crisis, con la intención de reducir la complejidad, aclarar los procesos y disminuir la dependencia de personas específicas en el equipo de operaciones.

Proyecto Diamante y sus Desafíos

«A pesar de tener todos los componentes correctos, el proyecto no funcionó como se esperaba.»

  • Las metas del Proyecto Diamante incluían reducir la complejidad y hacer que cada proceso fuera explícito, pero el enfoque que se tomó no logró alcanzar estos objetivos.
  • El problema radicaba en que aunque se evitaron algunas dependencias, la implementación real de los cambios requería a ciertas personas, lo que limitó su éxito.

Enfoque Erróneo hacia la Automatización

«Las personas automatizarán tareas que no quieren volver a hacer, pero esto debe estar organizado para una coordinación y escalabilidad adecuadas.»

  • F enfatiza que aunque la automatización puede ser impulsada por individuos que buscan resolver problemas específicos, dicha automatización carece de una estructura necesaria para ser efectiva a nivel empresarial.
  • Resalta la importancia de tener una gobernanza coherente a través de todos los procesos para que la automatización sea verdaderamente efectiva y escalable en toda la organización.

Modelos de Configuración en Ansible

«En el modelo de push, una máquina controladora envía configuraciones a los hosts, lo que resulta en un sistema más simple y seguro.»

  • Ansible se basa en dos modelos de configuración: el modelo de pull y el modelo de push. En el modelo de push, una máquina controladora puede enviar configuraciones a múltiples hosts sin necesidad de realizar cambios en cada uno de ellos. Esto simplifica el proceso de configuración y también lo hace más seguro, ya que se puede asegurar la conexión, a menudo utilizando SSH.
  • En contraste con los métodos tradicionales basados en la configuración humana, Ansible permite definir el estado deseado del sistema en lugar de especificar cómo lograrlo. Esto se traduce en una curva de aprendizaje más suave, ya que los usuarios solo necesitan aprender a describir estados en un formato comprensible, como YAML.

Ventajas de la Descripción del Estado

«Al escribir un Playbook, no explicamos cómo hacer las cosas, sino qué estado deseamos lograr.»

  • La escritura de Playbooks en Ansible se centra en describir el estado deseado del sistema, lo que resulta en configuraciones más simples y fáciles de entender en comparación con lenguajes de programación complejos. Esto promueve la legibilidad y también elimina la necesidad de recordar el estado de las variables, un aspecto típico de la programación tradicional.
  • La reusabilidad de código en Ansible se logra a través de colecciones, permitiendo que módulos y roles sean agrupados de manera estructurada, lo que facilita la automatización de tareas relacionadas dentro de una organización.

Conceptos Clave en Ansible

«Un host es el objetivo de la automatización y un grupo es una colección de hosts.»

  • Dentro de Ansible, un «host» se refiere a cualquier máquina que es objeto de automatización, mientras que un «grupo» es una colección de hosts. Esta conceptualización es importante porque, en la mayoría de los casos, se trabaja con múltiples máquinas que realizan tareas específicas, lo que permite manejar la escalabilidad más eficazmente.
  • La «inventario» en Ansible es fundamental para desacoplar las tareas que se realizarán de las máquinas a las que se aplicarán. Este inventario puede ser estático, como un archivo que lista todos los hosts y grupos, o dinámico, utilizando scripts para extraer información actualizada.

Módulos y Tareas en Ansible

«Un módulo es un programa estructurado que recibe entradas y devuelve salidas, asegurando que el estado deseado se mantenga en los hosts.»

  • Los módulos en Ansible, comúnmente escritos en Python, son esencialmente programas que reciben entradas y devuelven salidas. Al utilizar módulos, los automatizadores pueden crear «tareas» que definen exactamente qué acción debe llevarse a cabo en los hosts especificados.
  • Las tareas pueden agruparse en «roles», lo que permite una organización más clara y un mejor mantenimiento del código. Además, los Playbooks combinan múltiples tareas y roles, permitiendo la creación de procesos más complejos y estructurados.

Colecciones y Entornos de Ejecución

«Una colección de módulos permite a los proveedores agrupar y redistribuir recursos para facilitar la automatización.»

  • Las colecciones en Ansible permiten empaquetar múltiples módulos relacionados, lo que es especialmente útil para los proveedores de software e hardware que desean simplificar el uso de sus recursos por parte de los usuarios finales. Esto fomenta la reutilización y la aplicación de mejores prácticas en automatización.
  • El concepto de «entorno de ejecución» se refiere a un contenedor que incluye todas las colecciones y bibliotecas necesarias para ejecutar Ansible, garantizando que las versiones de las dependencias permanezcan constantes a lo largo del tiempo y durante el proceso de automatización.

Manejo de Servicios y Módulos en Ansible

«El primer módulo asegura que httpd esté instalado y actualizado.»

  • En el uso de Ansible, es fundamental manejar módulos y tareas adecuadamente. En el contexto mencionado, se asegura que el módulo httpd esté instalado en el sistema. Esto se logra utilizando un módulo específico que invoca yum y establece parámetros como el nombre del software y su estado deseado.
  • Otro módulo importante mencionado es el de servicios, que permite gestionar el inicio de servicios al arranque del sistema. En este caso, asegura que httpd se inicie automáticamente al reiniciar el sistema, garantizando su disponibilidad.

Colecciones y Modularidad en Ansible

«Las colecciones pueden dar forma a diferentes herramientas como módulos, playbooks y roles.»

  • Las colecciones en Ansible son un concepto interesante que permite agrupar diversos componentes como módulos, playbooks, roles y documentación. Por ejemplo, IBM ofrece varias colecciones específicas que permiten a los usuarios acceder a herramientas necesarias para sus operaciones, sin la necesidad de un gran paquete único que podría no ser necesario para todos.
  • La modularidad facilita la reutilización y el desarrollo al permitir a los usuarios trabajar con colecciones más pequeñas que se adaptan a necesidades específicas. Esto también contribuye a la facilidad de manejo en la creación y mantenimiento de código.

Proceso de Automatización y sus Componentes

«El modelo de automatización se divide en tres pasos: crear, operar y consumir.»

  • El proceso de automatización se puede dividir en tres etapas clave: crear, operar y consumir. Esta estructura ayuda a entender quién se encarga de cada parte del proceso y cómo interactúan entre sí.
  • Existen componentes esenciales en esta cadena, como el creador de contenido que prepara los playbooks, y el entorno de ejecución que se utiliza para ejecutar estas tareas. Al tener roles y playbooks bien definidos, los diferentes usuarios en una organización pueden utilizar la automatización de manera eficiente sin preocuparse por los aspectos técnicos internos.

Integración y Flujos de Trabajo en Automatización

«Los flujos de trabajo permiten combinar múltiples playbooks para completar tareas complejas.»

  • La automatización puede volverse más eficaz a través de flujos de trabajo que integran varios playbooks. Esto es útil cuando se requieren múltiples pasos para completar una tarea, como la creación de una máquina virtual seguida de la instalación de software adicional como bases de datos.
  • Con un buen diseño de flujos de trabajo, se pueden reutilizar partes del código para diferentes escenarios, lo que ahorra tiempo y esfuerzo en la creación de nuevas automatizaciones.

Herramientas de automatización y su ecosistema

«Es el sistema más completo para la automatización y tiene un ecosistema completo de socios que también proporcionan contenido.»

  • Este segmento destaca la importancia de las herramientas de automatización, subrayando que estas no funcionan aisladamente, sino que dependen de todos los aspectos que las controlan y apoyan a lo largo de su ciclo de vida.
  • El presentador menciona una herramienta específica, Ansible, y expresa su opinión personal sobre ella, considerándola la más robusta en el ámbito de la automatización.
  • Se resalta la existencia de un ecosistema de socios que contribuyen con contenido y recursos, lo que añade valor al uso de la herramienta mencionada.

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *