SlideShare a Scribd company logo
1 of 42
©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved
Amazon EC2 Container Service
Brandon Chavis
Solutions Architect, AWS
Agenda
• Introduction to Containers
• Amazon EC2 Container Service
• Extending ECS
• Conclusion
About me
• Solutions Architect
• With AWS since October 2012
• Sysadmin heritage
About Amazon Web Services
• Agility
• Cost savings
• Elasticity
• Breadth of functionality
• Global reach
What are containers?
• OS virtualization
• Process isolation
• Images
• AutomationServer
Guest OS
Bins/Libs Bins/Libs
App2App1
Container advantages
Portable
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Container advantages
Flexible
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Container advantages
Fast
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Container advantages
Efficient
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
A container pipeline
Base
image
Patches
IT Operations
Utilities
A container pipeline
Base
image
Patches
IT Operations
Ruby
Redis
Logger
Utilities
A container pipeline
Base
image
Patches
IT Operations Developer
Ruby
Redis
Logger
Utilities
App
A container pipeline
Base
image
Patches
IT Operations Developer
Ruby
Redis
Logger
Utilities
App
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Amazon EC2 Container Service
Easily Manage Clusters for Any Scale
• Nothing to run
• Complete state
• Control and monitoring
• Scale
Flexible Container Placement
• Applications
• Batch jobs
• Multiple schedulers
Designed for use with other AWS services
• Elastic Load Balancing
• Elastic Block Store
• Virtual Private Cloud
• Identity and Access Management
• CloudTrail
Extensible
• Comprehensive APIs
• Open source agent
• Custom schedulers
Common Patterns / Customer feedback
Pattern 1: Services and applications
• Simple to model
• Micro services
• Blue / green
deployments
Phong Nguyen, Founder at Gilt
Groupe, said, "As we Dockerize
all our services, it is very
important for us to have a
platform that can help us speed
up deployments, automate our
services, and gain greater
efficiencies. The new service
scheduler and ELB integration
make Amazon ECS an excellent
platform for our services.”
Pattern 2: Batch jobs
• Share resource pools
• Ideal for “bursty” jobs
• Spot instances
“We required a solution on which
we could securely and efficiently
deploy Docker containers to
encapsulate learner
programming assignment
submissions,” said Brennan
Saeta, Architect at Coursera. “We
are using Amazon EC2 Container
Service to power our new
programming assignments
infrastructure for next-generation
On-Demand course platform.”
EC2 Container Service Terminology
Amazon EC2 instances
Docker daemon
Amazon ECS agent
Key Components: Container Instances
Regional
Resource pool
Grouping of Container Instances
Start empty, dynamically scalable
Key Components: Clusters
Key Components: Task Definitions
Volume definitions
Container definitions
Key Components: Task Definitions
Shared data volume
PHP App
Time of day
App
Key Components: Task Definitions
{
"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
},
{
"name": "busybox",
"image": "busybox",
"cpu": 10,
"memory": 500,
"volumesFrom": [
{
"sourceContainer": "simple-demo"
}
],
"entryPoint": [
"sh",
"-c"
],
"command": [
"/bin/sh -c "while true; do /bin/date >
/var/www/my-vol/date; sleep 1; done""
],
"essential": false
}
{
"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
},
Key Components: Task Definitions
[
{
"image": "mysql",
"name": "db",
"cpu": 10,
"memory": 500,
"essential": true,
"entryPoint": [
"/entrypoint.sh"
],
"environment": [
{
"name": "MYSQL_ROOT_PASSWORD",
"value": "pass"
}
],
"portMappings": []
}
]
Essential to our Task
Create and mount volumes
Expose port 80 in container
to port 80 on host
10 CPU Units (1024 is full CPU),
500 Megabytes of Memory
{
"name": "busybox",
"image": "busybox",
"cpu": 10,
"memory": 500,
"volumesFrom": [
{
"sourceContainer": "simple-demo"
}
],
"entryPoint": [
"sh",
"-c"
],
"command": [
"/bin/sh -c "while true; do /bin/date >
/var/www/my-vol/date; sleep 1; done""
],
"essential": false
}
Key Components: Task Definitions
[
{
"image": "tutum/wordpress-stackable",
"name": "wordpress",
"cpu": 10,
"memory": 500,
"essential": true,
"links": [
"db"
],
"entryPoint": [
"/bin/sh",
"-c"
],
"environment": [
…
],
"portMappings": [
{
"containerPort": 80,
"hostPort": 80
}
]
},
]
From Docker Hub
Mount volume from other container
Command to execute
Key Components: Tasks
Container
Instance
Schedule
Shared data volume
PHP App
Time of day
App
Unit of work
Grouping of related Containers
Run on Container Instances
Key Components: Tasks
Key Components: Run a task
Good for short-lived
containers, e.g.
batch jobs
Key Components: Create a Service
Good for long-
running applications
and services
Key Components: Create Service
• Load Balance traffic across containers
• Automatically recover unhealthy containers
• Discover services
Elastic Load Balancing
Key Components: Update Service
• Scale out
• Scale in
Elastic Load Balancing
Key Components: Update Service
• Deploy new version
• Drain connections
Elastic Load Balancing
Key Components: Update Service
• Deploy new version
• Drain connections
Elastic Load Balancing
Key Components: Update Service
• Deploy new version
• Drain connections
Elastic Load Balancing
Next steps
• Learn more about AWS
– Speak to a Solutions Architect
– Visit aws.amazon.com
• Learn more about ECS
– Read the documentation
– Find even cooler ECS demos and blog posts
• Set up a build pipeline with Jenkins and Amazon ECS
• Automatically scale your service using CloudWatch and Lambda
• Explore our training options
Thank you
- chavisb@amazon.com

