クラウドシステムをナビゲートする: diagramsによるアーキテクチャの可視化

スポンサーリンク
クラウドシステムをナビゲートする: diagramsによるアーキテクチャの可視化 用語解説
クラウドシステムをナビゲートする: diagramsによるアーキテクチャの可視化
この記事は約6分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、Diagramsについてご紹介します。

スポンサーリンク

Diagramsについて

Diagramsを使用すると、Pythonコードでクラウドシステムアーキテクチャを描画できます。

これにより、設計ツールを使用せずに新しいシステムアーキテクチャのプロトタイプを作成することができます。

また、既存のシステムアーキテクチャを説明したり視覚化したりすることもできます。

Diagram as Codeを使用すると、アーキテクチャ図の変更をあらゆるバージョン管理システムで追跡できます。

現在、Diagramsは主要なプロバイダー(AWS、Azure、GCP、Kubernetes、Alibaba Cloud、Oracle Cloudなど)をサポートしています。

さらに、オンプレミスノードやSaaS、主要なプログラミングフレームワークと言語もサポートしています。

ただし、実際のクラウドリソースの制御やクラウド形成、teraformコードの生成は行われません。単にクラウドシステムのアーキテクチャ図を描くだけです。

使用する理由

Diagramsを使用する理由はいくつかあります。以下にいくつかの主な理由を挙げます。

  1. 視覚化と共有: ダイアグラムは情報を視覚的に表現するための強力なツールです。アーキテクチャやプロセスなどの複雑な概念を図や図表にすることで、情報を分かりやすく整理し、共有することができます。視覚的な表現は、他の人とのコミュニケーションやプロジェクトの説明に役立ちます。
  2. 複雑なシステムの設計: Diagramsを使用すると、複雑なシステムの設計を効果的に行うことができます。クラウドシステムやネットワークアーキテクチャなど、多くの要素と相互関係がある場合でも、ダイアグラムを使用することで構造を視覚化し、問題を特定しやすくなります。
  3. プロトタイプ作成とデザイン: Diagramsは、新しいシステムのプロトタイプを作成する際にも有用です。設計ツールを使用せずに、Pythonコードなどを書くことで、システムのアーキテクチャを迅速に試行し、デザインを洗練させることができます。
  4. バージョン管理と変更の追跡: Diagramsを使用すると、アーキテクチャ図の変更をバージョン管理システムで追跡することができます。アーキテクチャの変更があった場合、新しいダイアグラムを作成するだけでなく、変更の履歴を管理することも可能です。
  5. サポートされるプラットフォームとツール: Diagramsは、AWS、Azure、GCP、Kubernetes、Alibaba Cloud、Oracle Cloudなど、多くの主要なクラウドプロバイダーをサポートしています。また、オンプレミスノードや主要なプログラミングフレームワークと言語もサポートしています。

これらは、Diagramsを使用する主な理由のいくつかです。ダイアグラムを活用することで、情報の整理と共有、システムの設計とデザイン、変更の追跡などを効果的に行うことができます。

インストール方法

Diagramsを利用するには、Python 3.6 以降が必要です。最初に Python のバージョンを確認してください。 Graphviz を使用して図をレンダリングするため、図を使用するには Graphviz をインストールする必要があります。 graphviz をインストールした後 (または既にインストールしている場合)、diagramsをインストールします。

Pythonのインストール

asdfコマンドでPythonの最新版をインストールします。インストール手順は下記になります。

asdf plugin list all | grep python

asdf plugin add python

asdf list-all python

asdf install python 3.11.3

asdf list python 

asdf local python 3.11.3

下記のコマンドでインストール確認をします。

% python --version
Python 3.11.3

Graphvizのインストール

HomebrewでGraphvizをインストールします。インストール手順は下記になります。

brew install graphviz

インストールしたバージョンは下記になります。

% dot --version
dot - graphviz version 8.0.5 (20230430.1635)

diagramsのインストール

pipを使用して、diagramsをインストールします。インストール手順は下記になります。

pip install diagrams

インストールしたバージョンは下記になります。

% pip show diagrams
Name: diagrams
Version: 0.23.3
Summary: Diagram as Code
Home-page: https://diagrams.mingrammer.com
Author: mingrammer
Author-email: mingrammer@gmail.com
License: MIT
Location: /Users/xxx/.asdf/installs/python/3.11.3/lib/python3.11/site-packages
Requires: graphviz, jinja2, typed-ast
Required-by: 

使用例

下記内容のファイル(diagram.py)を用意します。

# diagram.py
from diagrams import Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams.aws.network import ELB

with Diagram("Web Service", show=False):
    ELB("lb") >> EC2("web") >> RDS("userdb")

下記のコマンドを実行します。

python diagram.py

下記のファイル(web_service.png)が作成されていれば、成功です。

おわりに

今日は、Diagramsについてご紹介しました。

最初は描画ツールを使用してインフラ構成図を書こうとしましたが、大きさや配置にこだわりすぎて、完成までに時間がかかり、作成するのも更新するのも面倒になっていました。

そこで、コードで記述して、図を作成してくれるツールを探していたところ、Diagramsを見つけました。これで、あまりこだわることなく、インフラ構成図を管理できるのではないかと思いますので、よかったら使ってみてください。自分も使ってみます。

よっしー
よっしー

何か質問や相談があれば、遠慮なくコメントしてください。また、エンジニア案件についても、いつでも相談にのっていますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました