18 puntos por GN⁺ 2024-11-05 | 3 comentarios | Compartir por WhatsApp
  • Diagrams es una herramienta que permite dibujar arquitecturas de sistemas en la nube con código Python
    • Fue creada para poder usarse sin herramientas de diseño al prototipar una nueva arquitectura de sistema
    • También puede usarse para explicar o visualizar una arquitectura de sistema existente
    • Diagram as Code permite rastrear los cambios en los diagramas de arquitectura dentro de un sistema de control de versiones
  • Principales proveedores compatibles
    • Compatible con proveedores de nube principales como AWS, Azure, GCP, Kubernetes, Alibaba Cloud y Oracle Cloud
    • También es compatible con nodos on-premise, SaaS y los principales frameworks y lenguajes de programación
  • Precauciones
    • No controla recursos reales en la nube ni genera código de CloudFormation o Terraform
    • Se usa únicamente para dibujar diagramas de arquitectura de sistemas en la nube

3 comentarios

 
xguru 2024-11-06

Diagrams - dibujar arquitectura de nube con código Python
Lo creó Minjae Kwon de Karrot Market, ¡y ahora ya llegó a 38,700 estrellas en GitHub!

 
GN⁺ 2024-11-05
Opiniones de Hacker News
  • Este proyecto es un wrapper de Graphviz que genera archivos .dot con estilo aplicado, lo que ofrece un mejor resultado visual que los archivos gv sin procesar

    • Especificarlo usando Python, en teoría, ofrece ventajas como resaltado y autocompletado del IDE, pero en la práctica no es adecuado para quienes no quieren aprender Python o Golang
    • Para diagramas de arquitectura pequeños, el motor de layout está bien, pero a mayor escala no se ve bien
    • Uso draw.io para explicar la intención o el diseño, y Graphviz con estilos para los elementos dinámicos
    • Me gustaría ver extensiones del lenguaje dot que permitan modelado de amenazas y estilizado del renderizado
  • D2 es una herramienta bastante buena

    • NetBox de Digital Ocean puede generar diagramas a partir de una base de datos de activos de red
    • NetBox funciona como la fuente de verdad de la infraestructura de red, definiendo y validando el estado previsto de los componentes y recursos de red
    • Cada archivo representa un tipo de dispositivo físico individual y puede cargarse en NetBox, eliminando la necesidad de crear manualmente nuevas definiciones de tipos de dispositivo
    • Las imágenes de dispositivos están en formato PNG y organizadas por fabricante, y pueden cargarse en NetBox, eliminando la necesidad de crear imágenes de dispositivos
  • Personalmente uso Mermaid para diagramas de secuencia y flujogramas

    • DaC parece una mejor opción para infraestructura
  • Implementar un DSL como lenguaje de programación parece complejo cuando se trata de generar estructuras de datos estáticas

    • Un DSL es útil cuando se usa desde otro código, pero en este caso tiene más sobrecarga que las alternativas
  • El lenguaje de programación PostScript está basado en pila y es excelente para dibujos y diagramas

    • Ghostscript es un intérprete gratuito de PostScript
  • No me gusta usar Visio ni LucidChart, y prefiero hacer diagramas con Python

    • Usar Python me permite resolver dos tareas al mismo tiempo
  • Al ver estas bibliotecas, pienso en una API eficiente con la que un LLM pueda dominar los diagramas

  • Me alegra que exista un conjunto de nodos "Generic"

    • Me incomodan los diagramas de arquitectura que dependen demasiado del nombre o los íconos de una plataforma cloud específica
    • Las líneas de conexión entre nodos no muestran información útil
 
healingme 2024-11-12

También hay plantuml.