Suscríbete al feed RSS

Los flujos de trabajo son una parte fundamental de Red Hat Ansible Automation Platform, ya que te permiten organizar las tareas de automatización complejas con la configuración de secuencias. Constan de diferentes tipos de nodos, como plantillas de tareas, actualizaciones de inventario y de proyectos y tareas de administración. Sin embargo, a medida que aumenta el tamaño y la complejidad de los flujos, gestionarlos puede ser complicado.

El desafío de la ampliación: cuando los flujos de trabajo se vuelven demasiado grandes

No es raro encontrar flujos de trabajo de Ansible Automation Platform con cientos de nodos, decenas de plantillas de tareas y muchos inventarios. Imagínate un solo flujo que abarque 85 nodos, 81 plantillas, 41 inventarios y 48 hosts, todo vinculado a un solo proyecto. Este nivel de complejidad presenta desafíos importantes:

  • La solución de problemas no es fácil: identificar la causa principal de los errores en un flujo de trabajo grande es como encontrar una aguja en un pajar. Cada vez es más difícil hacer un seguimiento de las rutas de ejecución y comprender las dependencias.
  • Sobrecarga del mantenimiento: la modificación de un flujo de trabajo grande e interconectado es una propuesta arriesgada. Hasta los cambios más pequeños pueden tener consecuencias no deseadas, lo que requiere pruebas y validaciones exhaustivas.
  • Bloqueos en el rendimiento: la gran cantidad de nodos y dependencias en un flujo de trabajo grande puede afectar el tiempo de ejecución, lo que ralentiza los procesos de automatización.
  • Obstáculos en la reutilización: la extracción y la reutilización de elementos de un flujo de trabajo monolítico es una tarea compleja que suele generar esfuerzos redundantes y duplicación del código.
  • Sobrecarga visual: puede ser complicado visualizar la ejecución de un flujo de trabajo grande, y por esto se dificulta la comprensión del proceso general y la identificación de posibles bloqueos.

Estrategias para optimizar los flujos de trabajo: toma el control de la complejidad

Para enfrentar estos desafíos, implementa las siguientes estrategias:

1. Flujos de trabajo anidados: adopta la modularización

Los flujos de trabajo anidados son la clave para dividir los flujos grandes y complejos en unidades más pequeñas y fáciles de gestionar. Imagínatelo como la programación modular. Debes crear flujos de trabajo autónomos que gestionan tareas específicas y, luego, combinarlos para diseñar procesos más grandes y complejos. 

Funcionamiento: Agrupa los nodos y las tareas relacionados en flujos de trabajo anidados y separados. Por ejemplo, puedes tener un flujo anidado para implementar una base de datos, otro para configurar servidores de aplicaciones y un tercero para configurar el control.

  • Ventajas:
    • Mejora de la lectura y la comprensión: los flujos de trabajo más pequeños son más fáciles de entender y visualizar, por lo que es más sencillo comprender el proceso de automatización general.
    • Mantenimiento simplificado: es menos riesgoso actualizar o modificar un flujo de trabajo pequeño y específico que cambiar uno grande e interconectado.
    • Reutilización mejorada: los flujos de trabajo anidados se pueden reutilizar en otras tareas de automatización, lo que reduce la redundancia y promueve la uniformidad.
    • Depuración más sencilla: el aislamiento y la resolución de problemas son mucho más sencillos cuando se trata de unidades de automatización más pequeñas y fáciles de gestionar.
    • Mayor flexibilidad: a medida que aumentan tus necesidades de automatización, puedes agregar o modificar flujos de trabajo anidados fácilmente sin afectar todo el sistema.

2. Inventarios construidos: agrupa los hosts de manera dinámica

Los inventarios estáticos pueden convertirse en una carga cuando se gestiona una gran cantidad de hosts. Los inventarios construidos proporcionan una alternativa dinámica, ya que permiten agrupar hosts en función de sus atributos.

