18 Punkte von GN⁺ 2024-11-05 | 3 Kommentare | Auf WhatsApp teilen
  • Diagrams ist ein Tool, mit dem sich Cloud-Systemarchitekturen mit Python-Code zeichnen lassen
    • Es wurde dafür entwickelt, beim Prototyping neuer Systemarchitekturen ohne Design-Tools genutzt werden zu können
    • Es kann auch verwendet werden, um bestehende Systemarchitekturen zu erklären oder zu visualisieren
    • Diagram as Code ermöglicht es, Änderungen an Architekturdiagrammen in Versionsverwaltungssystemen nachzuverfolgen
  • Unterstützte wichtige Anbieter
    • Unterstützt wichtige Cloud-Anbieter wie AWS, Azure, GCP, Kubernetes, Alibaba Cloud und Oracle Cloud
    • Unterstützt außerdem On-Premises-Knoten, SaaS sowie wichtige Programmier-Frameworks und -Sprachen
  • Hinweise
    • Steuert keine tatsächlichen Cloud-Ressourcen und erzeugt keinen CloudFormation- oder Terraform-Code
    • Wird ausschließlich zum Zeichnen von Cloud-Systemarchitekturdiagrammen verwendet

3 Kommentare

 
xguru 2024-11-06

Diagrams - Cloud-Architektur mit Python-Code zeichnen
Das wurde von Minjae Kwon von Karrot entwickelt, und die GitHub-Stars sind inzwischen auf 38.700 gestiegen!

 
GN⁺ 2024-11-05
Hacker-News-Kommentare
  • Dieses Projekt ist ein Wrapper für Graphviz, der formatierte .dot-Dateien erzeugt und damit bessere visuelle Ergebnisse als rohe gv-Dateien liefert

    • Die Spezifikation in Python bietet theoretisch Vorteile wie IDE-Highlighting und Autovervollständigung, ist in der Praxis aber nichts für Leute, die weder Python noch Golang lernen möchten
    • Für kleine Architekturdiagramme ist die Layout-Engine okay, bei größerem Umfang sieht das Ergebnis jedoch nicht gut aus
    • Ich nutze draw.io, um Absicht oder Design zu erklären, und verwende für dynamische Elemente Graphviz mit Styling
    • Ich würde gern eine Erweiterung der dot-Sprache sehen, die Threat Modeling und Rendering-Styling ermöglicht
  • D2 ist ein ziemlich cooles Tool

    • NetBox von Digital Ocean kann Diagramme aus einer Netzwerk-Asset-Datenbank erzeugen
    • NetBox fungiert als Single Source of Truth für die Netzwerkinfrastruktur und definiert sowie validiert den Sollzustand von Netzwerkkomponenten und Ressourcen
    • Jede Datei steht für einen einzelnen physischen Gerätetyp und kann in NetBox geladen werden, sodass keine neuen Gerätetyp-Definitionen manuell erstellt werden müssen
    • Gerätebilder sind im PNG-Format nach Herstellern organisiert und können in NetBox geladen werden, sodass Gerätebilder nicht eigens erstellt werden müssen
  • Persönlich nutze ich Mermaid für Sequenzdiagramme und Flussdiagramme

    • DaC scheint für Infrastruktur die bessere Wahl zu sein
  • Ein DSL als Programmiersprache zu implementieren wirkt unnötig komplex, wenn statische Datenstrukturen erzeugt werden sollen

    • Ein DSL ist nützlich, wenn es von anderem Code verwendet wird, hat in diesem Fall aber im Vergleich zu Alternativen Overhead
  • Die Programmiersprache PostScript ist stackbasiert und hervorragend für Zeichnungen und Diagramme geeignet

    • Ghostscript ist ein freier PostScript-Interpreter
  • Ich hasse es, Visio oder LucidChart zu verwenden, und zeichne Diagramme lieber mit Python

    • Durch die Verwendung von Python kann man zwei Aufgaben gleichzeitig erledigen
  • Beim Anblick solcher Bibliotheken denke ich an eine effiziente API, mit der LLMs Diagramme meistern könnten

  • Ich freue mich, dass es einen Satz von „Generic“-Knoten gibt

    • Architekturdiagramme, die sich zu stark auf Namen oder Icons bestimmter Cloud-Plattformen stützen, finde ich unangenehm
    • Auf den Verbindungslinien zwischen den Knoten werden keine nützlichen Informationen angezeigt
 
healingme 2024-11-12

Es gibt auch plantuml.