SlideShare a Scribd company logo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deep Dive into Container Scheduling with
Amazon ECS
A n t h o n y S u a r e z — G M , A m a z o n E C S & E C R
S h u b h a R a o — S e n i o r P r o d u c t M a n a g e r , A m a z o n E C S
N o v e m b e r 2 9 , 2 0 1 7
C O N 4 0 4
AWS re:INVENT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Getting started with containers is easy!
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
From one container…
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
…to hundreds…
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
…to thousands…
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ECS manages clusters at scale!
ALB ALB
AZ 1 AZ 2
user/scheduler
Scheduler
Cluster State Service
Event Stream
Placement Engine
Scheduling Engine
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Supporting massive scale
450+%
growth
Hundreds of millions
of containers started each week
Millions
of container instances
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Core components
Scheduling engine Placement engine Extensions
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling engines
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Schedulers
DaemonBatchServices Events
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Open-source schedulers?
• An open-source project for container scheduling
• These OSS schedulers will power Amazon ECS
• Actively working on a daemon scheduler
• Follow along, comment, or contribute!
http://blox.github.io
https://github.com/blox
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Placement engine
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task placement engine
Name Example
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task placement selection
Cluster Constraints
Custom Constraints
Placement Strategies
Apply Filter
Satisfy CPU, memory, and port requirements
Filter for location, instance type, AMI, or custom
attribute constraints
Identify instances that meet spread or binpack
placement strategy
Select final container instances for placement
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Supported placement strategies
Binpacking Spread Affinity Distinct instance
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task placement chaining
Zone A Zone B
Spread tasks across
zones and binpack
within each zone
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task placement: Easy to get started
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task placement: Easy to get started
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Example: Spread placement
us-east-1d us-east-1a us-east-1c
g2.2xlarge t2.small
t2.medium t2.small
t2.micro t2.medium
g2.2xlarge t2.small
g2.2xlarge t2.medium
t2.micro t2.small
aws ecs run-task --cluster ecs-demo --task-definition myapp --count 9 --placement-strategy
type=“spread” ,field=“attribute:ecs.availability-zone”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Example: Spread & binpack
us-east-1d us-east-1a us-east-1c
g2.2xlarge t2.small
t2.medium t2.small
t2.micro t2.medium
g2.2xlarge t2.small
g2.2xlarge t2.medium
t2.micro t2.small
aws ecs run-task --cluster ecs-demo --task-definition myapp --count 9 --placement-strategy
type=“spread” ,field=“attribute:ecs.availability-zone” type=“binpack” ,field=“memory”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Example: Multiple services & strategies
us-east-1d us-east-1a us-east-1c
t2.medium t2.small t2.medium t2.small t2.micro t2.small
aws ecs create-service --service-name srvc-spread --cluster ecs-demo --task-definition myapp-spread
--desired-count 6 --placement-strategy type=“spread” ,field=“attribute:ecs.availability-zone”
aws ecs create-service --service-name srvc-binpk --cluster ecs-demo --task-definition myapp binpk
--desired-count 5 --placement-strategy type=“binpack” ,field=“memory”
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Extensions
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster query language
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS event stream
Cluster state
Task state
Cluster
State
Service
Custom scheduler
Monitoring tools
ECS API
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Placement of containers
ECS placement constraints example
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Matt Callanan
Engineering Manager/Tech Lead
“Cloud Acceleration Team”
Expedia
Brisbane, Australia
mcallanan@expedia.com
linkedin.com/in/matthewcallanan
@mcallana
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Avoid relocating tasks to instances about
to be drained during cluster update
• Tasks can get rescheduled to another old instance in the Auto Scaling group that is about
to be replaced—so tasks can get bumped from instance to instance until all instances are
replaced
• Deploy services with a placement constraint on the task definition
• This means that a service won’t be placed on an instance that has an attribute named
“state” with value “pre-drain”
• At cluster replacement time, we will stand up all new clusters, place old clusters into the
“pre-drain” state, and terminate the old instances in batches
• Relocated tasks will only be placed on new instances, avoiding the default “thundering
herd” scenario
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
Cluster update—Phase 1: Expand
AA
Blue Auto Scaling Group
Blue CFN Stack
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 1: Expand
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
AA
Blue Auto Scaling Group
Blue CFN Stack
Disable Auto Scaling Processes
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 1: Expand
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
AA
Blue Auto Scaling Group
Blue CFN Stack
Disable Auto Scaling Processes
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 1: Expand
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
AA
Blue Auto Scaling Group
Blue CFN Stack
Disable Auto Scaling Processes
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processesstate = ‘pre-drain’
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
AA
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
AA
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
AA
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
AA
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
Blue Auto Scaling Group
Blue CFN Stack
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
Disable Auto Scaling Processes
state = ‘pre-drain’
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
Green Auto Scaling Group
Green CFN Stack
Disable Auto Scaling Processes
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster update—Phase 2: Relocate tasks
( B a t c h e s o f 3 i n s t a n c e s )
Old Instance
New Instance
Draining Instance
Active Task
Relocated Task
“DRAINING” Task
Green Auto Scaling Group
Green CFN Stack
A
A
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task definition placement constraint
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task definition placement constraint
•
•
•
•
•
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling patterns
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling based on…
1. Service metrics
2. Periodic
3. Triggers
4. Dependencies
5. Priorities
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling based on service metrics
Users
Service CPU, memory utilization alarm
Update service,
increase task count
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduled tasks
Run task or
create service
CloudWatch
events
DevOps
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling triggered by AWS services
Load
balancing
Lambda
Trigger
Lambda
function
Trigger
CloudWatch alarm
from LB metrics
+1 Desired count
in service
Users
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling triggered by AWS services
2
Run ECS task
1
Enqueue job
Poll
queue
Amazon
SQS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling dependencies
Simple job dependency modeling
Job A Job CJob BAWS Batch
ECS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling dependencies
“Job-A”
“Job-C”
C:0
…
C:1
C:2
C:3
C:9999
D:0
D:1
D:2
D:3
D:9999
“Job-D”“Job-B”
B:0
…
B:1
B:9
B:2
“Job-E”
Heavy
network I/O
CPU-intensive Large
memory
Setup Cleanup
…
AWS Batch
ECS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling priorities
Job 1
Job 5Job 4
Time-critical
High
Low Job 2 Job 3
Job 6
Priority-based job scheduling
AWS Batch
ECS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Simplifying container deployment
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CI/CD for long-running services
AWS
CodePipeline
Developers Git repository ECR ECS
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Rolling deployments
Max: 200%
minHealthy: 100%
Update service
ECS
Max: 100%
minHealthy: 75%
Service A
Task def’n: 2
Desired count: 4
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Canary blue-green deployments
More at:
Task
100%
0%
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
alpha.internal
ECS service discovery with Route 53
App: IP3,
IP4
Frontend:
IP1, IP2
beta.internal
App: IP3,
IP4
Frontend:
IP1, IP2
Users
ECS
Route 53
More at:
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling compute for containers
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Scheduling compute capacity
1. Spot instances
2. Auto Scaling groups—scale up
3. Auto Scaling group—scale down, draining
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Compute with EC2 Spot Instances
Spot Instance
compute container 1
Spot Instance
compute container 3
Spot Instance
compute container 5
Spot Instance
compute container 2
Spot Instance
compute container 4
Spot Instance
compute container 6
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Compute auto scale up
Event: Per cluster CPU, memory
reservation, or usage
New services
ECS
ECS cluster
CloudWatch
Developers
CloudWatch event
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Draining
Compute auto scale down
ECS
ECS cluster
CloudWatch
Event: Per cluster CPU, memory
reservation, or usage
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Introducing AWS Fargate
Enable developers
to focus 100% on
their applications
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
MANAGED BY AWS
ELASTIC
INTEGRATED
With AWS Fargate, instance management
goes away
ECS
EC2AWS Fargate
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
More on AWS Fargate
CON214 – Introducing AWS Fargate
Today, 4 p.m. Aria, Level 1, Pinyon 2
CON201 – Containers on AWS – State of the Union
Tomorrow, 12:15 p.m. Aria, Level 1, Pinyon 5
CON333 – Deep Dive into AWS Fargate
Tomorrow, 1 p.m. Aria, Level 1, Pinyon 2
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!

