SlideShare uma empresa Scribd logo
1 de 70
EC2 Container Service -
Distributed Applications at Scale
Yaniv Donenfeld,
Solutions Architect
Amazon Web Services
APIs
ec2-run-instances
Order UI User UI Shipping UI
Order
Service
User Service
Shipping
Service
Data Access
Microservices:
Taming the monolith
Order UI User UI Shipping UI
Order
Service
User Service
Shipping
Service
Order UI User UI UI
Order Service Service
Shipping
Service
Order UI
Order UI
User UI UIShipping
UI
Order Service
Order Service
Service
Service
Service
Service
User
Service
Shipping
Service
Can we take this paradigm
to the
next level?
Image: Izabella Reimers
Image: Izabella Reimers
Resource
management
Resource
isolation
Speed
Package Ship Run
docker push
docker pull
docker runDockerfile
How should we think
about building and
running distributed
applications?
A different primitive
• {
• "environment": [],
• "name": "simple-demo",
• "image": "my-demo",
• "cpu": 10,
• "memory": 500,
• "portMappings": [
• {
• "containerPort": 80,
• "hostPort": 80
• }
• ],
• "mountPoints": [
• {
• "sourceVolume": "my-vol",
• "containerPath":
"/var/www/my-vol"
• }
• ],
• "entryPoint": [
• "/usr/sbin/apache2",
• "-D",
• "FOREGROUND"
• ],
• "essential": true
• },
Managing the cluster
Image: NATS Press Office
The Leader
Image: NATS Press Office
http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41684.pdf
Image: highersights
Listening to our customers
Docker
Task
Container Instance
Amazon
ECS
Container
ECS Agent
ELB
Internet
ELB
User / Scheduler
API
Cluster Management Engine
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
Docker
Task
Container Instance
Amazon
ECS
Container
ECS Agent
ELB
Internet
ELB
User / Scheduler
API
Cluster Management Engine
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
https://github.com/aws/amazon-ecs-agent
Docker
Task
Container Instance
Amazon
ECS
Container
ECS Agent
ELB
Internet
ELB
User / Scheduler
API
Cluster Management Engine
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
100 Node Cluster (End-to-End) 1000 Node Cluster (End-to-End)
Docker
Task
Container Instance
Amazon
ECS
Container
ECS Agent
ELB
Internet
ELB
User / Scheduler
API
Cluster Management Engine
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
Docker
Task
Container Instance
Container
ECS Agent
Task
Container
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
https://aws.amazon.com/blogs/compute/how-to-create-a-custom-scheduler-for-amazon-ecs/
# Describe all instances in the ECS cluster
containerInstancesArns = getInstanceArns(clusterName)
response = ecs.describe_container_instances(
cluster=clusterName,
containerInstances=containerInstancesArns
)
containerInstances = response['containerInstances']
# Sort instances by number of running tasks
sortedContainerInstances = sorted(
containerInstances,
key=lambda containerInstances: containerInstances['runningTasksCount']
)
# Get the instance with the least number of tasks
startOn.append(sortedContainerInstances[0]['containerInstanceArn'])
logging.info('Starting task on instance %s...', startOn)
# Start a new task
response = ecs.start_task(
cluster=clusterName,
taskDefinition=taskDefinition,
containerInstances=startOn,
startedBy='LeastTasksScheduler'
)
But you don’t have to
The ECS Service Scheduler
Create services
Services launch tasks
Desired state
Desired state
Update service
Update service
Update service
Events
Using metrics
to scale your fleet
Deployments
Deployments
Service Discovery
Image: NATS Press Office
ELB
Consul or etcd
https://aws.amazon.com/blogs/compute/service-discovery-via-consul-with-amazon-ecs/
Weave
http://weave.works/guides/service-discovery-with-weave-aws-ecs.html
Image: Steve Davis
“Moving to Amazon ECS significantly improved our
service performance. We reduced service response
times in the 99th percentile by 50%”
Jason Fischl
VP of Engineering
“I have managed the orchestration service at Heroku, and experimented
with configuring and running numerous open-source orchestration systems,
and I am relieved that Amazon's world-class engineering is tackling this
problem and offers it as a service.”
Noah Zoschke
Founder
“Out of the box ECS lets us run thousands of containers across multiple
availability zones. It's let our development team focus on building the
Meteor-specific services needed for our customers to build amazing
Connected Client apps. Because ECS pairs well with other technologies like
CloudFormation and auto scaling, it dramatically simplified our own devops
compared to other options. It's made it possible to run multiple Galaxies
and to bring up faithful development environments for each person on the
core team in a fraction of the time previously possible.”
Matt DeBergalis
Co-founder and VP Product
Image: Robert Couse-Baker
Amazon EC2 Container Registry
• Fully - managed Docker container
registry
• Integrated with Amazon ECS
• Encrypted in transit and at rest
• IAM users and roles
• Highly available and scalable
• Available in multiple regions
• $0.10/GB/Month + AWS data transfer
costs
aws.amazon.com/ecr
ECS CLI
• First version
• Simplify local development
• Easily set up ECS clusters
• Supports Docker Compose
• Open source
github.com/aws/amazon-ecs-cli
$ ecs-cli configure -i
$ ecs-cli up
$ ecs-cli compose up
$ ecs-cli compose ps
New: Improved Docker Container Configuration Options
• More Docker options supported in ECS task
definitions
• Ideal for advanced Docker users
• New additions
– Hostname
– Docker labels
– Working directory
– Privileged execution
– Log configuration
– …and more (see Amazon ECS
docs
aws.amazon.com/ecr
A system that’s designed to run container-enabled
applications in Production
Without worrying about scalability, performance,
IAM
Yaniv Donenfeld
EC2 Container Service -
Distributed Applications at Scale
donenfel@amazon.com

Mais conteúdo relacionado

Mais procurados

AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAmazon Web Services
 
Amazon EC2 - Masterclass - Pop-up Loft Tel Aviv
Amazon EC2 - Masterclass - Pop-up Loft Tel AvivAmazon EC2 - Masterclass - Pop-up Loft Tel Aviv
Amazon EC2 - Masterclass - Pop-up Loft Tel AvivAmazon Web Services
 
Monitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesMonitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesAmazon Web Services
 
AWS Webcast - Amazon EC2 Masterclass
AWS Webcast - Amazon EC2 MasterclassAWS Webcast - Amazon EC2 Masterclass
AWS Webcast - Amazon EC2 MasterclassAmazon Web Services
 
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...Amazon Web Services
 
ENT317 Migrating with Morningstar: The Path To Dynamic Cloud
ENT317 Migrating with Morningstar: The Path To Dynamic CloudENT317 Migrating with Morningstar: The Path To Dynamic Cloud
ENT317 Migrating with Morningstar: The Path To Dynamic CloudAmazon Web Services
 
AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...
AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...
AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...Amazon Web Services
 
AWS January 2016 Webinar Series - Getting Started with Big Data on AWS
AWS January 2016 Webinar Series - Getting Started with Big Data on AWSAWS January 2016 Webinar Series - Getting Started with Big Data on AWS
AWS January 2016 Webinar Series - Getting Started with Big Data on AWSAmazon Web Services
 
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesWKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesAmazon Web Services
 
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)Amazon Web Services
 
