J'ai pensé qu'il serait bon de voir l'article "Dessiner un diagramme de configuration du système en Python en utilisant Diagrams | Developers.IO", mais Python Je n'avais pas d'environnement, alors je l'ai essayé avec Docker.
La documentation officielle dit «Installer les diagrammes» avec «pip», installez également «Graphviz». Créez donc un Dockerfile en conséquence.
Dockerfile
FROM python:latest
WORKDIR /app
RUN apt update && \
apt install -y python3-pygraphviz && \
pip install diagrams
Construire. Conservez une image Docker nommée diagrams
pour une exécution facile plus tard.
$ docker build -t diagrams .
Ceci termine la création de l'image Docker diagrams: latest
.
Préparez le fichier Official Quickstart.
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")
C'est assez intuitif, mais consultez la documentation officielle pour plus de détails. Document officiel anglais mais facile à lire car simple et de petit volume. De plus, Exemples est facile à comprendre.
Selon la documentation officielle, si vous avez un environnement Python local, vous pouvez l'exécuter avec $ python diagram.py
.
Puisque nous utilisons le conteneur Docker cette fois, c'est OK si nous montons en volume le répertoire actuel où diagram.py
est créé et exécutons la commande python diagram.py
.
Actuellement, le répertoire actuel ressemble à ceci.
$ ls
Dockerfile diagram.py
Exécutez le conteneur.
$ docker run --rm -v `pwd`:/app diagrams python diagram.py
Si vous ls
à nouveau, un fichier png
sera généré.
$ ls
Dockerfile diagram.py web_service.png
Vérifiez le contenu de web_service.png
.
$ open web_service.png
Le résultat est conforme au Quick Start officiel!
J'ai pu facilement essayer des diagrammes à l'aide de Docker. J'ai essayé des exemples et fait un diagramme de configuration comme je voulais le faire, mais tout ce que je peux dire, c'est qu'il peut être géré par code, qu'il est simple et facile à voir, et qu'il y a beaucoup de nœuds (comme des icônes). D'un autre côté, en ce qui concerne les démangeaisons, quand cela se complique, cela peut être comme "Le placement des nœuds n'est pas là!", Et il semble que vous ne pouvez pas écrire un cluster qui chevauche le cluster, alors "Appliquez le même groupe de sécurité à différentes instances AZ. J'ai senti qu'il était difficile d'exprimer quelque chose comme.
Quoi qu'il en soit, je pense que ça vaut le coup d'essayer.
References
Recommended Posts