Funcionamiento: Define reglas para agrupar hosts según ciertos criterios como el entorno (producción, preparación y desarrollo), la ubicación (región este de Estados Unidos o región oeste de la Unión Europea) o la función (servidor web o de base de datos). Luego, Ansible Automation Platform genera dinámicamente el inventario en función de estas reglas.

  • Ventajas:
    • Reducción de la sobrecarga de la gestión del inventario: no es necesario mantener una gran cantidad de archivos de inventario estáticos.
    • Mayor flexibilidad: puedes dirigir acciones fácilmente a grupos específicos de hosts según sus atributos, lo que hace que tus flujos de trabajo sean más adaptables.
    • Ejecución simplificada de los flujos de trabajo: los flujos se pueden diseñar para que se dirijan a estos grupos dinámicos, de modo que se realicen las acciones correctas en los hosts adecuados.

3. Combinación de estrategias: el poder de la coordinación

El verdadero poder de estas estrategias surge cuando combinas flujos de trabajo anidados e inventarios construidos. Este enfoque te permite crear soluciones de automatización muy organizadas y flexibles.

Ejemplo: Un flujo de trabajo anidado para implementar una aplicación web podría usar inventarios construidos para dirigirse a entornos específicos (por ejemplo, environment:production, environment:staging). Esto permite que el proceso de implementación se ejecute en los servidores correctos de cada entorno.

Prácticas recomendadas para los flujos de trabajo flexibles

Además de estas estrategias básicas, ten en cuenta las siguientes prácticas recomendadas:

  • Diseño estandarizado de flujos de trabajo: establece convenciones de nomenclatura, estructuras de directorio y prácticas de documentación claras para los flujos de trabajo. Esto promueve la uniformidad y permite que todos los integrantes del equipo comprendan y mantengan la automatización.
  • Control de acceso basado en funciones (RBAC): implementa el RBAC para controlar quién puede crear, modificar y ejecutar los flujos de trabajo. De esta manera, se evitarán los cambios accidentales o maliciosos al permitir que solo el personal autorizado realice modificaciones en la automatización.
  • Registro y supervisión integrales: configura un registro y una supervisión sólidos para realizar un seguimiento de la ejecución del flujo de trabajo e identificar cualquier problema. Ansible Automation Platform proporciona funciones de registro integradas que puedes aprovechar. Evalúa la integración con herramientas de supervisión para obtener datos en tiempo real.
  • Revisiones periódicas de los flujos de trabajo: revisa periódicamente los flujos de trabajo para identificar las áreas que deben mejorarse. ¿Hay pasos redundantes? ¿Puedes simplificar la lógica? Las revisiones periódicas ayudan a mantener la automatización actualizada y eficiente.
  • Uso efectivo de las etiquetas: usa las etiquetas para categorizar y organizar los flujos de trabajo. Gracias a esto, se facilita la búsqueda de flujos de trabajo específicos y la gestión de grandes cantidades de ellos.

Resumen

La gestión de las plantillas de tareas de flujos de trabajo de Ansible Automation Platform a demanda requiere un enfoque estratégico. Al implementar flujos anidados y reducir la cantidad de plantillas, las empresas pueden lograr mejoras significativas en la capacidad de lectura, de mantenimiento y de reutilización. Estas estrategias no solo generan flujos de trabajo de automatización más eficientes y sólidos, sino que también permiten una adaptación sin problemas a medida que aumentan las necesidades de este proceso. La adopción de las prácticas recomendadas garantiza que los flujos de Ansible Automation Platform sigan siendo claros, estructurados y fáciles de gestionar a lo largo del tiempo.

product trial

Red Hat Ansible Automation Platform | Versión de prueba del producto

Plataforma de automatización sin agentes.

Sobre el autor

Neha Chugh is a dedicated Principal Software Maintenance Engineer at Red Hat. With a deep commitment to technical support, she excels in resolving customer issues and ensuring seamless operations. Beyond her support role, Neha is passionate about innovation and automation, constantly exploring new ways to enhance efficiency and drive technological advancements. 

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Navegar por canal

automation icon

Automatización

Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos

AI icon

Inteligencia artificial

Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar

open hybrid cloud icon

Nube híbrida abierta

Vea como construimos un futuro flexible con la nube híbrida

security icon

Seguridad

Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías

edge icon

Edge computing

Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge

Infrastructure icon

Infraestructura

Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo

application development icon

Aplicaciones

Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones

Virtualization icon

Virtualización

El futuro de la virtualización empresarial para tus cargas de trabajo locales o en la nube