{"id":2,"name":"Amazon Web Services Example","description":"An example AWS deployment architecture.","lastModifiedDate":"2023-02-02T06:21:19.443Z","properties":{"structurizr.dsl":"d29ya3NwYWNlICJBbWF6b24gV2ViIFNlcnZpY2VzIEV4YW1wbGUiICJBbiBleGFtcGxlIEFXUyBkZXBsb3ltZW50IGFyY2hpdGVjdHVyZS4iIHsKCiAgICBtb2RlbCB7CiAgICAgICAgc3ByaW5nUGV0Q2xpbmljID0gc29mdHdhcmVzeXN0ZW0gIlNwcmluZyBQZXRDbGluaWMiICJBbGxvd3MgZW1wbG95ZWVzIHRvIHZpZXcgYW5kIG1hbmFnZSBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdGhlIHZldGVyaW5hcmlhbnMsIHRoZSBjbGllbnRzLCBhbmQgdGhlaXIgcGV0cy4iIHsKICAgICAgICAgICAgd2ViQXBwbGljYXRpb24gPSBjb250YWluZXIgIldlYiBBcHBsaWNhdGlvbiIgIkFsbG93cyBlbXBsb3llZXMgdG8gdmlldyBhbmQgbWFuYWdlIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGUgdmV0ZXJpbmFyaWFucywgdGhlIGNsaWVudHMsIGFuZCB0aGVpciBwZXRzLiIgIkphdmEgYW5kIFNwcmluZyBCb290IiB7CiAgICAgICAgICAgICAgICB0YWdzICJBcHBsaWNhdGlvbiIKICAgICAgICAgICAgfQogICAgICAgICAgICBkYXRhYmFzZSA9IGNvbnRhaW5lciAiRGF0YWJhc2UiICJTdG9yZXMgaW5mb3JtYXRpb24gcmVnYXJkaW5nIHRoZSB2ZXRlcmluYXJpYW5zLCB0aGUgY2xpZW50cywgYW5kIHRoZWlyIHBldHMuIiAiUmVsYXRpb25hbCBkYXRhYmFzZSBzY2hlbWEiIHsKICAgICAgICAgICAgICAgIHRhZ3MgIkRhdGFiYXNlIgogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB3ZWJBcHBsaWNhdGlvbiAtPiBkYXRhYmFzZSAiUmVhZHMgZnJvbSBhbmQgd3JpdGVzIHRvIiAiTXlTUUwgUHJvdG9jb2wvU1NMIgoKICAgICAgICBsaXZlID0gZGVwbG95bWVudEVudmlyb25tZW50ICJMaXZlIiB7CgogICAgICAgICAgICBkZXBsb3ltZW50Tm9kZSAiQW1hem9uIFdlYiBTZXJ2aWNlcyIgewogICAgICAgICAgICAgICAgdGFncyAiQW1hem9uIFdlYiBTZXJ2aWNlcyAtIENsb3VkIgoKICAgICAgICAgICAgICAgIHJlZ2lvbiA9IGRlcGxveW1lbnROb2RlICJVUy1FYXN0LTEiIHsKICAgICAgICAgICAgICAgICAgICB0YWdzICJBbWF6b24gV2ViIFNlcnZpY2VzIC0gUmVnaW9uIgoKICAgICAgICAgICAgICAgICAgICByb3V0ZTUzID0gaW5mcmFzdHJ1Y3R1cmVOb2RlICJSb3V0ZSA1MyIgewogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiSGlnaGx5IGF2YWlsYWJsZSBhbmQgc2NhbGFibGUgY2xvdWQgRE5TIHNlcnZpY2UuIgogICAgICAgICAgICAgICAgICAgICAgICB0YWdzICJBbWF6b24gV2ViIFNlcnZpY2VzIC0gUm91dGUgNTMiCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBlbGIgPSBpbmZyYXN0cnVjdHVyZU5vZGUgIkVsYXN0aWMgTG9hZCBCYWxhbmNlciIgewogICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiAiQXV0b21hdGljYWxseSBkaXN0cmlidXRlcyBpbmNvbWluZyBhcHBsaWNhdGlvbiB0cmFmZmljLiIKICAgICAgICAgICAgICAgICAgICAgICAgdGFncyAiQW1hem9uIFdlYiBTZXJ2aWNlcyAtIEVsYXN0aWMgTG9hZCBCYWxhbmNpbmciCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBkZXBsb3ltZW50Tm9kZSAiQXV0b3NjYWxpbmcgZ3JvdXAiIHsKICAgICAgICAgICAgICAgICAgICAgICAgdGFncyAiQW1hem9uIFdlYiBTZXJ2aWNlcyAtIEF1dG8gU2NhbGluZyIKCiAgICAgICAgICAgICAgICAgICAgICAgIGRlcGxveW1lbnROb2RlICJBbWF6b24gRUMyIiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdzICJBbWF6b24gV2ViIFNlcnZpY2VzIC0gRUMyIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlYkFwcGxpY2F0aW9uSW5zdGFuY2UgPSBjb250YWluZXJJbnN0YW5jZSB3ZWJBcHBsaWNhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBkZXBsb3ltZW50Tm9kZSAiQW1hem9uIFJEUyIgewogICAgICAgICAgICAgICAgICAgICAgICB0YWdzICJBbWF6b24gV2ViIFNlcnZpY2VzIC0gUkRTIgoKICAgICAgICAgICAgICAgICAgICAgICAgZGVwbG95bWVudE5vZGUgIk15U1FMIiB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWdzICJBbWF6b24gV2ViIFNlcnZpY2VzIC0gUkRTIE15U1FMIGluc3RhbmNlIgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFiYXNlSW5zdGFuY2UgPSBjb250YWluZXJJbnN0YW5jZSBkYXRhYmFzZQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcm91dGU1MyAtPiBlbGIgIkZvcndhcmRzIHJlcXVlc3RzIHRvIiAiSFRUUFMiCiAgICAgICAgICAgIGVsYiAtPiB3ZWJBcHBsaWNhdGlvbkluc3RhbmNlICJGb3J3YXJkcyByZXF1ZXN0cyB0byIgIkhUVFBTIgogICAgICAgIH0KICAgIH0KCiAgICB2aWV3cyB7CiAgICAgICAgZGVwbG95bWVudCBzcHJpbmdQZXRDbGluaWMgIkxpdmUiICJBbWF6b25XZWJTZXJ2aWNlc0RlcGxveW1lbnQiIHsKICAgICAgICAgICAgaW5jbHVkZSAqCiAgICAgICAgICAgIGF1dG9sYXlvdXQgbHIKCiAgICAgICAgICAgIGFuaW1hdGlvbiB7CiAgICAgICAgICAgICAgICByb3V0ZTUzCiAgICAgICAgICAgICAgICBlbGIKICAgICAgICAgICAgICAgIHdlYkFwcGxpY2F0aW9uSW5zdGFuY2UKICAgICAgICAgICAgICAgIGRhdGFiYXNlSW5zdGFuY2UKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgc3R5bGVzIHsKICAgICAgICAgICAgZWxlbWVudCAiRWxlbWVudCIgewogICAgICAgICAgICAgICAgc2hhcGUgcm91bmRlZGJveAogICAgICAgICAgICAgICAgYmFja2dyb3VuZCAjZmZmZmZmCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudCAiQ29udGFpbmVyIiB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICNmZmZmZmYKICAgICAgICAgICAgfQogICAgICAgICAgICBlbGVtZW50ICJBcHBsaWNhdGlvbiIgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZCAjZmZmZmZmCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudCAiRGF0YWJhc2UiIHsKICAgICAgICAgICAgICAgIHNoYXBlIGN5bGluZGVyCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHRoZW1lcyBodHRwczovL3N0YXRpYy5zdHJ1Y3R1cml6ci5jb20vdGhlbWVzL2FtYXpvbi13ZWItc2VydmljZXMtMjAyMC4wNC4zMC90aGVtZS5qc29uCiAgICB9Cgp9Cg=="},"configuration":{},"model":{"softwareSystems":[{"id":"1","tags":"Element,Software System","name":"Spring PetClinic","description":"Allows employees to view and manage information regarding the veterinarians, the clients, and their pets.","location":"Unspecified","containers":[{"id":"3","tags":"Element,Container,Database","name":"Database","description":"Stores information regarding the veterinarians, the clients, and their pets.","technology":"Relational database schema","documentation":{}},{"id":"2","tags":"Element,Container,Application","name":"Web Application","description":"Allows employees to view and manage information regarding the veterinarians, the clients, and their pets.","relationships":[{"id":"4","tags":"Relationship","sourceId":"2","destinationId":"3","description":"Reads from and writes to","technology":"MySQL Protocol/SSL"}],"technology":"Java and Spring Boot","documentation":{}}],"documentation":{}}],"deploymentNodes":[{"id":"5","tags":"Element,Deployment Node,Amazon Web Services - Cloud","name":"Amazon Web Services","environment":"Live","instances":"1","children":[{"id":"6","tags":"Element,Deployment Node,Amazon Web Services - Region","name":"US-East-1","environment":"Live","instances":"1","children":[{"id":"12","tags":"Element,Deployment Node,Amazon Web Services - RDS","name":"Amazon RDS","environment":"Live","instances":"1","children":[{"id":"13","tags":"Element,Deployment Node,Amazon Web Services - RDS MySQL instance","name":"MySQL","environment":"Live","instances":"1","containerInstances":[{"id":"14","tags":"Container Instance","environment":"Live","deploymentGroups":["Default"],"instanceId":1,"containerId":"3"}],"children":[],"softwareSystemInstances":[],"infrastructureNodes":[]}],"softwareSystemInstances":[],"containerInstances":[],"infrastructureNodes":[]},{"id":"9","tags":"Element,Deployment Node,Amazon Web Services - Auto Scaling","name":"Autoscaling group","environment":"Live","instances":"1","children":[{"id":"10","tags":"Element,Deployment Node,Amazon Web Services - EC2","name":"Amazon EC2","environment":"Live","instances":"1","containerInstances":[{"id":"11","tags":"Container Instance","relationships":[{"id":"15","sourceId":"11","destinationId":"14","description":"Reads from and writes to","technology":"MySQL Protocol/SSL","linkedRelationshipId":"4"}],"environment":"Live","deploymentGroups":["Default"],"instanceId":1,"containerId":"2"}],"children":[],"softwareSystemInstances":[],"infrastructureNodes":[]}],"softwareSystemInstances":[],"containerInstances":[],"infrastructureNodes":[]}],"infrastructureNodes":[{"id":"7","tags":"Element,Infrastructure Node,Amazon Web Services - Route 53","name":"Route 53","description":"Highly available and scalable cloud DNS service.","relationships":[{"id":"16","tags":"Relationship","sourceId":"7","destinationId":"8","description":"Forwards requests to","technology":"HTTPS"}],"environment":"Live"},{"id":"8","tags":"Element,Infrastructure Node,Amazon Web Services - Elastic Load Balancing","name":"Elastic Load Balancer","description":"Automatically distributes incoming application traffic.","relationships":[{"id":"17","tags":"Relationship","sourceId":"8","destinationId":"11","description":"Forwards requests to","technology":"HTTPS"}],"environment":"Live"}],"softwareSystemInstances":[],"containerInstances":[]}],"softwareSystemInstances":[],"containerInstances":[],"infrastructureNodes":[]}],"customElements":[],"people":[]},"documentation":{"sections":[],"decisions":[],"images":[]},"views":{"deploymentViews":[{"softwareSystemId":"1","key":"AmazonWebServicesDeployment","order":1,"automaticLayout":{"implementation":"Graphviz","rankDirection":"LeftRight","rankSeparation":300,"nodeSeparation":300,"edgeSeparation":0,"vertices":false},"environment":"Live","animations":[{"order":1,"elements":["5","6","7"]},{"order":2,"elements":["8"],"relationships":["16"]},{"order":3,"elements":["11","9","10"],"relationships":["17"]},{"order":4,"elements":["12","13","14"],"relationships":["15"]}],"elements":[{"id":"11","x":1987,"y":671},{"id":"12","x":175,"y":175},{"id":"13","x":175,"y":175},{"id":"14","x":2887,"y":671},{"id":"5","x":175,"y":175},{"id":"6","x":175,"y":175},{"id":"7","x":487,"y":671},{"id":"8","x":1237,"y":671},{"id":"9","x":175,"y":175},{"id":"10","x":175,"y":175}],"relationships":[{"id":"17"},{"id":"16"},{"id":"15"}],"paperSize":"A3_Landscape","dimensions":{"width":3925,"height":1816}}],"configuration":{"branding":{},"styles":{"elements":[{"tag":"Element","background":"#ffffff","shape":"RoundedBox"},{"tag":"Container","background":"#ffffff"},{"tag":"Application","background":"#ffffff"},{"tag":"Database","shape":"Cylinder"}],"relationships":[]},"themes":["https://static.structurizr.com/themes/amazon-web-services-2020.04.30/theme.json"],"terminology":{},"lastSavedView":"AmazonWebServicesDeployment"},"customViews":[],"systemLandscapeViews":[],"systemContextViews":[],"containerViews":[],"componentViews":[],"dynamicViews":[],"filteredViews":[]},"lastModifiedAgent":"structurizr-javascript","lastModifiedUser":"hongtao_huang@foxitsoftware.com"}