Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current Restore this Version View Page History

« Previous Version 2 Next »

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
    }

}

0 Comments

You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.