18 ポイント 投稿者 GN⁺ 2024-11-05 | 3件のコメント | WhatsAppで共有
  • Diagramsは、Pythonコードでクラウドシステムアーキテクチャを描けるようにするツール
    • 新しいシステムアーキテクチャをプロトタイピングする際に、デザインツールなしで使えるよう作られている
    • 既存のシステムアーキテクチャを説明したり可視化したりする用途にも使用可能
    • Diagram as Codeにより、アーキテクチャダイアグラムの変化をバージョン管理システムで追跡できる
  • サポートする主なプロバイダー
    • AWS、Azure、GCP、Kubernetes、Alibaba Cloud、Oracle Cloudなど主要なクラウドプロバイダーをサポート
    • オンプレミスノード、SaaS、主要なプログラミングフレームワークと言語もサポート
  • 注意事項
    • 実際のクラウドリソースを制御したり、CloudFormationやTerraformのコードを生成したりはしない
    • クラウドシステムアーキテクチャのダイアグラムを描く用途にのみ使用される

3件のコメント

 
xguru 2024-11-06

Diagrams - Pythonコードでクラウドアーキテクチャを描く
キャロットマーケットのクォン・ミンジェさんが作ったものですが、GitHub Star はすでに 38,700 個まで増えていますね!

 
GN⁺ 2024-11-05
Hacker Newsのコメント
  • このプロジェクトはGraphvizのラッパーで、スタイル適用済みの .dot ファイルを生成し、生の gv ファイルよりも優れた視覚効果を提供する

    • Pythonで記述することは理論上、IDEのハイライトや補完などの利点をもたらすが、実際にはPythonやGolangを学びたくない人には向いていない
    • 小規模なアーキテクチャ図ではレイアウトエンジンはまずまずだが、規模が大きくなると見栄えが悪くなる
    • draw.ioを使って意図やデザインを説明し、動的な要素にはスタイル付きのGraphvizを使っている
    • dot言語を拡張して、脅威モデリングとレンダリングのスタイリングを可能にするものを見てみたい
  • D2はかなり優れたツール

    • DigitalOceanのNetBoxは、ネットワーク資産データベースから図を生成できる
    • NetBoxはネットワークインフラの信頼できる唯一の情報源として機能し、ネットワーク構成要素とリソースの意図された状態を定義・検証する
    • 各ファイルは個別の物理デバイスタイプを表し、NetBoxに読み込むことで新しいデバイスタイプ定義を手動で作成する必要がなくなる
    • デバイス画像はPNG形式でメーカーごとに整理されており、NetBoxに読み込むことでデバイス画像を作成する必要がなくなる
  • 個人的にはシーケンス図とフローチャートにMermaidを使っている

    • DaCはインフラにはより良い選択肢に見える
  • DSLをプログラミング言語として実装するのは、静的なデータ構造を生成する際には複雑に見える

    • DSLは他のコードから使われる場合には有用だが、このケースでは代替手段に比べてオーバーヘッドがある
  • PostScriptプログラミング言語はスタックベースで、図やダイアグラムに優れている

    • Ghostscriptは無料のPostScriptインタープリタ
  • VisioやLucidChartを使うのは嫌いで、Pythonを使って図を描く方を好む

    • Pythonを使うことで2つの作業を同時に処理できる
  • こうしたライブラリを見ていると、LLMがダイアグラムを習得できる効率的なAPIについて考えさせられる

  • "Generic" ノードセットがあるのはうれしい

    • 特定のクラウドプラットフォームの名前やアイコンに過度に依存したアーキテクチャ図には違和感がある
    • ノード間の接続線に有用な情報が表示されていない
 
healingme 2024-11-12

PlantUML もあります。