SRV417 Deep Dive on Elastic Load Balancing
SRV417 Deep Dive on Elastic Load BalancingSRV417 Deep Dive on Elastic Load Balancing
SRV417 Deep Dive on Elastic Load BalancingAmazon Web Services
 
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Amazon Web Services
 
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAn introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAmazon Web Services
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAmazon Web Services
 
February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive Amazon Web Services
 
Amazon Ec2 Application Design
Amazon Ec2 Application DesignAmazon Ec2 Application Design
Amazon Ec2 Application Designguestd0b61e
 
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesWKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesAmazon Web Services
 
Intro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesIntro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesAmazon Web Services
 

Mais procurados (20)

AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWSAWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
AWS January 2016 Webinar Series - Introduction to Deploying Applications on AWS
 
Amazon EC2 - Masterclass - Pop-up Loft Tel Aviv
Amazon EC2 - Masterclass - Pop-up Loft Tel AvivAmazon EC2 - Masterclass - Pop-up Loft Tel Aviv
Amazon EC2 - Masterclass - Pop-up Loft Tel Aviv
 
Deep Dive:EC2 Container Service
Deep Dive:EC2 Container ServiceDeep Dive:EC2 Container Service
Deep Dive:EC2 Container Service
 
Monitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar SeriesMonitoring Containers at Scale - September Webinar Series
Monitoring Containers at Scale - September Webinar Series
 
