SlideShare a Scribd company logo
1 of 45
Download to read offline
S U M M I T
T a i pe i 2 0 1 9
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Modern Application Design with Amazon ECS
Neo Chen
Solutions Architect
AWS Hong Kong & Taiwan
A W S T P E S U M M I T 2 0 1 9
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Best practices for Developing Modern Application
• Componentize applications using microservices
• Secure the entire application lifecycle by automating security
• Simplify infrastructure management with serverless technologies
• Enable experimentation by creating small autonomous teams
• Update applications and infrastructure quickly by automating CI/CD
• Standardize operations by modeling apps and infrastructure as code
• Improve application performance by increasing observability
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
What changes have
to be made
in this new world?
Architectural patterns
Operational model
Software delivery
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
When the impact of change is small,
release velocity can increase
Monolith
Does everything
Microservices
Does one thing
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Microservice development lifecycle
developers services
monitorreleasetestbuild
delivery pipelines
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Containers and Microservices
• Do one thing, really well
• Any app, any language
• Isolated execution environment
• Test and deploy same artifact
• Faster startup
Container Container
Container Container
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS Container Services landscape
MANAGEMENT
Deployment, scheduling, scaling &
management of containerized
applications
HOSTING
Where the containers run
IMAGE REGISTRY
Container image repository
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Request and Assign GPUs for ECS tasks
GPU Pinning
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GPU Pinning
{"containerDefinitions": [
{ "logConfiguration": {...} },
"cpu": 1024,
"resourceRequirements": [ {
"type": "GPU",
"value": "1" } ],
"image": "brentley/tensorflow-gpu:latest",
"essential": true,
"name": "tensorflow-gpu"
} ],
"memory": "6144",
"family": "tensorflow-1-gpu",
"cpu": "1024",
"placementConstraints": []}
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
GPU Pinning
$ aws ecs register-task-definition --cli-input-json 
file://gpu-8-taskdef.json
$ aws ecs run-task --cluster $clustername 
--task-definition tensorflow-8-gpu
S U M M I T
GPU Pinning
{ "tasks": [
{
"taskArn": "arn:aws:ecs:us-east-1:xxxxxxxxxxxx:task/d92a5dfc-eb27-4164-9c1e-774ce76c09a3",
...
"containers": [
{
"containerArn": "arn:aws:ecs:us-east-1:xxxxxxxxxxxx:container/bfeb5861-044e-4630-a893-d079a73ac9eb",
"taskArn": "arn:aws:ecs:us-east-1:xxxxxxxxxxxx:task/d92a5dfc-eb27-4164-9c1e-774ce76c09a3",
"name": "tensorflow-gpu",
"gpuIds": [
"GPU-17b47bc3-9714-d453-1a5d-1708c2f70343",
"GPU-3b5a4f55-3390-563b-b753-8b1b694ab912",
"GPU-5948b416-092f-29f6-ea77-f9980fc88e68",
"GPU-782cf655-c047-1adf-4369-327bcdb904c4",
"GPU-8e8330b6-ec47-7617-9853-c9c3ee2d364c",
"GPU-8f7b6c73-f179-126e-3528-3ee0efb13357",
"GPU-d162715b-e84e-d1c7-40ee-d388df900dc5",
"GPU-f4f81c16-31be-d200-9521-151b5b39346d"
],
"lastStatus": "PENDING",
"cpu": "1024",
"networkInterfaces": [] }]}]}
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Auto manage HTTP and DNS
namespaces for ECS services
Service Discovery
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Server Side Service Discovery Pattern
• Connections are proxied
• Discovery is abstracted away
• Availability and capacity impact
• Additional latency
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Client Side Service Discovery Pattern
• Clients connect directly to providers
• Fewer components in the system
• Clients must be registry aware
• Client side load balancing
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Service Discovery
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Service Discovery
$ ecs-cli compose --project-name ecsdemo-nodejs
service up 
--create-log-groups 
--private-dns-namespace service 
--enable-service-discovery 
--cluster-config fargate-demo 
--vpc $vpc
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Service Discovery
$ cat docker-compose.yml
version: '3'
services:
ecsdemo-frontend:
environment:
- NODEJS_URL=http://ecsdemo-nodejs.service:3000
…
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
AWS CodeDeploy
AWS CodeDeploy now automates
blue-green deployments to AWS
Fargate and Amazon Elastic
Container Service (ECS)
New
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
CodeDeploy-ECS blue-green deployments
• Provisions “green” tasks, then flips traffic at the load balancer
• Validation “hooks” enable testing at each stage of the deployment
• Fast rollback to “blue” tasks in seconds if case of hook failure or
CloudWatch alarms
• Monitor deployment status and history via console, API, Amazon SNS
notifications, and CloudWatch Events
• Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs
deploy” command in Jenkins
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Life before X-Ray
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Visibility into downstream AWS services integration
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Created subsegments for data
access layer to capture queries
performance
Troubleshooting SQL queries performance
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
SQL performance logs
Latency (ms) Parameters SQL Command
7.0 @RecID Int 32639064 IF EXISTS (SELECT 1 FROM dbo.Schedule_Detail sd LEFT JOIN dbo.Schedule s on s.Schedule_RecID =
sd.Schedule_RecID . . .
34.8 IF EXISTS (SELECT sr.SR_Location_RecID FROM DBO.SR_LOCATION as sr WHERE sr.SR_Location_RecID =24)
SELECT . . .
1.0 @recid Int 65 SELECT Owner_Level_RecID FROM dbo.User_Defined_Field_Owner_Level WHERE User_Defined_Field_RecID =
@recid
18.6 @serviceRecId Int 11111899 SELECT Company_RecID FROM dbo.SR_Service WHERE SR_Service_RecID = @serviceRecId
123.7 @problemFlag Int 1 . . . exec dbo.usp_getSRDetailTable @problemFlag, @resolutionFlag, @internalAnalysisFlag, @serviceRecID,
@includeChild
1201.8 @problemFlag Int 1 . . . exec dbo.usp_getSRDetailTable @problemFlag, @resolutionFlag, @internalAnalysisFlag, @serviceRecID,
@includeChild
batch-get-traces --trace-ids <trace-ids>
<value> <value>
Pass trace-ids for SQL calls
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
X-Ray advantages
• Provides architects with a live architecture diagram
• Pinpoints the bottlenecks
• Helps optimize performance
• Helps optimize SQL queries
• Enables data-driven architecture decisions
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Modern Application Design with
Amazon ECS
Julian Liu
Architect
Owlting Inc.
A W S T P E S U M M I T 2 0 1 9
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
About Owlting
OBS OwlNest OwlTing Market Local Experiences
* OwlJourney
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Owlting on ECS
Simple, yet powerful
You don’t pay for the control plane
Seamlessly integration
• Amazon CloudWatch
• AWS Identity and Access Management (IAM)
• Amazon Virtual Private Cloud (Amazon VPC)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
CI/CD with ECS CodePipeline CodeBuild for global
deployment
AWS CodeBuild
• Trustable
• Flexible for all kinds of work loads
AWS CodePipeline
• Deploy directly to ECS
• Blue Green deployment
• Cross region deployment
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
CloudWatch event with ECS for scheduled jobs at
scale
ECS Lambda Crontab on
instances
Reliability ◎ ◎ △
Scalability ◎ ◎ △
Performance ◎ ○ ◎
Cost ◎ △ ◎
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Data Persistency with ECS by Amazon EFS
EFS is a perfect fit for storage sharing
• Configurations files
• Static assets, like jpg, css, js, etc…
VPC
ECS Cluster
Instance Instance
Availability Zone 1 Availability Zone 2
Amazon Elastic File
System
File system File system
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Build Your Own L7 Router on top of ECS
HAProxy
Openresty
• lua-resty-dns-client
backend owltingweb
server-template owltingweb- 2 _http._tcp.owlting-web.local
check resolvers dns
access_by_lua '
local dns_client = require "resty.dns.client"
local toip = dns_client.toip
local ip, port = toip("_http._tcp.owlting-web.local ", 61001 )
';
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Looking forward
Choose what suits you best
• Fargate / ECS / EKS
AWS App Mesh
WE ARE HIRING!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
Bringing cloud-native capabilities to your applications
Assess and
prioritize, one
app at a time
Re-host (lift-and-shift)
data center à EC2
Re-platform (lift-tinker-shift)
VMs à containers
Re-factor
monolith à microservices
Re-invent (cloud-native)
new serverless microservices
Determine
modernization
path
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Thank you!
S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Julian Liu
julian@owlting.com
Neo Chen
neochen@amazon.com

More Related Content

What's hot

如何成功的完成混合雲遷移專案
如何成功的完成混合雲遷移專案如何成功的完成混合雲遷移專案
如何成功的完成混合雲遷移專案Amazon Web Services
 
Architecting Digital Media Archive Migrations with AWS - STG301 - Anaheim AWS...
Architecting Digital Media Archive Migrations with AWS - STG301 - Anaheim AWS...Architecting Digital Media Archive Migrations with AWS - STG301 - Anaheim AWS...
Architecting Digital Media Archive Migrations with AWS - STG301 - Anaheim AWS...Amazon Web Services
 
Connecting your devices at scale, ft. Discovery - SVC205 - New York AWS Summit
Connecting your devices at scale, ft. Discovery - SVC205 - New York AWS SummitConnecting your devices at scale, ft. Discovery - SVC205 - New York AWS Summit
Connecting your devices at scale, ft. Discovery - SVC205 - New York AWS SummitAmazon Web Services
 
Safeguard the Integrity of Your Code for Fast and Secure Deployments - SVC206...
Safeguard the Integrity of Your Code for Fast and Secure Deployments - SVC206...Safeguard the Integrity of Your Code for Fast and Secure Deployments - SVC206...
Safeguard the Integrity of Your Code for Fast and Secure Deployments - SVC206...Amazon Web Services
 
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS SummitHow to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS SummitAmazon Web Services
 
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS SummitTwelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS SummitAmazon Web Services
 
Create Intelligent Industrial Equipment with AWS IoT Services & AR/VR - SVC30...
Create Intelligent Industrial Equipment with AWS IoT Services & AR/VR - SVC30...Create Intelligent Industrial Equipment with AWS IoT Services & AR/VR - SVC30...
Create Intelligent Industrial Equipment with AWS IoT Services & AR/VR - SVC30...Amazon Web Services
 
Carry security with you to the cloud - DEM14-SR - New York AWS Summit
Carry security with you to the cloud - DEM14-SR - New York AWS SummitCarry security with you to the cloud - DEM14-SR - New York AWS Summit
Carry security with you to the cloud - DEM14-SR - New York AWS SummitAmazon Web Services
 
Architecting security and governance across your AWS environment
Architecting security and governance across your AWS environmentArchitecting security and governance across your AWS environment
Architecting security and governance across your AWS environmentAmazon Web Services
 
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...Amazon Web Services
 
從業人員指南-如何像技術專家一樣守護您的雲端安全
從業人員指南-如何像技術專家一樣守護您的雲端安全從業人員指南-如何像技術專家一樣守護您的雲端安全
從業人員指南-如何像技術專家一樣守護您的雲端安全Amazon Web Services
 
Budget management with Cloud Economics | AWS Summit Tel Aviv 2019
Budget management with Cloud Economics | AWS Summit Tel Aviv 2019Budget management with Cloud Economics | AWS Summit Tel Aviv 2019
Budget management with Cloud Economics | AWS Summit Tel Aviv 2019Amazon Web Services
 
Scalable serverless architectures using event-driven design - MAD301 - Atlant...
Scalable serverless architectures using event-driven design - MAD301 - Atlant...Scalable serverless architectures using event-driven design - MAD301 - Atlant...
Scalable serverless architectures using event-driven design - MAD301 - Atlant...Amazon Web Services
 
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS SummitModernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS SummitAmazon Web Services
 
打破時空藩籬,輕鬆存取您的雲端工作負載
打破時空藩籬,輕鬆存取您的雲端工作負載打破時空藩籬,輕鬆存取您的雲端工作負載
打破時空藩籬,輕鬆存取您的雲端工作負載Amazon Web Services
 
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-PrometheusDeep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-PrometheusAmazon Web Services
 
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用Amazon Web Services
 
Breaking the Monolith using AWS Container Services
Breaking the Monolith using AWS Container ServicesBreaking the Monolith using AWS Container Services
Breaking the Monolith using AWS Container ServicesAmazon Web Services
 

What's hot (20)

如何成功的完成混合雲遷移專案
如何成功的完成混合雲遷移專案如何成功的完成混合雲遷移專案
如何成功的完成混合雲遷移專案
 
Build-a-Unified-Cloud
Build-a-Unified-CloudBuild-a-Unified-Cloud
Build-a-Unified-Cloud
 
Architecting Digital Media Archive Migrations with AWS - STG301 - Anaheim AWS...
Architecting Digital Media Archive Migrations with AWS - STG301 - Anaheim AWS...Architecting Digital Media Archive Migrations with AWS - STG301 - Anaheim AWS...
Architecting Digital Media Archive Migrations with AWS - STG301 - Anaheim AWS...
 
Connecting your devices at scale, ft. Discovery - SVC205 - New York AWS Summit
Connecting your devices at scale, ft. Discovery - SVC205 - New York AWS SummitConnecting your devices at scale, ft. Discovery - SVC205 - New York AWS Summit
Connecting your devices at scale, ft. Discovery - SVC205 - New York AWS Summit
 
Safeguard the Integrity of Your Code for Fast and Secure Deployments - SVC206...
Safeguard the Integrity of Your Code for Fast and Secure Deployments - SVC206...Safeguard the Integrity of Your Code for Fast and Secure Deployments - SVC206...
Safeguard the Integrity of Your Code for Fast and Secure Deployments - SVC206...
 
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS SummitHow to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
How to speed up and scale your innovation efforts - MAD203 - Chicago AWS Summit
 
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS SummitTwelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
Twelve-Factor Serverless Applications - MAD303 - Anaheim AWS Summit
 
Create Intelligent Industrial Equipment with AWS IoT Services & AR/VR - SVC30...
Create Intelligent Industrial Equipment with AWS IoT Services & AR/VR - SVC30...Create Intelligent Industrial Equipment with AWS IoT Services & AR/VR - SVC30...
Create Intelligent Industrial Equipment with AWS IoT Services & AR/VR - SVC30...
 
Carry security with you to the cloud - DEM14-SR - New York AWS Summit
Carry security with you to the cloud - DEM14-SR - New York AWS SummitCarry security with you to the cloud - DEM14-SR - New York AWS Summit
Carry security with you to the cloud - DEM14-SR - New York AWS Summit
 
Architecting security and governance across your AWS environment
Architecting security and governance across your AWS environmentArchitecting security and governance across your AWS environment
Architecting security and governance across your AWS environment
 
.NET on AWS
.NET on AWS.NET on AWS
.NET on AWS
 
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
Accelerating your Cloud Migration with VMware Cloud on AWS - SVC210 - Atlanta...
 
從業人員指南-如何像技術專家一樣守護您的雲端安全
從業人員指南-如何像技術專家一樣守護您的雲端安全從業人員指南-如何像技術專家一樣守護您的雲端安全
從業人員指南-如何像技術專家一樣守護您的雲端安全
 
Budget management with Cloud Economics | AWS Summit Tel Aviv 2019
Budget management with Cloud Economics | AWS Summit Tel Aviv 2019Budget management with Cloud Economics | AWS Summit Tel Aviv 2019
Budget management with Cloud Economics | AWS Summit Tel Aviv 2019
 
Scalable serverless architectures using event-driven design - MAD301 - Atlant...
Scalable serverless architectures using event-driven design - MAD301 - Atlant...Scalable serverless architectures using event-driven design - MAD301 - Atlant...
Scalable serverless architectures using event-driven design - MAD301 - Atlant...
 
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS SummitModernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
Modernizing Your Microsoft Business Applications - CMP201 - Anaheim AWS Summit
 
打破時空藩籬,輕鬆存取您的雲端工作負載
打破時空藩籬,輕鬆存取您的雲端工作負載打破時空藩籬,輕鬆存取您的雲端工作負載
打破時空藩籬,輕鬆存取您的雲端工作負載
 
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-PrometheusDeep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
Deep-Dive-with-Cloud-Monitoring-with-Amazon-EKS-and-Prometheus
 
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
 
Breaking the Monolith using AWS Container Services
Breaking the Monolith using AWS Container ServicesBreaking the Monolith using AWS Container Services
Breaking the Monolith using AWS Container Services
 

Similar to Modern-Application-Design-with-Amazon-ECS

Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS SummitGetting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS SummitAmazon Web Services
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfAmazon Web Services
 
Deep Dive on Amazon Elastic Container Service (ECS) | AWS Summit Tel Aviv 2019
Deep Dive on Amazon Elastic Container Service (ECS)  | AWS Summit Tel Aviv 2019Deep Dive on Amazon Elastic Container Service (ECS)  | AWS Summit Tel Aviv 2019
Deep Dive on Amazon Elastic Container Service (ECS) | AWS Summit Tel Aviv 2019Amazon Web Services
 
Deep Dive on Amazon Elastic Container Service (ECS) | AWS Summit Tel Aviv 2019
Deep Dive on Amazon Elastic Container Service (ECS)  | AWS Summit Tel Aviv 2019Deep Dive on Amazon Elastic Container Service (ECS)  | AWS Summit Tel Aviv 2019
Deep Dive on Amazon Elastic Container Service (ECS) | AWS Summit Tel Aviv 2019AWS Summits
 
Building well architected .NET applications - SVC209 - Atlanta AWS Summit
Building well architected .NET applications - SVC209 - Atlanta AWS SummitBuilding well architected .NET applications - SVC209 - Atlanta AWS Summit
Building well architected .NET applications - SVC209 - Atlanta AWS SummitAmazon Web Services
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfAmazon Web Services
 
Breaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesBreaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesAmazon Web Services
 
Well Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfWell Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfConradoDeBiasi
 
Why AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
Why AWS for running Microsoft workloads - CMP202-I - New York AWS SummitWhy AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
Why AWS for running Microsoft workloads - CMP202-I - New York AWS SummitAmazon Web Services
 
AWS DevDay Cologne - Automating building blocks choices you will face with co...
AWS DevDay Cologne - Automating building blocks choices you will face with co...AWS DevDay Cologne - Automating building blocks choices you will face with co...
AWS DevDay Cologne - Automating building blocks choices you will face with co...Cobus Bernard
 
Best-Practices-for-Running-Windows-Workloads-on-AWS
Best-Practices-for-Running-Windows-Workloads-on-AWSBest-Practices-for-Running-Windows-Workloads-on-AWS
Best-Practices-for-Running-Windows-Workloads-on-AWSAmazon Web Services
 
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...Amazon Web Services
 
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Amazon Web Services
 
Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Amazon Web Services
 
Accelerating product development with high performance computing - CMP301 - S...
Accelerating product development with high performance computing - CMP301 - S...Accelerating product development with high performance computing - CMP301 - S...
Accelerating product development with high performance computing - CMP301 - S...Amazon Web Services
 
Amazon EC2 A1 instances, powered by the AWS Graviton processor - CMP303 - San...
Amazon EC2 A1 instances, powered by the AWS Graviton processor - CMP303 - San...Amazon EC2 A1 instances, powered by the AWS Graviton processor - CMP303 - San...
Amazon EC2 A1 instances, powered by the AWS Graviton processor - CMP303 - San...Amazon Web Services
 
Running Amazon EC2 workloads at scale - CMP301 - New York AWS Summit
Running Amazon EC2 workloads at scale - CMP301 - New York AWS SummitRunning Amazon EC2 workloads at scale - CMP301 - New York AWS Summit
Running Amazon EC2 workloads at scale - CMP301 - New York AWS SummitAmazon Web Services
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon Web Services
 

Similar to Modern-Application-Design-with-Amazon-ECS (20)

Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS SummitGetting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
Getting Started with ARM-Based EC2 A1 Instances - CMP302 - Anaheim AWS Summit
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdf
 
Deep Dive on Amazon Elastic Container Service (ECS) | AWS Summit Tel Aviv 2019
Deep Dive on Amazon Elastic Container Service (ECS)  | AWS Summit Tel Aviv 2019Deep Dive on Amazon Elastic Container Service (ECS)  | AWS Summit Tel Aviv 2019
Deep Dive on Amazon Elastic Container Service (ECS) | AWS Summit Tel Aviv 2019
 
Deep Dive on Amazon Elastic Container Service (ECS) | AWS Summit Tel Aviv 2019
Deep Dive on Amazon Elastic Container Service (ECS)  | AWS Summit Tel Aviv 2019Deep Dive on Amazon Elastic Container Service (ECS)  | AWS Summit Tel Aviv 2019
Deep Dive on Amazon Elastic Container Service (ECS) | AWS Summit Tel Aviv 2019
 
Building well architected .NET applications - SVC209 - Atlanta AWS Summit
Building well architected .NET applications - SVC209 - Atlanta AWS SummitBuilding well architected .NET applications - SVC209 - Atlanta AWS Summit
Building well architected .NET applications - SVC209 - Atlanta AWS Summit
 
Breaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdfBreaking the Monolith road to containers.pdf
Breaking the Monolith road to containers.pdf
 
Breaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container ServicesBreaking the Monolith Using AWS Container Services
Breaking the Monolith Using AWS Container Services
 
Well Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdfWell Archictecture Framework dotNET.pdf
Well Archictecture Framework dotNET.pdf
 
Why AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
Why AWS for running Microsoft workloads - CMP202-I - New York AWS SummitWhy AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
Why AWS for running Microsoft workloads - CMP202-I - New York AWS Summit
 
AWS DevDay Cologne - Automating building blocks choices you will face with co...
AWS DevDay Cologne - Automating building blocks choices you will face with co...AWS DevDay Cologne - Automating building blocks choices you will face with co...
AWS DevDay Cologne - Automating building blocks choices you will face with co...
 
Best-Practices-for-Running-Windows-Workloads-on-AWS
Best-Practices-for-Running-Windows-Workloads-on-AWSBest-Practices-for-Running-Windows-Workloads-on-AWS
Best-Practices-for-Running-Windows-Workloads-on-AWS
 
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
Introduction to EC2 A1 instances, powered by the AWS Graviton processor - CMP...
 
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
 
Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...
 
Accelerating product development with high performance computing - CMP301 - S...
Accelerating product development with high performance computing - CMP301 - S...Accelerating product development with high performance computing - CMP301 - S...
Accelerating product development with high performance computing - CMP301 - S...
 
AWSome Day Brasil - Março 2020
AWSome Day Brasil - Março 2020AWSome Day Brasil - Março 2020
AWSome Day Brasil - Março 2020
 
AWSome Day Brasil - Junho 2020
AWSome Day Brasil - Junho 2020AWSome Day Brasil - Junho 2020
AWSome Day Brasil - Junho 2020
 
Amazon EC2 A1 instances, powered by the AWS Graviton processor - CMP303 - San...
Amazon EC2 A1 instances, powered by the AWS Graviton processor - CMP303 - San...Amazon EC2 A1 instances, powered by the AWS Graviton processor - CMP303 - San...
Amazon EC2 A1 instances, powered by the AWS Graviton processor - CMP303 - San...
 
Running Amazon EC2 workloads at scale - CMP301 - New York AWS Summit
Running Amazon EC2 workloads at scale - CMP301 - New York AWS SummitRunning Amazon EC2 workloads at scale - CMP301 - New York AWS Summit
Running Amazon EC2 workloads at scale - CMP301 - New York AWS Summit
 
Amazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for KubernetesAmazon EKS - Elastic Container Service for Kubernetes
Amazon EKS - Elastic Container Service for Kubernetes
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Modern-Application-Design-with-Amazon-ECS

  • 1. S U M M I T T a i pe i 2 0 1 9
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Modern Application Design with Amazon ECS Neo Chen Solutions Architect AWS Hong Kong & Taiwan A W S T P E S U M M I T 2 0 1 9
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Best practices for Developing Modern Application • Componentize applications using microservices • Secure the entire application lifecycle by automating security • Simplify infrastructure management with serverless technologies • Enable experimentation by creating small autonomous teams • Update applications and infrastructure quickly by automating CI/CD • Standardize operations by modeling apps and infrastructure as code • Improve application performance by increasing observability
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T What changes have to be made in this new world? Architectural patterns Operational model Software delivery
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T When the impact of change is small, release velocity can increase Monolith Does everything Microservices Does one thing
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Microservice development lifecycle developers services monitorreleasetestbuild delivery pipelines monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Containers and Microservices • Do one thing, really well • Any app, any language • Isolated execution environment • Test and deploy same artifact • Faster startup Container Container Container Container
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS Container Services landscape MANAGEMENT Deployment, scheduling, scaling & management of containerized applications HOSTING Where the containers run IMAGE REGISTRY Container image repository
  • 9. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 10. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Request and Assign GPUs for ECS tasks GPU Pinning
  • 11. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. GPU Pinning {"containerDefinitions": [ { "logConfiguration": {...} }, "cpu": 1024, "resourceRequirements": [ { "type": "GPU", "value": "1" } ], "image": "brentley/tensorflow-gpu:latest", "essential": true, "name": "tensorflow-gpu" } ], "memory": "6144", "family": "tensorflow-1-gpu", "cpu": "1024", "placementConstraints": []}
  • 12. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. GPU Pinning $ aws ecs register-task-definition --cli-input-json file://gpu-8-taskdef.json $ aws ecs run-task --cluster $clustername --task-definition tensorflow-8-gpu
  • 13. S U M M I T GPU Pinning { "tasks": [ { "taskArn": "arn:aws:ecs:us-east-1:xxxxxxxxxxxx:task/d92a5dfc-eb27-4164-9c1e-774ce76c09a3", ... "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:xxxxxxxxxxxx:container/bfeb5861-044e-4630-a893-d079a73ac9eb", "taskArn": "arn:aws:ecs:us-east-1:xxxxxxxxxxxx:task/d92a5dfc-eb27-4164-9c1e-774ce76c09a3", "name": "tensorflow-gpu", "gpuIds": [ "GPU-17b47bc3-9714-d453-1a5d-1708c2f70343", "GPU-3b5a4f55-3390-563b-b753-8b1b694ab912", "GPU-5948b416-092f-29f6-ea77-f9980fc88e68", "GPU-782cf655-c047-1adf-4369-327bcdb904c4", "GPU-8e8330b6-ec47-7617-9853-c9c3ee2d364c", "GPU-8f7b6c73-f179-126e-3528-3ee0efb13357", "GPU-d162715b-e84e-d1c7-40ee-d388df900dc5", "GPU-f4f81c16-31be-d200-9521-151b5b39346d" ], "lastStatus": "PENDING", "cpu": "1024", "networkInterfaces": [] }]}]}
  • 14. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Auto manage HTTP and DNS namespaces for ECS services Service Discovery
  • 16. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Server Side Service Discovery Pattern • Connections are proxied • Discovery is abstracted away • Availability and capacity impact • Additional latency
  • 17. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Client Side Service Discovery Pattern • Clients connect directly to providers • Fewer components in the system • Clients must be registry aware • Client side load balancing
  • 18. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Service Discovery
  • 19. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Service Discovery $ ecs-cli compose --project-name ecsdemo-nodejs service up --create-log-groups --private-dns-namespace service --enable-service-discovery --cluster-config fargate-demo --vpc $vpc
  • 20. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Service Discovery $ cat docker-compose.yml version: '3' services: ecsdemo-frontend: environment: - NODEJS_URL=http://ecsdemo-nodejs.service:3000 …
  • 21. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T AWS CodeDeploy AWS CodeDeploy now automates blue-green deployments to AWS Fargate and Amazon Elastic Container Service (ECS) New
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T CodeDeploy-ECS blue-green deployments • Provisions “green” tasks, then flips traffic at the load balancer • Validation “hooks” enable testing at each stage of the deployment • Fast rollback to “blue” tasks in seconds if case of hook failure or CloudWatch alarms • Monitor deployment status and history via console, API, Amazon SNS notifications, and CloudWatch Events • Use “CodeDeploy-ECS” deploy action in CodePipeline or “aws ecs deploy” command in Jenkins
  • 24. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Life before X-Ray
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Visibility into downstream AWS services integration
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Created subsegments for data access layer to capture queries performance Troubleshooting SQL queries performance
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T SQL performance logs Latency (ms) Parameters SQL Command 7.0 @RecID Int 32639064 IF EXISTS (SELECT 1 FROM dbo.Schedule_Detail sd LEFT JOIN dbo.Schedule s on s.Schedule_RecID = sd.Schedule_RecID . . . 34.8 IF EXISTS (SELECT sr.SR_Location_RecID FROM DBO.SR_LOCATION as sr WHERE sr.SR_Location_RecID =24) SELECT . . . 1.0 @recid Int 65 SELECT Owner_Level_RecID FROM dbo.User_Defined_Field_Owner_Level WHERE User_Defined_Field_RecID = @recid 18.6 @serviceRecId Int 11111899 SELECT Company_RecID FROM dbo.SR_Service WHERE SR_Service_RecID = @serviceRecId 123.7 @problemFlag Int 1 . . . exec dbo.usp_getSRDetailTable @problemFlag, @resolutionFlag, @internalAnalysisFlag, @serviceRecID, @includeChild 1201.8 @problemFlag Int 1 . . . exec dbo.usp_getSRDetailTable @problemFlag, @resolutionFlag, @internalAnalysisFlag, @serviceRecID, @includeChild batch-get-traces --trace-ids <trace-ids> <value> <value> Pass trace-ids for SQL calls
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T X-Ray advantages • Provides architects with a live architecture diagram • Pinpoints the bottlenecks • Helps optimize performance • Helps optimize SQL queries • Enables data-driven architecture decisions
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Modern Application Design with Amazon ECS Julian Liu Architect Owlting Inc. A W S T P E S U M M I T 2 0 1 9
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T About Owlting OBS OwlNest OwlTing Market Local Experiences * OwlJourney
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Owlting on ECS Simple, yet powerful You don’t pay for the control plane Seamlessly integration • Amazon CloudWatch • AWS Identity and Access Management (IAM) • Amazon Virtual Private Cloud (Amazon VPC)
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T CI/CD with ECS CodePipeline CodeBuild for global deployment AWS CodeBuild • Trustable • Flexible for all kinds of work loads AWS CodePipeline • Deploy directly to ECS • Blue Green deployment • Cross region deployment
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T CloudWatch event with ECS for scheduled jobs at scale ECS Lambda Crontab on instances Reliability ◎ ◎ △ Scalability ◎ ◎ △ Performance ◎ ○ ◎ Cost ◎ △ ◎
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Data Persistency with ECS by Amazon EFS EFS is a perfect fit for storage sharing • Configurations files • Static assets, like jpg, css, js, etc… VPC ECS Cluster Instance Instance Availability Zone 1 Availability Zone 2 Amazon Elastic File System File system File system
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Build Your Own L7 Router on top of ECS HAProxy Openresty • lua-resty-dns-client backend owltingweb server-template owltingweb- 2 _http._tcp.owlting-web.local check resolvers dns access_by_lua ' local dns_client = require "resty.dns.client" local toip = dns_client.toip local ip, port = toip("_http._tcp.owlting-web.local ", 61001 ) ';
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Looking forward Choose what suits you best • Fargate / ECS / EKS AWS App Mesh WE ARE HIRING!
  • 40. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T
  • 42. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.S U M M I T Bringing cloud-native capabilities to your applications Assess and prioritize, one app at a time Re-host (lift-and-shift) data center à EC2 Re-platform (lift-tinker-shift) VMs à containers Re-factor monolith à microservices Re-invent (cloud-native) new serverless microservices Determine modernization path
  • 44. S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 45. Thank you! S U M M I T © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Julian Liu julian@owlting.com Neo Chen neochen@amazon.com