More Related Content

What's hot

AWS Elastic Container Service - DockerHN
AWS Elastic Container Service - DockerHNAWS Elastic Container Service - DockerHN
AWS Elastic Container Service - DockerHNNguyen Anh Tu
 
(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
 
Amazon EC2 Container Service: Deep Dive
Amazon EC2 Container Service: Deep DiveAmazon EC2 Container Service: Deep Dive
Amazon EC2 Container Service: Deep DiveAmazon Web Services
 
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 EC2 Container Service Live Demo - Microservices Web Day
Amazon EC2 Container Service Live Demo - Microservices Web DayAmazon EC2 Container Service Live Demo - Microservices Web Day
Amazon EC2 Container Service Live Demo - Microservices Web DayAWS Germany
 
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Amazon Web Services
 
AWS Elastic Container Service
AWS Elastic Container ServiceAWS Elastic Container Service
AWS Elastic Container ServiceLadislav Prskavec
 
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 ServiceAmazon Web Services
 
AWS April Webinar Series - Getting Started with Amazon EC2 Container Service
AWS April Webinar Series - Getting Started with Amazon EC2 Container ServiceAWS April Webinar Series - Getting Started with Amazon EC2 Container Service
AWS April Webinar Series - Getting Started with Amazon EC2 Container ServiceAmazon Web Services
 
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...Amazon Web Services Korea
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for BeginnersDavid Völkel
 
Optimizing costs with spot instances
Optimizing costs with spot instancesOptimizing costs with spot instances
Optimizing costs with spot instancesAmazon Web Services
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayAmazon Web Services Korea
 
Amazon ECS Container Service Deep Dive
Amazon ECS Container Service Deep DiveAmazon ECS Container Service Deep Dive
Amazon ECS Container Service Deep DiveAmazon Web Services
 
[PL] Code Europe 2016 - Python and Microsoft Azure
[PL] Code Europe 2016 - Python and Microsoft Azure[PL] Code Europe 2016 - Python and Microsoft Azure
[PL] Code Europe 2016 - Python and Microsoft AzureMichał Smereczyński
 
Continuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSContinuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSAmazon Web Services
 
Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2Kornel Lugosi
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAmazon Web Services
 

What's hot (20)

AWS Elastic Container Service - DockerHN
AWS Elastic Container Service - DockerHNAWS Elastic Container Service - DockerHN
AWS Elastic Container Service - DockerHN
 
(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
 
Amazon EC2 Container Service: Deep Dive
Amazon EC2 Container Service: Deep DiveAmazon EC2 Container Service: Deep Dive
Amazon EC2 Container Service: Deep Dive
 
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
 
Amazon EC2 Container Service Live Demo - Microservices Web Day
Amazon EC2 Container Service Live Demo - Microservices Web DayAmazon EC2 Container Service Live Demo - Microservices Web Day
Amazon EC2 Container Service Live Demo - Microservices Web Day
 
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
 
ECS and ECR deep dive
ECS and ECR deep diveECS and ECR deep dive
ECS and ECR deep dive
 
AWS Elastic Container Service
AWS Elastic Container ServiceAWS Elastic Container Service
AWS Elastic Container Service
 
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
 
AWS April Webinar Series - Getting Started with Amazon EC2 Container Service
AWS April Webinar Series - Getting Started with Amazon EC2 Container ServiceAWS April Webinar Series - Getting Started with Amazon EC2 Container Service
AWS April Webinar Series - Getting Started with Amazon EC2 Container Service
 
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
[AWS Dev Day] 앱 현대화 | AWS Fargate를 사용한 서버리스 컨테이너 활용 하기 - 삼성전자 개발자 포털 사례 - 정영준...
 
Infrastructure as Code for Beginners
Infrastructure as Code for BeginnersInfrastructure as Code for Beginners
Infrastructure as Code for Beginners
 
infrastructure as code
infrastructure as codeinfrastructure as code
infrastructure as code
 
Optimizing costs with spot instances
Optimizing costs with spot instancesOptimizing costs with spot instances
Optimizing costs with spot instances
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
 
Amazon ECS Container Service Deep Dive
Amazon ECS Container Service Deep DiveAmazon ECS Container Service Deep Dive
Amazon ECS Container Service Deep Dive
 
[PL] Code Europe 2016 - Python and Microsoft Azure
[PL] Code Europe 2016 - Python and Microsoft Azure[PL] Code Europe 2016 - Python and Microsoft Azure
[PL] Code Europe 2016 - Python and Microsoft Azure
 
Continuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECSContinuous Delivery with Docker and Amazon ECS
Continuous Delivery with Docker and Amazon ECS
 
Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2Hosting Drupal on Amazon EC2
Hosting Drupal on Amazon EC2
 
AWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar SeriesAWS Infrastructure as Code - September 2016 Webinar Series
AWS Infrastructure as Code - September 2016 Webinar Series
 

Viewers also liked

Blue Chip Tek AWS Connect and Protect Presentation #2
Blue Chip Tek AWS Connect and Protect Presentation #2Blue Chip Tek AWS Connect and Protect Presentation #2
Blue Chip Tek AWS Connect and Protect Presentation #2Kimberly Macias
 
AWS Webcast - Implementing SAP Solutions on the AWS Cloud
AWS Webcast - Implementing SAP Solutions on the AWS CloudAWS Webcast - Implementing SAP Solutions on the AWS Cloud
AWS Webcast - Implementing SAP Solutions on the AWS CloudAmazon Web Services
 
Aspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewAspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewBhavik Vyas
 
AWS Webcast - Best Practices for Deploying SAP Workloads on AWS
AWS Webcast - Best Practices for Deploying SAP Workloads on AWSAWS Webcast - Best Practices for Deploying SAP Workloads on AWS
AWS Webcast - Best Practices for Deploying SAP Workloads on AWSAmazon Web Services
 
[AWSマイスターシリーズ] Amazon VPC VPN & Direct Connect
[AWSマイスターシリーズ] Amazon VPC VPN & Direct Connect[AWSマイスターシリーズ] Amazon VPC VPN & Direct Connect
[AWSマイスターシリーズ] Amazon VPC VPN & Direct ConnectAmazon Web Services Japan
 
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...Amazon Web Services
 
Cloud Data Migration Strategies - AWS May 2016 Webinar Series
Cloud Data Migration Strategies - AWS May 2016 Webinar SeriesCloud Data Migration Strategies - AWS May 2016 Webinar Series
Cloud Data Migration Strategies - AWS May 2016 Webinar SeriesAmazon Web Services
 
AWS re:Invent 2016: Deep Dive: AWS Direct Connect and VPNs (NET402)
AWS re:Invent 2016: Deep Dive: AWS Direct Connect and VPNs (NET402)AWS re:Invent 2016: Deep Dive: AWS Direct Connect and VPNs (NET402)
AWS re:Invent 2016: Deep Dive: AWS Direct Connect and VPNs (NET402)Amazon Web Services
 
Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013
Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013
Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013Amazon Web Services
 

Viewers also liked (10)

Blue Chip Tek AWS Connect and Protect Presentation #2
Blue Chip Tek AWS Connect and Protect Presentation #2Blue Chip Tek AWS Connect and Protect Presentation #2
Blue Chip Tek AWS Connect and Protect Presentation #2
 
AWS Webcast - Implementing SAP Solutions on the AWS Cloud
AWS Webcast - Implementing SAP Solutions on the AWS CloudAWS Webcast - Implementing SAP Solutions on the AWS Cloud
AWS Webcast - Implementing SAP Solutions on the AWS Cloud
 
Aspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overviewAspera on demand for AWS (S3 inc) overview
Aspera on demand for AWS (S3 inc) overview
 
AWS Webcast - Best Practices for Deploying SAP Workloads on AWS
AWS Webcast - Best Practices for Deploying SAP Workloads on AWSAWS Webcast - Best Practices for Deploying SAP Workloads on AWS
AWS Webcast - Best Practices for Deploying SAP Workloads on AWS
 
[AWSマイスターシリーズ] Amazon VPC VPN & Direct Connect
[AWSマイスターシリーズ] Amazon VPC VPN & Direct Connect[AWSマイスターシリーズ] Amazon VPC VPN & Direct Connect
[AWSマイスターシリーズ] Amazon VPC VPN & Direct Connect
 
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
Best Practices for Running SAP HANA Workloads with EC2 - August 2016 Monthly ...
 
Cloud Data Migration Strategies - AWS May 2016 Webinar Series
Cloud Data Migration Strategies - AWS May 2016 Webinar SeriesCloud Data Migration Strategies - AWS May 2016 Webinar Series
Cloud Data Migration Strategies - AWS May 2016 Webinar Series
 
AWS re:Invent 2016: Deep Dive: AWS Direct Connect and VPNs (NET402)
AWS re:Invent 2016: Deep Dive: AWS Direct Connect and VPNs (NET402)AWS re:Invent 2016: Deep Dive: AWS Direct Connect and VPNs (NET402)
AWS re:Invent 2016: Deep Dive: AWS Direct Connect and VPNs (NET402)
 
Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013
Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013
Cloud Architectures with AWS Direct Connect (ARC304) | AWS re:Invent 2013
 
AWS Direct Connect
AWS Direct ConnectAWS Direct Connect
AWS Direct Connect
 

Similar to Tech connect aws

AWS September Webinar Series - Running Microservices with Amazon EC2 Contain...
AWS September Webinar Series -  Running Microservices with Amazon EC2 Contain...AWS September Webinar Series -  Running Microservices with Amazon EC2 Contain...
AWS September Webinar Series - Running Microservices with Amazon EC2 Contain...Amazon Web Services
 
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...Amazon Web Services
 
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
 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAmazon Web Services
 
無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門 無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門 Amazon 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
 
Microservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker ContainersMicroservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker ContainersDanilo Poccia
 
A 60-mn tour of AWS compute (March 2016)
A 60-mn tour of AWS compute (March 2016)A 60-mn tour of AWS compute (March 2016)
A 60-mn tour of AWS compute (March 2016)Julien SIMON
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...Amazon Web Services Korea
 
EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel Aviv
EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel AvivEC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel Aviv
EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel AvivAmazon Web Services
 
Amazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionAmazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionPaolo latella
 
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Amazon 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
 
Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon Web Services
 
Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Hao H. Zhang
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 

Similar to Tech connect aws (20)

AWS September Webinar Series - Running Microservices with Amazon EC2 Contain...
AWS September Webinar Series -  Running Microservices with Amazon EC2 Contain...AWS September Webinar Series -  Running Microservices with Amazon EC2 Contain...
AWS September Webinar Series - Running Microservices with Amazon EC2 Contain...
 
Amazon ECS
Amazon ECSAmazon ECS
Amazon ECS
 
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...
(DVO308) Docker & ECS in Production: How We Migrated Our Infrastructure from ...
 
Containers and the Evolution of Computing
Containers and the Evolution of ComputingContainers and the Evolution of Computing
Containers and the Evolution of Computing
 
AWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and DockerAWS Elastic Beanstalk - Running Microservices and Docker
AWS Elastic Beanstalk - Running Microservices and Docker
 
Deep Dive:EC2 Container Service
Deep Dive:EC2 Container ServiceDeep Dive:EC2 Container Service
Deep Dive:EC2 Container Service
 
無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門 無伺服器架構和Containers on AWS入門
無伺服器架構和Containers on AWS入門
 
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
 
Microservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker ContainersMicroservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker Containers
 
A 60-mn tour of AWS compute (March 2016)
A 60-mn tour of AWS compute (March 2016)A 60-mn tour of AWS compute (March 2016)
A 60-mn tour of AWS compute (March 2016)
 
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 컨테이너 - 김세호 AWS 솔루션...
 
EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel Aviv
EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel AvivEC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel Aviv
EC2 Container Service - Distributed Applications at Scale - Pop-up Loft Tel Aviv
 
Amazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to productionAmazon Web Services and Docker: from developing to production
Amazon Web Services and Docker: from developing to production
 
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017Batch Processing with Containers on AWS - CON304 - re:Invent 2017
Batch Processing with Containers on AWS - CON304 - re:Invent 2017
 
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
 
Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016Amazon ECS with Docker | AWS Public Sector Summit 2016
Amazon ECS with Docker | AWS Public Sector Summit 2016
 
Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 

Recently uploaded

1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样vhwb25kk
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts ServiceSapana Sha
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfSocial Samosa
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFAAndrei Kaleshka
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfgstagge
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPramod Kumar Srivastava
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdfHuman37
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Jack DiGiovanna
 
ASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel CanterASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel Cantervoginip
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhijennyeacort
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一fhwihughh
 

Recently uploaded (20)

Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
 
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
1:1定制(UQ毕业证)昆士兰大学毕业证成绩单修改留信学历认证原版一模一样
 
Call Girls In Mahipalpur O9654467111 Escorts Service
Call Girls In Mahipalpur O9654467111  Escorts ServiceCall Girls In Mahipalpur O9654467111  Escorts Service
Call Girls In Mahipalpur O9654467111 Escorts Service
 
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdfKantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
Kantar AI Summit- Under Embargo till Wednesday, 24th April 2024, 4 PM, IST.pdf
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Defence Colony Delhi 💯Call Us 🔝8264348440🔝
 
How we prevented account sharing with MFA
How we prevented account sharing with MFAHow we prevented account sharing with MFA
How we prevented account sharing with MFA
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
RadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdfRadioAdProWritingCinderellabyButleri.pdf
RadioAdProWritingCinderellabyButleri.pdf
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
 
20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf20240419 - Measurecamp Amsterdam - SAM.pdf
20240419 - Measurecamp Amsterdam - SAM.pdf
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
Building on a FAIRly Strong Foundation to Connect Academic Research to Transl...
 
ASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel CanterASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel Canter
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝DelhiRS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
RS 9000 Call In girls Dwarka Mor (DELHI)⇛9711147426🔝Delhi
 
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
办理学位证纽约大学毕业证(NYU毕业证书)原版一比一
 

Tech connect aws

  • 1. ©2015, Amazon Web Services, Inc. or its affiliates. All rights reserved Amazon EC2 Container Service Brandon Chavis Solutions Architect, AWS
  • 2. Agenda • Introduction to Containers • Amazon EC2 Container Service • Extending ECS • Conclusion
  • 3. About me • Solutions Architect • With AWS since October 2012 • Sysadmin heritage
  • 4. About Amazon Web Services • Agility • Cost savings • Elasticity • Breadth of functionality • Global reach
  • 5. What are containers? • OS virtualization • Process isolation • Images • AutomationServer Guest OS Bins/Libs Bins/Libs App2App1
  • 11. A container pipeline Base image Patches IT Operations Ruby Redis Logger Utilities
  • 12. A container pipeline Base image Patches IT Operations Developer Ruby Redis Logger Utilities App
  • 13. A container pipeline Base image Patches IT Operations Developer Ruby Redis Logger Utilities App
  • 15.
  • 17. Easily Manage Clusters for Any Scale • Nothing to run • Complete state • Control and monitoring • Scale
  • 18. Flexible Container Placement • Applications • Batch jobs • Multiple schedulers
  • 19. Designed for use with other AWS services • Elastic Load Balancing • Elastic Block Store • Virtual Private Cloud • Identity and Access Management • CloudTrail
  • 20. Extensible • Comprehensive APIs • Open source agent • Custom schedulers
  • 21. Common Patterns / Customer feedback
  • 22. Pattern 1: Services and applications • Simple to model • Micro services • Blue / green deployments Phong Nguyen, Founder at Gilt Groupe, said, "As we Dockerize all our services, it is very important for us to have a platform that can help us speed up deployments, automate our services, and gain greater efficiencies. The new service scheduler and ELB integration make Amazon ECS an excellent platform for our services.”
  • 23. Pattern 2: Batch jobs • Share resource pools • Ideal for “bursty” jobs • Spot instances “We required a solution on which we could securely and efficiently deploy Docker containers to encapsulate learner programming assignment submissions,” said Brennan Saeta, Architect at Coursera. “We are using Amazon EC2 Container Service to power our new programming assignments infrastructure for next-generation On-Demand course platform.”
  • 24. EC2 Container Service Terminology
  • 25. Amazon EC2 instances Docker daemon Amazon ECS agent Key Components: Container Instances
  • 26. Regional Resource pool Grouping of Container Instances Start empty, dynamically scalable Key Components: Clusters
  • 27. Key Components: Task Definitions Volume definitions Container definitions
  • 28. Key Components: Task Definitions Shared data volume PHP App Time of day App
  • 29. Key Components: Task Definitions { "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 }, { "name": "busybox", "image": "busybox", "cpu": 10, "memory": 500, "volumesFrom": [ { "sourceContainer": "simple-demo" } ], "entryPoint": [ "sh", "-c" ], "command": [ "/bin/sh -c "while true; do /bin/date > /var/www/my-vol/date; sleep 1; done"" ], "essential": false }
  • 30. { "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 }, Key Components: Task Definitions [ { "image": "mysql", "name": "db", "cpu": 10, "memory": 500, "essential": true, "entryPoint": [ "/entrypoint.sh" ], "environment": [ { "name": "MYSQL_ROOT_PASSWORD", "value": "pass" } ], "portMappings": [] } ] Essential to our Task Create and mount volumes Expose port 80 in container to port 80 on host 10 CPU Units (1024 is full CPU), 500 Megabytes of Memory
  • 31. { "name": "busybox", "image": "busybox", "cpu": 10, "memory": 500, "volumesFrom": [ { "sourceContainer": "simple-demo" } ], "entryPoint": [ "sh", "-c" ], "command": [ "/bin/sh -c "while true; do /bin/date > /var/www/my-vol/date; sleep 1; done"" ], "essential": false } Key Components: Task Definitions [ { "image": "tutum/wordpress-stackable", "name": "wordpress", "cpu": 10, "memory": 500, "essential": true, "links": [ "db" ], "entryPoint": [ "/bin/sh", "-c" ], "environment": [ … ], "portMappings": [ { "containerPort": 80, "hostPort": 80 } ] }, ] From Docker Hub Mount volume from other container Command to execute
  • 32. Key Components: Tasks Container Instance Schedule Shared data volume PHP App Time of day App
  • 33. Unit of work Grouping of related Containers Run on Container Instances Key Components: Tasks
  • 34. Key Components: Run a task Good for short-lived containers, e.g. batch jobs
  • 35. Key Components: Create a Service Good for long- running applications and services
  • 36. Key Components: Create Service • Load Balance traffic across containers • Automatically recover unhealthy containers • Discover services Elastic Load Balancing
  • 37. Key Components: Update Service • Scale out • Scale in Elastic Load Balancing
  • 38. Key Components: Update Service • Deploy new version • Drain connections Elastic Load Balancing
  • 39. Key Components: Update Service • Deploy new version • Drain connections Elastic Load Balancing
  • 40. Key Components: Update Service • Deploy new version • Drain connections Elastic Load Balancing
  • 41. Next steps • Learn more about AWS – Speak to a Solutions Architect – Visit aws.amazon.com • Learn more about ECS – Read the documentation – Find even cooler ECS demos and blog posts • Set up a build pipeline with Jenkins and Amazon ECS • Automatically scale your service using CloudWatch and Lambda • Explore our training options

Editor's Notes

  1. a lot of content, only ½ hour and respectful to the next speaker so I can take your questions off-stage after the presentations
  2. My goal is to remove technology hurdles that customers might have in adopting AWS solutions as well as guide them along the way Not here to sell you AWS. Giving you the context to one of our services
  3. On-demand delivery of Information Technology resources via the internet with a pay-as-you-go pricing Thousands of servers in minutes, experiment and innovate, fail? deprovision Capital expense  variable No need to over provision for peak activity, scale up or down with need More than 40 services (Compute, storage, networking, database, analytics, application services, deployment management and mobile), constantly innovating and making it available to all instantly 11 regions, 30 Availability Zones, 53 edge locations
  4. Containers are similar to hardware virtualization (like EC2), however instead of partitioning a machine, containers isolate the processes running on a single operating system This is a useful concept that lets you use the OS kernel to create multiple isolated user space processes that can have constraints on them like cpu & memory. The Docker CLI (over libcontainer) makes using containers easy, with intuitive commands like docker run, to start a container, or docker ps, to look at running containers Docker images make it easy to define what runs in a container and versions the entire app These concepts enable container automation – you can define your app, build & share the image, and deploy that image.
  5. You may be thinking – this sounds interesting but why would I want to use containers? There are 4 key benefits to using containers. The first is that containers are portable. the image is consistent and immutable -- no matter where I run it, or when I start it, it’s the same. This makes the dev lifecycle simpler –an image works the same on the developer’s desktop & prod, whether I start it today or scale my environment tomorrow, so there’s no surprises. The entire Application is self-contained -- The image is the version, which makes deployments and scaling easier because the image includes the dependencies. * Small, usually 10s MB for the image, very sharable
  6. Containers are flexible. You can create clean, reproducible, and modular environments. Whereas in the past multiple processes would be on the same OS (e.g. Ruby, caching, log pushing), now containers enable the concept of microservices Microservices encourage the decomposition of an app into smaller chunks, reducing complexity & letting teams move faster while still running the processes on the same host, This streamlines code deployment and infrastructure management- e.g. no library conflicts between multiple components of an application Process isolation – can decompose apps into whatever form makes the most sense git-like tools
  7. simply stating that Docker images start fast sells the technology short as speed is apparent in both performance characteristics and in application lifecycle and deployment benefits So yes, containers start quickly because the operating system is already running, but Every container can be a single threaded dev stream; less interdependencies Also ops benefits - Example: if your ops team updates the base image, you can simply build on top of this new image by editing your docker file to point at the new image for your next docker build– I can just focus on my app, meaning it’s faster for me to build & release. Developer productivity Environment fidelity == easier to test in different environments Isolate components == updates are easier, no library conflicts e.g. Container becomes unit of work Operational efficiency Version control & blue/green deployments == reduce rollout risk Known good images w/ patches, etc. == improve security Ops authored containers for common patterns such as logging == less work
  8. Finally, containers are efficient. You can allocate exactly the resources you want – specific cpu, ram, interfaces; there’s generally very little performance overhead as well Since it shares the same OS kernel & libs, containers use less resources than running the same processes on different virtual machines (different way to get isolation)
  9. How would you use containers in a deployment pipeline? Ops can create certified base images with all the necessary patches and utilities
  10. These base images can then be used to create utility containers, e.g. logging, Ruby, MySql, etc.
  11. Then Devs use these containers on laptops to build in their source code They do this by creating a container image using a manifest (called a dockerfile) that can be versioned and shared
  12. You can then customize that image at runtime using environment variables, or interactively if you wish e.g. dev/test enviroments
  13. When we talked to customers they told us they were very excited about Docker
  14. What we heard was that they wanted a solution for running containers at scale Now you’re suddenly managing a cluster & cluster management is hard. You need a way to intelligently place your containers on the hosts that have the resources and that means you need to know the state of everything in your system. For example… what instances have available resources like memory and ports? How do I know if a container dies? How do I hook into other resources like ELB? Can I extend whatever system that I use, e.g. CD pipeline, third party schedulers, etc. Do I need to operate another piece of software? These are the questions we wanted to answer with Amazon ECS
  15. Definition: Amazon EC2 Container Service (ECS) is a highly scalable, high performance container management service that supports Docker containers and allows you to easily run applications on a managed cluster of Amazon EC2 instances. 4 key advantages
  16. Running modern distributed applications on a cluster requires two key components - reliable state management and flexible scheduling. These are challenging problems. Amazon ECS handles the complexity of cluster and container management so you don’t have to install and operate your own cluster management infrastructure. At Amazon, we have built a number of core distributed systems primitives to support our needs. Amazon ECS is built on top of one of these primitives. We then expose this state management behind a simple set of APIs that give the details about all the instances in your cluster, and all the containers running on those instances. Amazon ECS APIs respond quickly whether you have a cluster with one instance and a few containers, or a dynamic cluster with 100s of instances and 1000s of containers. Eliminates cluster management software Manages cluster state Manages containers Control and monitoring Scale from one to tens of thousands of containers Make good placement decisions Availability of resources New resources can be added to the cluster with EC2 auto scaling
  17. Shared state, optimistic concurrency system So what is a scheduler? A scheduler understands the needs of the system – that is, the work that needs to be done such as starting a container that needs 200 MB RAM and port 80, and looks to efficiently satisfy them. It then submits a request to the cluster state manager requesting a resource. Since ECS provides optimistic concurrency control, other schedulers could be operating at the same time, so the cluster management will confirm that the resource is available and commit it to the scheduler. The scheduler can listen for events from the cluster manager and take action, such as maintaining the availability of your applications… It can also interact with other resources, like ELBs. Amazon ECS has two schedulers to help find the optimal instance placement based on your resource needs, isolation policies, and availability requirements: create service, run task. And ECS provides you complete cluster state information allowing you to integrate your own custom scheduler as well as open source schedulers. Shared state, optimistic concurrency system
  18. Amazon ECS is built to work with the AWS services you value. You can set up each cluster in its own Virtual Private Cloud and use security groups to control network access to your ec2 instances. You can store persistent information using EBS and you can route traffic to containers using ELB. CloudTrail integration captures every API access for security analysis, resource change tracking, and compliance auditing
  19. Complete visibility and control into your AWS resources --- Amazon ECS can easily be integrated or extended through a simple set of APIs. ECS provides complete visibility and control into your AWS resources, so you can easily integrate and use your own container scheduler or connect ECS into your existing software delivery process (e.g., continuous integration and delivery systems) – today we launched a blog that describes how to create a CD process using Jenkins to create Docker images and deploy those images to ECS, Our container agent is open source and available on GitHub. We look forward to hearing your input and pull requests.
  20. I gave you good reasons to use ECS but you do not have to. You can easily build you own Docker cluster on Amazon ECS
  21. One pattern is using ECS for long running applications and services. Docker is natural for this pattern. It supports Any app, any language You define everything that is contained in the Image using a Dockerfile -- a complete manifest of the image – no more “oops, I made a tweak that I forgot to document” Image then becomes a versioned artifact that can be stored in a repository just like your source code. Store & ship Docker images Test & deploy the same artifacts Decompose to microservices to Decouple deployments & Reduce conflicts Containers also simplify deployment -- Stateless servers are natural with Docker and each deployment is a new set of containers This Decreases risk of change – rollback is simple Describe blue/green deployment process
  22. With Spot Instances, you can save up to 90% by bidding on spare Amazon EC2 instances Coursera, Brennan Saeta, security, efficiency The next pattern is batch jobs. Instead of a dedicated pool of resources for each job, now can use a shared pool for multiple jobs to increase efficiency, especially for short-lived and bursty processes. For example, Coursera is using ECS to handle automatic grading of programming assignments. Those assignments come in and are placed onto the cluster. They run in a container which can then be disposed of and the instance immediately reused by another container. The compute resources – your ec2 instances – can use auto scaling, spot, and reserved instances to give you the resource mix you prefer.
  23. Let’s go through the core components of ECS.
  24. Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides resizable compute capacity in the cloud. --- They’re EC2 instances that have been checked into a cluster. You own them, SSH in, poke around, see how it works under the hood. We use Docker, through the remote API on the local socket. It’s the Docker you’re used to, just in the cloud. Finally, our agent processes ECS commands and turns them into Docker commands. It’s all open source on Github, and we’d love to see you involved – pull requests. We develop in the open now that we’ve launched.
  25. A cluster is a collection of resources – primarily instances and containers. Multiple Azs in your cluster, it’s just a big bucket of resources. Cpu, memory, etc. Dynamically scalable. Possible to have a 1 instance cluster, and then a 100 or even 1000 instance cluster. Segment for particular purposes, e.g. dev/test
  26. You can model your app using Task Definitions that define the containers you want to run together. A task definition also lets you specify Docker concepts like links to establish network channels between the containers and the volumes your containers need. Task definitions are tracked by name and revision, just like source code
  27. Our demo uses 2 containers. In addition to the PHP app I demoed earlier, I have a time of day app that will interface with my PHP app over a shared volume. The time of day app writes the time every second, and the PHP app reads & displays the file.
  28. JSON: Not yml but similar to fig or Docker Compose Here’s what a task definition looks like. -Family to group versions together as container definitions change, versioned, easy to see how your application evolves. -Keeping with previous example
  29. You can specify resources like CPU and memory, ports and volumes for each container. You can specify what command to run when the container starts. And the essential flag specifies whether the task should fail if the container stops running.
  30. You can also specify the Docker image to use for the container
  31. Then schedule the Task Definition onto an instance with available resources
  32. Maybe nginx in front of rails, or redis behind rails. --- A task is an instantiation of a task definition. You can have a task with just 1 container…or up to 10 that work together on a single machine. Run tasks on container instances, as many as will fit. Often people wonder about cross host links, those don’t go in your task, put them behind an ELB, or a discovery system and make multiple tasks.
  33. ECS has two APIs for scheduling. Run task looks at the first 100 instances in a cluster, and randomly places tasks in a spot that’ll fit. It is good for short-lived containers like batch jobs.
  34. The second scheduler is the service scheduler. This is good for long-running applications. You reference a task definition and count and optionally an ELB
  35. ECS takes care of the cluster management for you It is flexible, designed to work with AWS and extensible