The Structurizr DSL (as mentioned on the ThoughtWorks Tech Radar - Techniques - Diagrams as code) allows you to create multiple diagrams based upon the C4 model, in multiple output formats, from a single DSL source file. Some features are unavailable on this demo page - we recommend signing up for a free account and/or using the Structurizr CLI.

!docs, !adrs, !include, logo, icon are only available via the CLI
workspace "Amazon Web Services Example" "An example AWS deployment architecture." { model { springPetClinic = softwaresystem "Spring PetClinic" "Allows employees to view and manage information regarding the veterinarians, the clients, and their pets." "Spring Boot Application" { webApplication = container "Web Application" "Allows employees to view and manage information regarding the veterinarians, the clients, and their pets." "Java and Spring Boot" database = container "Database" "Stores information regarding the veterinarians, the clients, and their pets." "Relational database schema" "Database" } webApplication -> database "Reads from and writes to" "JDBC/SSL" deploymentEnvironment "Live" { deploymentNode "Amazon Web Services" "" "" "Amazon Web Services - Cloud" { deploymentNode "US-East-1" "" "" "Amazon Web Services - Region" { route53 = infrastructureNode "Route 53" "" "" "Amazon Web Services - Route 53" elb = infrastructureNode "Elastic Load Balancer" "" "" "Amazon Web Services - Elastic Load Balancing" deploymentNode "Autoscaling group" "" "" "Amazon Web Services - Auto Scaling" { deploymentNode "Amazon EC2" "" "" "Amazon Web Services - EC2" { webApplicationInstance = containerInstance webApplication } } deploymentNode "Amazon RDS" "" "" "Amazon Web Services - RDS" { deploymentNode "MySQL" "" "" "Amazon Web Services - RDS_MySQL_instance" { containerInstance database } } } } route53 -> elb "Forwards requests to" "HTTPS" elb -> webApplicationInstance "Forwards requests to" "HTTPS" } } views { deployment springPetClinic "Live" "AmazonWebServicesDeployment" { include * autolayout lr } styles { element "Element" { shape roundedbox background #ffffff } element "Database" { shape cylinder } element "Infrastructure Node" { shape roundedbox } } themes https://static.structurizr.com/themes/amazon-web-services-2020.04.30/theme.json } }
Structurizr
Diagram
Structurizr
Graph
Export
PlantUML
Export
C4-PlantUML
Export
Mermaid
Export
DOT
Export
WebSequenceDiagrams
Export
Ilograph