Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

C4

...

Code Block
languagenone
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

...

Code Block
languagenone
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
    }

}