I’ve built an infrastructure diagram drawing library. You can see it on GitHub and this website.
Diagrams let you draw a cloud system architecture in Python code. It was born for prototyping a new system architecture design without any design tools.
You can also describe or visualize the existing system architecture. Diagrams currently supports these major five providers: AWS, Azure, GCP, Kubernetes, and Alibaba Cloud.
Diagram as Code also allows you to track the architecture diagram changes on any version control system.
Note: It does not control any actual cloud resources nor generate cloud formation or terraform code, but only for drawing cloud system architecture diagrams.
You can start with this quick start. You can go to the guides for more details.
Here are some examples:
from diagrams import Diagram
from diagrams.aws.compute import EC2
from diagrams.aws.database import RDS
from diagrams.aws.network import ELB
with Diagram("Grouped Workers", show=False, direction="TB"):
ELB("lb") >> [EC2("worker1"),
EC2("worker2"),
EC2("worker3"),
EC2("worker4"),
EC2("worker5")] >> RDS("events")
from diagrams import Cluster, Diagram
from diagrams.aws.compute import ECS, EKS, Lambda
from diagrams.aws.database import Redshift
from diagrams.aws.integration import SQS
from diagrams.aws.storage import S3
with Diagram("Event Processing", show=False):
source = EKS("k8s source")
with Cluster("Event Flows"):
with Cluster("Event Workers"):
workers = [ECS("worker1"),
ECS("worker2"),
ECS("worker3")]
queue = SQS("event queue")
with Cluster("Processing"):
handlers = [Lambda("proc1"),
Lambda("proc2"),
Lambda("proc3")]
store = S3("events store")
dw = Redshift("analytics")
source >> workers >> queue >> handlers
handlers >> store
handlers >> dw
You can find all the examples on the examples page.
Thank you!
☞ Python Tutorials for Beginners - Learn Python Online
☞ Learn Python in 12 Hours | Python Tutorial For Beginners
☞ Complete Python Tutorial for Beginners (2019)
☞ Python Programming Tutorial | Full Python Course for Beginners 2019