If you are looking to generate multi-cloud or custom cloud architectures diagrams from code quickly, then look at “Diagram as Code for prototyping cloud system architectures” tool.
The diagrams as a code tool supports all cloud providers like AWS, Azure, Google Cloud, Alibaba Cloud, IBM and their respective services/components. If some of the service nodes are not available, you can create one using the custom node feature.
I used the custom extensions node to develop my own constructs for a Google Cloud CI/CD process using Cloud Code,
For the AWS version of the code, please click here.
Link to Github repo – https://github.com/mingrammer/diagrams
Following is the custom code for the above diagram,
from diagrams import Cluster, Diagram, Edge
from diagrams.custom import Custom
with Diagram("Google Cloud", show=True):
developer = Custom("","./my_extensions/developer.png")
operationsApproval = Custom("","./my_extensions/operations-approval.png")
with Cluster("Google Cloud"):
develop = Custom("","./my_extensions/develop-cloud-code.png")
sourceRepo = Custom("","./my_extensions/cloud-source-repo.png")
ciBuild = Custom("","./my_extensions/ci-cloud-build.png")
ciDeploy = Custom("","./my_extensions/cloud-deploy.png")
buildArtifact = Custom("","./my_extensions/cloud-storage-build-artifact.png")
deployArtifact = Custom("","./my_extensions/deploy-artifacts-cloud-storage.png")
artifactRegistry = Custom("","./my_extensions/artifact-registry.png")
stagingCluster = Custom("","./my_extensions/staging-cluster-gke.png")
productionCluster = Custom("","./my_extensions/production-cluster-gke.png")
ciDeploy >> stagingCluster
ciDeploy >> deployArtifact
ciDeploy >> productionCluster
artifactRegistry >> stagingCluster
artifactRegistry >> productionCluster
ciBuild >> [buildArtifact,ciDeploy,artifactRegistry]
sourceRepo >> Edge(label="trigger") >>ciBuild
develop >> sourceRepo
operationsApproval >> Edge(label="Approval") >> productionCluster
developer >> develop




