Evaristo R

Técnico Administrador de Sistemas

AESA/EASA Ultralight Pilot License ULM - MAF

AESA/EASA RPAS Pilot License - A1/A3 - A2 - STS

Profesor e-Learning

Evaristo R

Técnico Administrador de Sistemas

AESA/EASA Ultralight Pilot License ULM - MAF

AESA/EASA RPAS Pilot License - A1/A3 - A2 - STS

Profesor e-Learning

Blog Post

De IaC a DaC: Genera Diagramas de Arquitectura Cloud automáticamente con Python + IA Gratis

11 febrero, 2026 Design
De IaC a DaC: Genera Diagramas de Arquitectura Cloud automáticamente con Python + IA Gratis

Poniéndonos en contexto

Crear diagramas de tu infraestructura en la nube puede ser una de las tareas más pesadas del día a día. Mover cajas en Visio, Lucidchart o draw.io para representar cada recurso de tu plantilla de Terraform no solo consume tiempo, sino que también aumenta el riesgo de cometer errores y de que la documentación quede obsoleta al primer cambio.

No te digo ya si llegas a un proyecto con cientos de recursos y nadie sabe con exactitud cómo están interconectados. Te piden como arquitecto que dibujes la infraestructura, y rápidamente te das cuenta de que hacerlo manualmente es un coñazo agotador y consume horas que podrías dedicar a tareas de valor real.

Para todos esos casos, existe una herramienta muy práctica que vamos a comentar en esta entrada: un proyecto en Python que genera diagramas de arquitectura en la nube de forma automática, compatible con cualquier proveedor de Cloud. Gracias a mi compañera María, que la descubrió, pude probarla y comprobar lo útil que es para generar diagramas precisos, reproducibles y profesionales en minutos.

Lo más interesante es que solo necesitas una cuenta gratuita de GitHub Copilot para usar Claude Haiku, con el que puedes lograr resultados sorprendentes: diagramas precisos, reproducibles y profesionales. Y, por supuesto, si cuentas con suscripción, también puedes aprovechar Claude Sonnet, aún más potente y preciso.

El enlace al repo original: https://github.com/Shailender-Youtube/Architecture_Diagrams_Python_AI

Cómo funciona el proceso

El concepto es muy sencillo y adaptable a diferentes escenarios:

  1. Preparar la base
    • Puedes empezar con una plantilla de Terraform o cualquier otra infraestructura como código (IaC) que ya tengas, o ejecutar un script que escanee tu infraestructura existente para generar un archivo .json con todos los recursos y relaciones.
    • python azure_export.py -s “YOUR-SUB-ID” -o infrastructure.json
  2. Generación del script con IA
    • Con el .json listo, le indicas a GitHub Copilot Chat, tomando como referencia el fichero INSTRUCTIONS.md (preparado por defecto para Azure), que genere un script en Python capaz de producir diagramas automáticamente
  3. Creación del diagrama
    El script genera un diagrama profesional usando iconos oficiales de los proveedores de Cloud. Los diagramas se exportan en PNG, DOT y Draw.io, por lo que puedes visualizarlos directamente o retocarlos si lo deseas.
    • python generate_network_flow_diagram.py infrastructure.json
  4. Adaptación a otros entornos
    • En cualquier momento, mediante el chat, puedes indicarle que modifique el INSTRUCTIONS.md para que funcione con AWS, Google Cloud u otros proveedores, manteniendo siempre la información precisa y actualizada.

En el README.md del repo encontrarás los vídeos del autor donde lo explica perfectamente.


Un fork con algunos añadidos

Como tenía necesidades específicas hice un fork que puedes encontrar aquí:

fork evaristorivi: https://github.com/evaristorivi/Architecture_Diagrams_Python_AI

Este fork incluye tres añadidos:

  • Soporte para trabajar con múltiples suscripciones en lote, lo que permite exportar información de varias suscripciones de Azure y generar automáticamente los diagramas correspondientes a cada una.
    • run_exports.py
    • run_diagram_in_docker.py
  • Solución al problema de instalar pip install graphviz2drawio en Windows, del que hablaré en el siguiente apartado.
  • Más documentación en español. Generada con IA para probar los resultados.

Solución al problema de graphviz2drawio en Windows

En Linux el proyecto funciona perfecto, pero en Windows, la cosa se complica cuando entra en juego pygraphviz, con errores como el siguiente:

error: failed-wheel-build-for-install

No es un fallo del proyecto en sí. Es un problema de compilación.

pygraphviz necesita:

  • Graphviz instalado
  • Las cabeceras (include)
  • Las librerías (lib)
  • Un compilador C++ funcional

En Windows eso implica instalar:

  • Microsoft Visual C++ Build Tools
  • Graphviz correctamente instalado
  • Y en algunos casos pasar manualmente las rutas de include y lib a pip

Lo documenté todo aquí, paso a paso:

