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 using the Structurizr CLI or Structurizr Lite (both are free to use).
!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" { databaseInstance = containerInstance database } } } } route53 -> elb "Forwards requests to" "HTTPS" elb -> webApplicationInstance "Forwards requests to" "HTTPS" } } views { deployment springPetClinic "Live" "AmazonWebServicesDeployment" { include * autolayout lr animation { route53 elb webApplicationInstance databaseInstance } } 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
Structurizr
JSON