Diagrams as code 2.0
Structurizr builds upon "diagrams as code", allowing you to create multiple diagrams from a single model, using a number of tools and programming languages. This Structurizr DSL example creates two diagrams, based upon a single set of elements and relationships.
workspace {
model {
user = person "User"
softwareSystem = softwareSystem "Software System" {
webapp = container "Web Application" {
user -> this "Uses"
}
container "Database" {
webapp -> this "Reads from and writes to"
}
}
}
views {
systemContext softwareSystem {
include *
autolayout lr
}
container softwareSystem {
include *
autolayout lr
}
theme default
}
}
![Multiple diagrams from a single model](https://webcf.waybackmachine.org/web/20220514022941im_/https://static.structurizr.com/img/help/multiple-diagrams-1.png)
![Multiple diagrams from a single model](https://webcf.waybackmachine.org/web/20220514022941im_/https://static.structurizr.com/img/help/multiple-diagrams-2.png)
Designed for the C4 model
Structurizr is specifically designed to support the C4 model for visualising software architecture. Diagrams are interactive (e.g. zoom in/out), animatable, and embeddable. A diagram key/legend is automatically generated for each diagram too.
Diagram your cloud architecture
Use themes to help document your cloud architecture; with prebuilt themes for Amazon Web Services, Microsoft Azure, Google Cloud Platform, Oracle Cloud Infrastructure, and Kubernetes.
Architecture decision records (ADRs)
Publish architecture decision records (ADRs) that capture your significant design decisions.
Visualise links between architecture decision records.