Skip to end of metadata
Go to start of metadata
C4
workspace {
model {
user = person "Spiner"
dikki = softwareSystem "Dikki" "Repartidores" "Mobile App" {
monolithicApp = container "monolitic backend"
service1 = container "service 1"
service2 = container "service 2"
service3 = container "service 3"
mongoDB = container "MongoDB" "Stores the user preferences" "MongoDB Atlas" "Database"
}
email = softwaresystem "E-mail System" "Microsoft Exchange" "Existing System"
ciam = softwareSystem "CIAM" "" "Existing System"
checkout = softwareSystem "CheckOut" "" "Existing System"
user -> dikki "Uses"
dikki -> ciam "authentify user"
dikki -> checkout "process payment"
dikki -> email "Sends e-mail using"
email -> user "Sends e-mails to"
monolithicApp -> mongoDB "Reads from and writes to"
user -> monolithicApp "Info"
}
views {
systemContext dikki "SystemContext" {
include *
autolayout lr
}
container dikki "Containers" {
include *
/*
animation {
customer mainframe email
webApplication
singlePageApplication
mobileApp
apiApplication
database
}
*/
autoLayout
}
/*
container softwareSystem {
include *
autolayout lr
}
ß*/
theme default
styles {
element "Person" {
background #8533FF
fontSize 22
shape Person
}
element "Database" {
shape Cylinder
}
element "Mobile App" {
shape MobileDevicePortrait
}
element "Existing System" {
background #999999
color #ffffff
}
}
}
}
Arquitectura AWS / GCP
workspace "Amazon Web Services Example" "An example AWS deployment architecture." {
model {
springPetClinic = softwaresystem "Spin Food" "Allows spiners to view and manage local food requests." {
dikki = container "Dikki" "Dikki application" "Node.js" {
tags "Application"
}
webApplication = container "Web Application" "ToDo" "Java and Spring Boot" {
tags "Application"
}
database = container "Database" "Stores information regarding the restaurants, the clients, and their orders." "NoSQL database schema" {
tags "Database"
}
}
dikki -> database "Reads from and writes to" "MongoDB 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 "VPC (172.31.0.0/16)" {
tags "Amazon Web Services - VPC"
deploymentNode "Public subnet (172.31.16.0/20)" {
tags "Amazon Web Services - VPC subnet public"
deploymentNode "sf_ubuntu_nodejs_api_dev_rep_01" {
tags "Amazon Web Services - EC2"
webApplicationInstance1 = containerInstance webApplication
}
}
deploymentNode "Public subnet (172.31.48.0/20)" {
tags "Amazon Web Services - VPC subnet public"
deploymentNode "sf_ubuntu_nodejs_api_dev_02" {
tags "Amazon Web Services - EC2"
dikkiInstance = containerInstance dikki
}
}
deploymentNode "Public subnet (172.31.80.0/20)" {
tags "Amazon Web Services - VPC subnet public"
deploymentNode "bastion" {
tags "Amazon Web Services - EC2"
webApplicationInstance3 = containerInstance webApplication
}
}
}
deploymentNode "Amazon RDS" {
tags "Amazon Web Services - RDS"
deploymentNode "MongoDB Atlas" {
tags "Amazon Web Services - DocumentDB with MongoDB compatibility"
databaseInstance = containerInstance database
}
}
}
}
route53 -> elb "Forwards requests to" "HTTPS"
elb -> dikkiInstance "Forwards requests to" "HTTPS"
}
}
views {
deployment springPetClinic "Live" "AmazonWebServicesDeployment" {
include *
autolayout lr
animation {
route53
elb
dikkiInstance
databaseInstance
}
}
styles {
element "Element" {
shape roundedbox
background #ffffff
}
element "Container" {
background #ffffff
}
element "Application" {
background #ffffff
}
element "Database" {
shape cylinder
}
}
themes https://static.structurizr.com/themes/amazon-web-services-2020.04.30/theme.json
}
}
Add Comment