Today, almost everything is managed as code including applications, infrastructure, configurations, processes, and more. Architectures is a project I created to allow teams to manage architecture as code using Python.

Managing architecture as code has many benefits including:

  • Reducing the toil of managing architecture
  • Enabling common coding practices including pull requests, peer review, and version control
  • Emphasizing architecture design rather than layout

If you are interested in creating architecture diagrams using Python for Azure, Google Cloud Platform (GCP), or Amazon Web Service (AWS), please check it out on GitHub and let me know what you think!

Here is an example diagram created by the Architecture library in dark mode.

This project was based somewhat on work done as part of the Diagrams project, but includes several enhancements including:

  • Support for themes
  • Connections between clusters
  • Simpler syntax and Flow object for connecting multiple nodes and clusters
  • Placement of text around diagram objects

I’m also happy to announce that soon this library should start supporting automated Terraform code generation based on the diagram! I will keep you posted!

%d bloggers like this: