18 pontos por GN⁺ 2024-11-05 | 3 comentários | Compartilhar no WhatsApp
  • Diagrams é uma ferramenta que permite desenhar arquiteturas de sistemas em nuvem com código Python
    • Foi criada para ser usada sem ferramentas de design ao prototipar uma nova arquitetura de sistema
    • Também pode ser usada para descrever ou visualizar arquiteturas de sistemas existentes
    • Diagram as Code permite rastrear mudanças em diagramas de arquitetura em sistemas de controle de versão
  • Principais provedores compatíveis
    • Suporta os principais provedores de nuvem, como AWS, Azure, GCP, Kubernetes, Alibaba Cloud e Oracle Cloud
    • Também oferece suporte a nós on-premises, SaaS e aos principais frameworks e linguagens de programação
  • Observações
    • Não controla recursos reais de nuvem nem gera código de CloudFormation ou Terraform
    • É usado apenas para desenhar diagramas de arquitetura de sistemas em nuvem

3 comentários

 
xguru 2024-11-06

Diagrams - desenhando arquitetura de nuvem com código Python
Foi criado por Minjae Kwon, da Danggeun Market, e as estrelas no GitHub já chegaram a 38.700!

 
GN⁺ 2024-11-05
Comentários do Hacker News
  • Este projeto é um wrapper do Graphviz, gerando arquivos .dot com estilo aplicado para oferecer um resultado visual melhor do que arquivos gv brutos

    • Especificar usando Python, em teoria, traz vantagens como destaque de sintaxe e autocompletar na IDE, mas na prática não é adequado para quem não quer aprender Python ou Golang
    • Para diagramas pequenos de arquitetura, o mecanismo de layout funciona bem, mas em escala maior o resultado não fica bonito
    • Uso o draw.io para explicar intenção ou design, e Graphviz com estilos para elementos dinâmicos
    • Gostaria de ver uma extensão da linguagem dot que permitisse modelagem de ameaças e estilização de renderização
  • D2 é uma ferramenta bem legal

    • O NetBox, da Digital Ocean, pode gerar diagramas a partir de um banco de dados de ativos de rede
    • O NetBox funciona como fonte única da verdade para a infraestrutura de rede, definindo e validando o estado pretendido dos componentes e recursos da rede
    • Cada arquivo representa um tipo de dispositivo físico individual e pode ser carregado no NetBox, eliminando a necessidade de criar manualmente novas definições de tipo de dispositivo
    • As imagens dos dispositivos estão em formato PNG, organizadas por fabricante, e podem ser carregadas no NetBox, eliminando a necessidade de criar imagens de dispositivos
  • Pessoalmente, uso Mermaid para diagramas de sequência e fluxogramas

    • DaC parece ser uma opção melhor para infraestrutura
  • Implementar uma DSL como linguagem de programação parece complexo para gerar estruturas de dados estáticas

    • Uma DSL é útil quando usada por outro código, mas neste caso há overhead em comparação com as alternativas
  • A linguagem de programação PostScript é baseada em pilha e excelente para figuras e diagramas

    • Ghostscript é um interpretador PostScript gratuito
  • Não gosto de usar Visio ou LucidChart e prefiro desenhar diagramas usando Python

    • Ao usar Python, é possível resolver duas tarefas ao mesmo tempo
  • Ao ver essas bibliotecas, penso em uma API eficiente com a qual os LLMs poderiam dominar diagramas

  • Fico feliz que exista um conjunto de nós "Generic"

    • Diagramas de arquitetura que dependem demais de nomes ou ícones de plataformas de nuvem específicas me incomodam
    • As linhas de conexão entre os nós não mostram informações úteis
 
healingme 2024-11-12

Também há plantuml.