More Related Content

What's hot

Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Amazon 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 Kubernetes
Amazon Web Services
 
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
Amazon Web Services Korea
 
Amazon EKS Deep Dive
Amazon EKS Deep DiveAmazon EKS Deep Dive
Amazon EKS Deep Dive
Andrzej Komarnicki
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
Amazon Web Services
 
Application Migrations
Application MigrationsApplication Migrations
Application Migrations
Amazon Web Services
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Amazon Web Services
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
Amazon Web Services
 
Deep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWSDeep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWS
Amazon Web Services
 
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
Amazon Web Services Korea
 
Introduction to AWS Organizations
Introduction to AWS OrganizationsIntroduction to AWS Organizations
Introduction to AWS Organizations
Amazon Web Services
 
(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code
Amazon Web Services
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
Amazon Web Services
 
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
Amazon Web Services Japan
 
Cost Optimisation on AWS
Cost Optimisation on AWSCost Optimisation on AWS
Cost Optimisation on AWS
Amazon Web Services
 
AWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On GuideAWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On Guide
Manas Mondal
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
Amazon Web Services Korea
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
Amazon Web Services Japan
 
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
BESPIN GLOBAL
 
Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈
Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈 Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈
Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈
Amazon Web Services Korea
 

What's hot (20)

Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
 
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
 
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
마이크로 서비스를 위한 AWS Cloud Map & App Mesh - Saeho Kim (AWS Solutions Architect)
 
Amazon EKS Deep Dive
Amazon EKS Deep DiveAmazon EKS Deep Dive
Amazon EKS Deep Dive
 
CI/CD on AWS
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
 
Application Migrations
Application MigrationsApplication Migrations
Application Migrations
 
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar SeriesImproving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
Improving Infrastructure Governance on AWS - AWS June 2016 Webinar Series
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
Deep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWSDeep Dive - CI/CD on AWS
Deep Dive - CI/CD on AWS
 
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
[AWS Builders] AWS와 함께하는 클라우드 컴퓨팅
 
Introduction to AWS Organizations
Introduction to AWS OrganizationsIntroduction to AWS Organizations
Introduction to AWS Organizations
 
(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
 
Cost Optimisation on AWS
Cost Optimisation on AWSCost Optimisation on AWS
Cost Optimisation on AWS
 
AWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On GuideAWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On Guide
 
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트) IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
IDC 서버 몽땅 AWS로 이전하기 위한 5가지 방법 - 윤석찬 (AWS 테크에반젤리스트)
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
 
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
베스핀글로벌 OpsNow 웨비나_클라우드 비용 50% 절감하기
 
Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈
Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈 Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈
Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈
 

Similar to Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017

CON317_Advanced container management at catsndogs.lol
CON317_Advanced container management at catsndogs.lolCON317_Advanced container management at catsndogs.lol
CON317_Advanced container management at catsndogs.lol
Amazon Web Services
 
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Amazon Web Services
 
Born in the Cloud, Built like a Startup
Born in the Cloud, Built like a StartupBorn in the Cloud, Built like a Startup
Born in the Cloud, Built like a Startup
Amazon Web Services
 
Introducing Amazon Fargate
Introducing Amazon FargateIntroducing Amazon Fargate
Introducing Amazon Fargate
Amazon Web Services
 
Introducing Amazon EKS
Introducing Amazon EKSIntroducing Amazon EKS
Introducing Amazon EKS
Amazon Web Services
 
Containers on AWS - re:Invent Comes to London 2.0
Containers on AWS - re:Invent Comes to London 2.0Containers on AWS - re:Invent Comes to London 2.0
Containers on AWS - re:Invent Comes to London 2.0
Amazon Web Services
 
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Amazon Web Services
 
NEW LAUNCH! Introducing Amazon EKS - CON215 - re:Invent 2017
NEW LAUNCH! Introducing Amazon EKS - CON215 - re:Invent 2017NEW LAUNCH! Introducing Amazon EKS - CON215 - re:Invent 2017
NEW LAUNCH! Introducing Amazon EKS - CON215 - re:Invent 2017
Amazon Web Services
 
AWS 容器服務入門實務
AWS 容器服務入門實務AWS 容器服務入門實務
AWS 容器服務入門實務
Amazon Web Services
 
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Amazon Web Services
 
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
Amazon Web Services
 
Introduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Introduction to AWS Fargate & Amazon Elastic Container Service for KubernetesIntroduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Introduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Amazon Web Services
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
Amazon Web Services
 
CMP209_Getting started with Docker on AWS
CMP209_Getting started with Docker on AWSCMP209_Getting started with Docker on AWS
CMP209_Getting started with Docker on AWS
Amazon Web Services
 
AWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECSAWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECS
Shimon Tolts
 
Getting Started with Amazon EC2 Container Service
Getting Started with Amazon EC2 Container ServiceGetting Started with Amazon EC2 Container Service
Getting Started with Amazon EC2 Container Service
Amazon Web Services
 
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
Amazon Web Services
 
Auto Scaling Prime Time: Target Tracking Hits the Bullseye at Netflix - CMP31...
Auto Scaling Prime Time: Target Tracking Hits the Bullseye at Netflix - CMP31...Auto Scaling Prime Time: Target Tracking Hits the Bullseye at Netflix - CMP31...
Auto Scaling Prime Time: Target Tracking Hits the Bullseye at Netflix - CMP31...
Amazon Web Services
 
CON302_Building a CICD Pipeline for Containers on Amazon ECS
CON302_Building a CICD Pipeline for Containers on Amazon ECSCON302_Building a CICD Pipeline for Containers on Amazon ECS
CON302_Building a CICD Pipeline for Containers on Amazon ECS
Amazon Web Services
 
How to Determine If You Are Well Architected for Resiliency (or How I Learned...
How to Determine If You Are Well Architected for Resiliency (or How I Learned...How to Determine If You Are Well Architected for Resiliency (or How I Learned...
How to Determine If You Are Well Architected for Resiliency (or How I Learned...
Amazon Web Services
 

Similar to Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017 (20)

CON317_Advanced container management at catsndogs.lol
CON317_Advanced container management at catsndogs.lolCON317_Advanced container management at catsndogs.lol
CON317_Advanced container management at catsndogs.lol
 
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
Advanced Patterns in Microservices Implementation with Amazon ECS - CON402 - ...
 
Born in the Cloud, Built like a Startup
Born in the Cloud, Built like a StartupBorn in the Cloud, Built like a Startup
Born in the Cloud, Built like a Startup
 
Introducing Amazon Fargate
Introducing Amazon FargateIntroducing Amazon Fargate
Introducing Amazon Fargate
 
Introducing Amazon EKS
Introducing Amazon EKSIntroducing Amazon EKS
Introducing Amazon EKS
 
Containers on AWS - re:Invent Comes to London 2.0
Containers on AWS - re:Invent Comes to London 2.0Containers on AWS - re:Invent Comes to London 2.0
Containers on AWS - re:Invent Comes to London 2.0
 
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
 
NEW LAUNCH! Introducing Amazon EKS - CON215 - re:Invent 2017
NEW LAUNCH! Introducing Amazon EKS - CON215 - re:Invent 2017NEW LAUNCH! Introducing Amazon EKS - CON215 - re:Invent 2017
NEW LAUNCH! Introducing Amazon EKS - CON215 - re:Invent 2017
 
AWS 容器服務入門實務
AWS 容器服務入門實務AWS 容器服務入門實務
AWS 容器服務入門實務
 
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
Use Amazon EC2 Systems Manager to Perform Automated Resilience Testing in You...
 
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
GPSTEC319-Build Once Deploy Many Architecting and Building Automated Reusable...
 
Introduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Introduction to AWS Fargate & Amazon Elastic Container Service for KubernetesIntroduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
Introduction to AWS Fargate & Amazon Elastic Container Service for Kubernetes
 
Containers on AWS
Containers on AWSContainers on AWS
Containers on AWS
 
CMP209_Getting started with Docker on AWS
CMP209_Getting started with Docker on AWSCMP209_Getting started with Docker on AWS
CMP209_Getting started with Docker on AWS
 
AWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECSAWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECS
 
Getting Started with Amazon EC2 Container Service
Getting Started with Amazon EC2 Container ServiceGetting Started with Amazon EC2 Container Service
Getting Started with Amazon EC2 Container Service
 
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
NEW LAUNCH! Introducing AWS Fargate - CON214 - re:Invent 2017
 
Auto Scaling Prime Time: Target Tracking Hits the Bullseye at Netflix - CMP31...
Auto Scaling Prime Time: Target Tracking Hits the Bullseye at Netflix - CMP31...Auto Scaling Prime Time: Target Tracking Hits the Bullseye at Netflix - CMP31...
Auto Scaling Prime Time: Target Tracking Hits the Bullseye at Netflix - CMP31...
 
CON302_Building a CICD Pipeline for Containers on Amazon ECS
CON302_Building a CICD Pipeline for Containers on Amazon ECSCON302_Building a CICD Pipeline for Containers on Amazon ECS
CON302_Building a CICD Pipeline for Containers on Amazon ECS
 
How to Determine If You Are Well Architected for Resiliency (or How I Learned...
How to Determine If You Are Well Architected for Resiliency (or How I Learned...How to Determine If You Are Well Architected for Resiliency (or How I Learned...
How to Determine If You Are Well Architected for Resiliency (or How I Learned...
 

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 Fargate
Amazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
Amazon 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
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
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 Workloads
Amazon Web Services
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
Amazon 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 sfatare
Amazon 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 NodeJS
Amazon 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 web
Amazon 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 sfatare
Amazon 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 Service
Amazon 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
 

Deep Dive into Container Scheduling with Amazon ECS - CON404 - re:Invent 2017

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deep Dive into Container Scheduling with Amazon ECS A n t h o n y S u a r e z — G M , A m a z o n E C S & E C R S h u b h a R a o — S e n i o r P r o d u c t M a n a g e r , A m a z o n E C S N o v e m b e r 2 9 , 2 0 1 7 C O N 4 0 4 AWS re:INVENT
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Getting started with containers is easy!
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. From one container…
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. …to hundreds…
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. …to thousands…
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ECS manages clusters at scale! ALB ALB AZ 1 AZ 2 user/scheduler Scheduler Cluster State Service Event Stream Placement Engine Scheduling Engine
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Supporting massive scale 450+% growth Hundreds of millions of containers started each week Millions of container instances
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Core components Scheduling engine Placement engine Extensions
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling engines
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Schedulers DaemonBatchServices Events
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Open-source schedulers? • An open-source project for container scheduling • These OSS schedulers will power Amazon ECS • Actively working on a daemon scheduler • Follow along, comment, or contribute! http://blox.github.io https://github.com/blox
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Placement engine
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task placement engine Name Example
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task placement selection Cluster Constraints Custom Constraints Placement Strategies Apply Filter Satisfy CPU, memory, and port requirements Filter for location, instance type, AMI, or custom attribute constraints Identify instances that meet spread or binpack placement strategy Select final container instances for placement
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Supported placement strategies Binpacking Spread Affinity Distinct instance
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task placement chaining Zone A Zone B Spread tasks across zones and binpack within each zone
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task placement: Easy to get started
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task placement: Easy to get started
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Example: Spread placement us-east-1d us-east-1a us-east-1c g2.2xlarge t2.small t2.medium t2.small t2.micro t2.medium g2.2xlarge t2.small g2.2xlarge t2.medium t2.micro t2.small aws ecs run-task --cluster ecs-demo --task-definition myapp --count 9 --placement-strategy type=“spread” ,field=“attribute:ecs.availability-zone”
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Example: Spread & binpack us-east-1d us-east-1a us-east-1c g2.2xlarge t2.small t2.medium t2.small t2.micro t2.medium g2.2xlarge t2.small g2.2xlarge t2.medium t2.micro t2.small aws ecs run-task --cluster ecs-demo --task-definition myapp --count 9 --placement-strategy type=“spread” ,field=“attribute:ecs.availability-zone” type=“binpack” ,field=“memory”
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Example: Multiple services & strategies us-east-1d us-east-1a us-east-1c t2.medium t2.small t2.medium t2.small t2.micro t2.small aws ecs create-service --service-name srvc-spread --cluster ecs-demo --task-definition myapp-spread --desired-count 6 --placement-strategy type=“spread” ,field=“attribute:ecs.availability-zone” aws ecs create-service --service-name srvc-binpk --cluster ecs-demo --task-definition myapp binpk --desired-count 5 --placement-strategy type=“binpack” ,field=“memory”
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Extensions
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster query language
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS event stream Cluster state Task state Cluster State Service Custom scheduler Monitoring tools ECS API
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Placement of containers
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Matt Callanan Engineering Manager/Tech Lead “Cloud Acceleration Team” Expedia Brisbane, Australia mcallanan@expedia.com linkedin.com/in/matthewcallanan @mcallana
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Avoid relocating tasks to instances about to be drained during cluster update • Tasks can get rescheduled to another old instance in the Auto Scaling group that is about to be replaced—so tasks can get bumped from instance to instance until all instances are replaced • Deploy services with a placement constraint on the task definition • This means that a service won’t be placed on an instance that has an attribute named “state” with value “pre-drain” • At cluster replacement time, we will stand up all new clusters, place old clusters into the “pre-drain” state, and terminate the old instances in batches • Relocated tasks will only be placed on new instances, avoiding the default “thundering herd” scenario
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task Cluster update—Phase 1: Expand AA Blue Auto Scaling Group Blue CFN Stack
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 1: Expand Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task AA Blue Auto Scaling Group Blue CFN Stack Disable Auto Scaling Processes
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 1: Expand Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task AA Blue Auto Scaling Group Blue CFN Stack Disable Auto Scaling Processes Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 1: Expand Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task AA Blue Auto Scaling Group Blue CFN Stack Disable Auto Scaling Processes Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processesstate = ‘pre-drain’
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task AA Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task AA Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task AA Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’ A A
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task AA Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’ A A
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’ A A
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’ A A
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’ A A
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’ A A
  • 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task Blue Auto Scaling Group Blue CFN Stack Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes Disable Auto Scaling Processes state = ‘pre-drain’ A A
  • 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task Green Auto Scaling Group Green CFN Stack Disable Auto Scaling Processes A A
  • 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster update—Phase 2: Relocate tasks ( B a t c h e s o f 3 i n s t a n c e s ) Old Instance New Instance Draining Instance Active Task Relocated Task “DRAINING” Task Green Auto Scaling Group Green CFN Stack A A
  • 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task definition placement constraint
  • 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task definition placement constraint • • • • •
  • 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling patterns
  • 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling based on… 1. Service metrics 2. Periodic 3. Triggers 4. Dependencies 5. Priorities
  • 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling based on service metrics Users Service CPU, memory utilization alarm Update service, increase task count
  • 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduled tasks Run task or create service CloudWatch events DevOps
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling triggered by AWS services Load balancing Lambda Trigger Lambda function Trigger CloudWatch alarm from LB metrics +1 Desired count in service Users
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling triggered by AWS services 2 Run ECS task 1 Enqueue job Poll queue Amazon SQS
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling dependencies Simple job dependency modeling Job A Job CJob BAWS Batch ECS
  • 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling dependencies “Job-A” “Job-C” C:0 … C:1 C:2 C:3 C:9999 D:0 D:1 D:2 D:3 D:9999 “Job-D”“Job-B” B:0 … B:1 B:9 B:2 “Job-E” Heavy network I/O CPU-intensive Large memory Setup Cleanup … AWS Batch ECS
  • 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling priorities Job 1 Job 5Job 4 Time-critical High Low Job 2 Job 3 Job 6 Priority-based job scheduling AWS Batch ECS
  • 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Simplifying container deployment
  • 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CI/CD for long-running services AWS CodePipeline Developers Git repository ECR ECS
  • 57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Rolling deployments Max: 200% minHealthy: 100% Update service ECS Max: 100% minHealthy: 75% Service A Task def’n: 2 Desired count: 4
  • 58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Canary blue-green deployments More at: Task 100% 0%
  • 59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. alpha.internal ECS service discovery with Route 53 App: IP3, IP4 Frontend: IP1, IP2 beta.internal App: IP3, IP4 Frontend: IP1, IP2 Users ECS Route 53 More at:
  • 60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling compute for containers
  • 61. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Scheduling compute capacity 1. Spot instances 2. Auto Scaling groups—scale up 3. Auto Scaling group—scale down, draining
  • 62. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Compute with EC2 Spot Instances Spot Instance compute container 1 Spot Instance compute container 3 Spot Instance compute container 5 Spot Instance compute container 2 Spot Instance compute container 4 Spot Instance compute container 6
  • 63. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Compute auto scale up Event: Per cluster CPU, memory reservation, or usage New services ECS ECS cluster CloudWatch Developers CloudWatch event
  • 64. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Draining Compute auto scale down ECS ECS cluster CloudWatch Event: Per cluster CPU, memory reservation, or usage
  • 65. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Introducing AWS Fargate Enable developers to focus 100% on their applications
  • 66. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. MANAGED BY AWS ELASTIC INTEGRATED With AWS Fargate, instance management goes away ECS EC2AWS Fargate
  • 67. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. More on AWS Fargate CON214 – Introducing AWS Fargate Today, 4 p.m. Aria, Level 1, Pinyon 2 CON201 – Containers on AWS – State of the Union Tomorrow, 12:15 p.m. Aria, Level 1, Pinyon 5 CON333 – Deep Dive into AWS Fargate Tomorrow, 1 p.m. Aria, Level 1, Pinyon 2
  • 68. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you!