https://github.com/evaristorivi/Architecture_Diagrams_Python_AI/blob/main/WINDOWS_GRAPHVIZ_SOLUTION.md

La solución que describo tiene dos enfoques.

Opción 1: Ejecutarlo en Docker

Si no quieres pelearte con compiladores en Windows, la solución más sencilla es levantar un contenedor Docker que ya tenga:

  • Python
  • Graphviz
  • Dependencias correctamente instaladas

Solo tendrás que lanzar un script, Import_Azure\run_diagram_in_docker.py que se alimenta de los .json que hay en exports y el se encargará de realizar el procesamiento en el contenedor Docker que te lanzará al vuelo.

Ventajas:

  • Entorno reproducible
  • Sin conflictos de compilación
  • Sin tocar Visual Studio
  • Funciona igual en cualquier máquina

Si trabajas en equipo o quieres algo más portable, esta es probablemente la mejor opción.

Opción 2: Instalación nativa en Windows

Si prefieres tenerlo funcionando directamente en Windows:

  1. Instalar Visual C++ Build Tools
  2. Instalar Graphviz
  3. Asegurarte de que las rutas están correctamente configuradas
  4. En algunos casos, instalar pygraphviz pasando parámetros explícitos de include y lib

LAB: Jugando un poco con la IA

Cambiando de Azure a AWS.

El proyecto original incluye el fichero Import_Azure/INSTRUCTIONS.md, un megaprompt diseñado para generar diagramas de Azure.

En esta sección vamos a mostrar cómo, en pocos y sencillos pasos, podemos adaptarlo para AWS y obtener diagramas automáticos de nuestra infraestructura en la nube. También veremos los resultados y cómo la IA nos permite reutilizar la lógica del prompt para distintos proveedores, manteniendo precisión y consistencia en los diagramas.

Comenzamos indicándole por chat el siguiente prompt:

Modifica Import_Azure\INSTRUCTIONS.md para generar diagramas para AWS en lugar de para Azure.
y crea un script como Import_Azure\generate_network_flow_diagram.py basándote en el nuevo INSTRUCTIONS
para generar los diagramas de AWS usando un profile de AWS.

Podemos ver como va cambiado el megaprompt de Import_Azure\INSTRUCTIONS.md a la vez que nos va comentando en el chat los pasos que va haciendo.

Una vez terminado el INSTRUCTIONS.md comienza a implementar el nuevo script.

¡Tras unos minutos nos da la buena noticia!

Probamos a ejecutarlo tal y como nos indicó pero da un error, que él mismo se da cuenta y corrige.

Y finalmente… ¡Funcionando!

¡Está perfecto! Ha generado todos los iconos, con sus nombres, direcciones IP… todo correctamente conectado.

Diagrama a partir de Terraform

También probé a generar un diagrama a partir de una plantilla de Terraform. Con el siguiente prompt:

hazme un diagrama ahora de lo que hay en terraform-demo\main.tf

Lo mejor es usar los .drawio en https://draw.io/ para poder modificar según la necesidad!

Estos esquemas no se corresponden a un sistema real en producción, sino a una infraestructura de prueba que monté en mi cuenta de AWS y al fichero de prueba de Terraform incluido en el proyecto.

Prompt para Generar automáticamente la documentación

Como parte de las pruebas para esta entrada, también experimenté con la generación automática de la documentación del proyecto. Para ello, utilicé el siguiente prompt:

Revisa todos los archivos del proyecto, incluyendo scripts de exportación, análisis y generación de diagramas, así como la documentación existente.
Genera un README profesional en Markdown que incluya:
Formato limpio, profesional y legible, listo para GitHub.
Resumen del proyecto y objetivos.
Funcionalidades principales.
Estructura del proyecto con carpetas y archivos destacados.
Guías rápidas y completas, indicando qué leer primero.
Notas de buenas prácticas y advertencias.

que dió como resultado los siguientes .md que verás en el repo:

Quedó súper extenso, no era necesario tanto, pero fue muy divertido ver generarse los .md uno detras de otro.

The End

Automatizar la generación de diagramas de arquitectura en la nube no es solo cuestión de ahorrar tiempo; es cambiar la forma en que entendemos y gestionamos nuestra infraestructura. Cuando pasamos de mover cajas a dejar que la IA construya diagramas precisos, reproducibles y siempre actualizados, liberamos nuestra mente para centrarnos en decisiones estratégicas y no en tareas repetitivas.

Es un pequeño cambio, pero con gran impacto: nos permite documentar de manera profesional, compartir conocimiento con el equipo y reducir errores humanos, todo mientras exploramos cómo la IA puede potenciar nuestro trabajo diario sin complicarnos la vida.

En el fondo, no se trata solo de dibujar infraestructuras; se trata de transformar la forma en que interactuamos con la nube, pasando de la labor manual a una era más inteligente y dinámica.

Tags:
Write a comment

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. Si está interesado en leer el aviso de privacidad pinche aquí.

ACEPTAR
Aviso de cookies