Skip to main content

Examples

Expand to see structurizr source
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." {
webApplication = container "Web Application" "Allows employees to view and manage information regarding the veterinarians, the clients, and their pets." "Java and Spring Boot" {
tags "Application"
}
database = container "Database" "Stores information regarding the veterinarians, the clients, and their pets." "Relational database schema" {
tags "Database"
}
}

webApplication -> database "Reads from and writes to" "MySQL Protocol/SSL"

live = deploymentEnvironment "Live" {

deploymentNode "Amazon Web Services" {
tags "Amazon Web Services - Cloud"

region = deploymentNode "US-East-1" {
tags "Amazon Web Services - Region"

route53 = infrastructureNode "Route 53" {
description "Highly available and scalable cloud DNS service."
tags "Amazon Web Services - Route 53"
}

elb = infrastructureNode "Elastic Load Balancer" {
description "Automatically distributes incoming application traffic."
tags "Amazon Web Services - Elastic Load Balancing"
}

deploymentNode "Autoscaling group" {
tags "Amazon Web Services - Auto Scaling"

deploymentNode "Amazon EC2" {
tags "Amazon Web Services - EC2"

webApplicationInstance = containerInstance webApplication
}
}

deploymentNode "Amazon RDS" {
tags "Amazon Web Services - RDS"

deploymentNode "MySQL" {
tags "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
}
element "Database" {
shape cylinder
}
}
}

}