AWS Webcast - Amazon EC2 Masterclass
AWS Webcast - Amazon EC2 MasterclassAWS Webcast - Amazon EC2 Masterclass
AWS Webcast - Amazon EC2 Masterclass
 
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
AWS 201 - A Walk through the AWS Cloud: App Hosting on AWS - Games, Apps and ...
 
ENT317 Migrating with Morningstar: The Path To Dynamic Cloud
ENT317 Migrating with Morningstar: The Path To Dynamic CloudENT317 Migrating with Morningstar: The Path To Dynamic Cloud
ENT317 Migrating with Morningstar: The Path To Dynamic Cloud
 
AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...
AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...
AWS re:Invent 2016: Simplifying Microsoft Architectures with AWS services (WI...
 
AWS January 2016 Webinar Series - Getting Started with Big Data on AWS
AWS January 2016 Webinar Series - Getting Started with Big Data on AWSAWS January 2016 Webinar Series - Getting Started with Big Data on AWS
AWS January 2016 Webinar Series - Getting Started with Big Data on AWS
 
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesWKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
 
Microsoft Best Practices on AWS
Microsoft Best Practices on AWSMicrosoft Best Practices on AWS
Microsoft Best Practices on AWS
 
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
AWS re:Invent 2016: Running Microservices on Amazon ECS (CON309)
 
SRV417 Deep Dive on Elastic Load Balancing
SRV417 Deep Dive on Elastic Load BalancingSRV417 Deep Dive on Elastic Load Balancing
SRV417 Deep Dive on Elastic Load Balancing
 
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
Managing Your Infrastructure as Code by Travis Williams, Solutions Architect,...
 
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAn introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
 
AWS CloudFormation Best Practices
AWS CloudFormation Best PracticesAWS CloudFormation Best Practices
AWS CloudFormation Best Practices
 
February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive February 2016 Webinar Series - EC2 Container Service Deep Dive
February 2016 Webinar Series - EC2 Container Service Deep Dive
 
Amazon Ec2 Application Design
Amazon Ec2 Application DesignAmazon Ec2 Application Design
Amazon Ec2 Application Design
 
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot InstancesWKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
WKS401 Deploy a Deep Learning Framework on Amazon ECS and EC2 Spot Instances
 
Intro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute ServicesIntro to AWS: EC2 & Compute Services
Intro to AWS: EC2 & Compute Services
 

Destaque (12)

Lengua
LenguaLengua
Lengua
 
COMPENDIO_ONU-M-WEB
COMPENDIO_ONU-M-WEBCOMPENDIO_ONU-M-WEB
COMPENDIO_ONU-M-WEB
 
CPk
CPkCPk
CPk
 
Resume 2016
Resume 2016 Resume 2016
Resume 2016
 
Delphi Training Letter
Delphi Training LetterDelphi Training Letter
Delphi Training Letter
 
aa_farming_as_equalslores
aa_farming_as_equalsloresaa_farming_as_equalslores
aa_farming_as_equalslores
 
Kana saku
Kana sakuKana saku
Kana saku
 
CAD Palette
CAD PaletteCAD Palette
CAD Palette
 
How To Be Successful In Life | Norman Brodeur
How To Be Successful In Life  | Norman Brodeur How To Be Successful In Life  | Norman Brodeur
How To Be Successful In Life | Norman Brodeur
 
Diploma Brazil 1
Diploma Brazil 1Diploma Brazil 1
Diploma Brazil 1
 
Global Team Building
Global Team BuildingGlobal Team Building
Global Team Building
 
71st ICREA Colloquium - The unbearable lightness of being (a protein) by Xavi...
71st ICREA Colloquium - The unbearable lightness of being (a protein) by Xavi...71st ICREA Colloquium - The unbearable lightness of being (a protein) by Xavi...
71st ICREA Colloquium - The unbearable lightness of being (a protein) by Xavi...
 

Semelhante a EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel Aviv

Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...Swapnil Dahiphale
 
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2Amazon Web Services
 
Amazon ECS – Production Docker at Scale
Amazon ECS – Production Docker at ScaleAmazon ECS – Production Docker at Scale
Amazon ECS – Production Docker at ScaleAmazon Web Services
 
Tech connect aws
Tech connect  awsTech connect  aws
Tech connect awsBlake Diers
 
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2Amazon Web Services
 
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud FoundryCloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud FoundryQAware GmbH
 
Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloudEugene Fedorenko
 
(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at ScaleAmazon Web Services
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiatedKevin Lee
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of ComputingAmazon Web Services
 
Microservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker ContainersMicroservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker ContainersDanilo Poccia
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of ComputingAmazon Web Services
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosMike Martin
 
Aws microservice keynote
Aws microservice keynoteAws microservice keynote
Aws microservice keynotenextbuild
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deploymentjavaonfly
 

Semelhante a EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel Aviv (20)

EC2 Container Service
EC2 Container ServiceEC2 Container Service
EC2 Container Service
 
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
Introduction to Amazon EC2 Container Service and setting up build pipeline wi...
 
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
 
Docker on AWS
Docker on AWSDocker on AWS
Docker on AWS
 
Amazon ECS – Production Docker at Scale
Amazon ECS – Production Docker at ScaleAmazon ECS – Production Docker at Scale
Amazon ECS – Production Docker at Scale
 
Tech connect aws
Tech connect  awsTech connect  aws
Tech connect aws
 
Introduction to Docker on AWS
Introduction to Docker on AWSIntroduction to Docker on AWS
Introduction to Docker on AWS
 
Amazon ECS
Amazon ECSAmazon ECS
Amazon ECS
 
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
Amazon EC2 Container Service: Manage Docker-Enabled Apps in EC2
 
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud FoundryCloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
 
Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloud
 
(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale(CMP302) Amazon ECS: Distributed Applications at Scale
(CMP302) Amazon ECS: Distributed Applications at Scale
 
Microservices and containers for the unitiated
Microservices and containers for the unitiatedMicroservices and containers for the unitiated
Microservices and containers for the unitiated
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of Computing
 
So Many Docker Platforms...so little time
So Many Docker Platforms...so little timeSo Many Docker Platforms...so little time
So Many Docker Platforms...so little time
 
Microservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker ContainersMicroservice Architecture on AWS using AWS Lambda and Docker Containers
Microservice Architecture on AWS using AWS Lambda and Docker Containers
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of Computing
 
Techdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err MicrocosmosTechdays SE 2016 - Micros.. err Microcosmos
Techdays SE 2016 - Micros.. err Microcosmos
 
Aws microservice keynote
Aws microservice keynoteAws microservice keynote
Aws microservice keynote
 
Docker - Portable Deployment
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
 

Mais de 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
 

Mais de 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
 

Último

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Último (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel Aviv

Notas do Editor

  1. Why we built the EC2 Container Service Some of the design decisions we took What sort of applications our customers are writing that drive these decisions
  2. For years the core primitive of computing has been the server, and in more recent years, the virtual server. A server has a processor with cores. You run a full operating system. Typically you log into the server to debug it, etc.
  3. For years if you needed your app to do more, you got a bigger server
  4. and if your app got even bigger you bought an even bigger server. At some point you can’t find a bigger server (or it’s too expensive).
  5. That was the common approach, but some people had started writing applications that were better suited to scaling horizontally, where you wouldn’t have to worry about hitting the limits of your individual machine, because to scale you just needed to add another one.
  6. Then along came Amazon EC2. EC2 was announced just over 9 years ago.
  7. EC2 completely changed the way you interactive with your primitive. Getting a new server became an API call.
  8. Because adding servers was as easy as just another run-instances call
  9. Your scaling model wasn’t about moving to a bigger server, but about scaling horizontally. This wasn’t a pattern that was invented by EC2, but programmatic instance provisioning and autoscaling definitively made this the pattern that people started using extensively. Your scale was now determined by your traffic
  10. But applications for the most part on were still scaling in a monolithic fashion. What is a monolith? A monolith consists of a single file or hierarchy (WAR files/Rails).
  11. To scale the application, you replicated it on many servers
  12. Split each component up into it’s own service
  13. Scale each service independently on its own fleet
  14. Well this is where containers come into the picture BSD, Solaris, Linux
  15. Containers allow you to manage your resources via cgroups, You get resource level isolation via namespaces, and because containers share an OS and kernel, they are lightweight and REALLY fast
  16. So containers are well and cool, but really hit the mainstream with the launch of Docker in 2013. So what did Docker get right apart from the really cute logo
  17. So given that we now have a mechanism to package, deploy, and run our application components. Over the next few minutes you may get to hear me talk a little bit about how this relates to High Performance Computing, but that’s only because the HPC community has been doing cluster computing for a very long time and we can learn a lot of lessons from them.
  18. We need to think about the problem differently. We need a different primitive
  19. Our old primitive was the server. Our new primitive is a job or a task. A task is essentially your “micro” application. Something made up of one of more containers that need a certain amount of resources.
  20. Tasks can be stitched up from Docker Containers and described declaratively
  21. You can think of your hosts (or EC2 instances in this case) as a pool of resources across which you want to distribute your tasks based on your requirements.
  22. This pool of resources is your cluster and you need a way to manage your cluster.
  23. I like to think of cluster management like the air traffic control problem (or a train system). You need a control tower which is the leader and responsible for making decisions.
  24. Your planes are the tasks that are supposed to be in a particular place at a particular time. Your control tower is responsible for coordinating take off, landing, and where planes are at a particular point in time based on the knowledge they have from GPS and other “state management” systems. Essentially the control tower has the ability to act like a scheduler.
  25. There are a number of cluster and scheduling architectures, well described in this paper. Most HPC schedulers are monolithic but containers are well suited for two-level or shared state systems.
  26. We talked to our customers to try and understand what they wanted out of a cluster management system and it became very clear to us that they needed a system that allowed them to run multiple distributed applications efficiently across a cluster of EC2 instances. They wanted the ability to use multiple schedulers concurrently, be able to make decisions on job priorities, and scaled well not just for individual applications, but for an entire organization. To do this reliably, you need to build a shared state, optimistic concurrency system.
  27. And that’s what we built. This is a high level architectural diagram of Amazon ECS. Let’s look at the core components and concepts and how Amazon ECS is designed to help you run distributed applications.
  28. The first thing you do with ECS is launch a “cluster” of Amazon EC2 instances (really need a better figure for container instances running Docker and the ECS agent with no task running on them). The only requirement for these instances is that they run a modern Linux kernel with Docker and the ECS agent
  29. The ECS agent is written in Go, is open source (under an Apache license) and essentially is the interface for the ECS service on instances that you own.
  30. The ECS service is built upon one of Amazons key distributed systems primitives, a highly available and scalable Paxos-based transaction journal. It has a history of state transitions captured over time. These transitions are offered using a shared state, optimistic concurrency (OCC) system. Accepted offers are replicated, you can make decisions based on it, since it’s consistent, it provides you with exactly which transition you’re working with.
  31. Here is a list of all the ECS APIs
  32. But really the key ones are the ones that allow you to List and Describe your key resources. Clusters, Container Instances, and Tasks. These APIs together help you get the complete state of your system at any point in time.
  33. You can then use the start and stop APIs to place these tasks on the instances that you care about, e.g. instances with sufficient resources to run your tasks.
  34. The numbers represents latencies end-to-end. From the time client submits a request to start a task, till the docker daemon sends an ack back to the client it’s running.
  35. So, most of what we spend time in over the past year and a half or so, was building a very robust system that you can pretty much throw anything at. We can take very large clusters, in multiple zones, and you don’t have to worry about how we scale.
  36. You might be saying at this point that we just spent all this time talking about schedulers. Why are we placing instances manually. That is a great point. You can think of scheduling in ECS as something you build on top of the core ECS APIs.
  37. You can write your own scheduler! Here is an example of some python code that essentially uses the ECS APIs to build a simple schedulers that places tasks on instances with the list number of running tasks You can also take a scheudler system you’re using, and have it run on ECS (e.g scheduler driver that can run Marathon, by converting ECS state response into a Mesis offer
  38. ECS provides two schedulers that are available to all customers. And yes, they have their own APIs. But the one we are interested in today is the one designed for distributed applications - The ECS Service Scheduler
  39. The ECS Service Scheduler allows you to create a “service” and you can optionally put this service behind an ELB.
  40. The primitive that the service launches and manages (and this is the core ECS primitive or unit of work) is the Task. Tasks are essentially a group of containers that you want to place together on the same host or container instance. In most cases, tasks consist of containers that do something together.
  41. One of the key things that the service scheduler does is maintain the desired state of the system, which is really today maintaining the number of tasks it needs to maintain and making sure they are healthy behind an ELB. So if you lose your task, it will be restarted.
  42. As you can see in the previous case our desired task count was 1 and the service scheduler focuses on making sure the running count is also 1.
  43. and if you it the DNS record of the ELB you see we have a functioning app. OK this one is super simple but you get the picture.
  44. You can update services. For example you may want to scale it to 3 tasks to take more traffic.
  45. Cluster and service metrics at 1 minute granularity. These are aggregate metrics, they give CPU and memory utilization across the entire cluster, or the services running on the cluster. You can use those metrics to scale the fleet.
  46. Task definitions in ECS are immutable. When you make a changes, it gets versioned. So you're going from one version of the task to another
  47. So we have the concept of deployments: - Create a new task, drain connections from old one, register in the ELB, delete the old one.
  48. and if you it the DNS record of the ELB you see we have a functioning app. OK this one is super simple but you get the picture.
  49. and if you it the DNS record of the ELB you see we have a functioning app. OK this one is super simple but you get the picture.
  50. There is a third element of running distributed applications, especially in his kind of dynamic environment.
  51. The way I think about service discovery is in this futuristic world where everything is coordinated by machines, so there are no people in this control tower. Planes that enter the system check themselves in and any other planes that have dependencies on those planes (e.g. flightpath) automatically know they are there, etc. In modern distributed architectures service discovery is a critical component of your system.
  52. One way you can do service discovery in ECS is to look for all the services behind the same ELB.
  53. Or you can use a system like etcd or Consul. We have a blog post that shows you how you can use Consul to do so
  54. Our partners also provide some great tools in this space. A great example are Weave who have done some great work on integrating their networking and visualization stack with ECS. They have a great set of blog posts on this integration including one on how you can use Weave to do service discovery on ECS.
  55. We announced ECS 11 months ago at re:Invent. In the months leading up to that and in the time since we’ve learnt a lot from our customers.
  56. Earlier today you saw Remind speak at Werner’s keynote. They were an early customer and wrote a blog post earlier this year when they open sourced their platform, Empire. Empire is an open source platform for deploying and running distributed applications and allows teams to focus on what’s important. Remind runs Empire on top of ECS and perhaps my favorite part in their blog post was the bit where they talked about their response times. We work hard to make sure our service scales well, and more importantly provides good, low jitter, outlier performance. And the best part is that you don’t have to manage anything to do that. It’s just a function of our platform.
  57. Another customer we have worked closely with is Convox, who have developed a super awesome platform and CLI for deploying distributed applications using Docker containers on top of ECS. Similarly to remind, they can focus on the usability of Convox and how applications are deployed and run, while ECS is responsible for scheduling and cluster management.
  58. And last, but certainly not the least, Meteor, who have built their Galaxy platform on top of ECS. They value our scalability, the default multi-AZ setup, and integration with other AWS services. These are just examples of customers that are running distributed apps on top of ECS. The key is that they can focus on what’s important to them. They don’t need to install or management anything, get highly reliable state management, and the ability to runs 1000s of containers across multiple AZs with fast API response times.
  59. I’d like to end this talk with a few announcements that will make it even easier for you to run and manage your ECS services.
  60. The Amazon EC2 Container registry, a new Docker registry service that is designed to be tightly integrated with ECS and other AWS services. You don’t have to use ECS (or even EC2) to use this service.
  61. The Amazon EC2 Container registry, a new Docker registry service that is designed to be tightly integrated with ECS and other AWS services. You don’t have to use ECS (or even EC2) to use this service.