SlideShare a Scribd company logo
1 of 60
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tony Pujals
Sr. Developer Advocate
Amazon Elastic Container Services
August 8, 2018
Getting Started with Containers
and ECS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Why Docker containers? FizzBuzz!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Application environment components
Runtime Engine
Code
Dependencies
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Local Laptop Staging / QA Production On-Premise
Different environments
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Local Laptop Staging / QA Production On-Prem
It worked on my machine, why not in
production?
v6.0.0 v7.0.0 v4.0.0 v7.0.0
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Docker
Lightweight container virtualization platform.
Licensed under the Apache 2.0 license.
First released March 2013
Built by Docker, Inc.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
docker build
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Docker Image
Read only image that is used as a
template to launch a container.
Start from base images that have
your dependencies, add your custom
code.
Docker file for easy, reproducible
builds.
bootfs
kernel
Base image
Image
Image
Container
References
parent
image
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Container Registry
(Private or Public)
docker push
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic Container Registry (Amazon ECR)
• Cloud-based Docker image registry
• Fully managed
• Secure – images encrypted at rest,
integrated with IAM
• Scalable and Highly Available
• Integrated with Amazon ECS and the
Docker CLI
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Container Registry
(Private or Public) Production
Development
docker run
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
docker push
docker rundocker build
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Local Laptop Staging / QA Production On-Prem
Four environments, same container
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Foo App
Bar App
Performance &
Cost Savings
One machine, multiple containers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VM vs Container
Server (Host)
Host OS
Hypervisor
Guest OS Guest OS Guest OS
Bins/Libs Bins/Libs Bins/Libs
App 1 App 2 App 3
VM
Server (Host)
Host OS
Docker
Bins/Libs Bins/Libs Bins/Libs
App 1 App 2 App 3
Container
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Benefits
Portable runtime application environment
Package application and dependencies in a single artifact
Run different application versions (different dependencies)
simultaneously
Faster development & deployment cycles
Better resource utilization
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Use Cases
Consistent environment between Development & Production
Service-Oriented Architectures & Microservices
Short lived workflows, batch jobs, cron jobs
Isolated environments for testing
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
One monolithic container, a couple hosts
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
A couple containers on a few hosts
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Many containers, many hosts
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How do I manage containers
across many hosts?
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Elastic Container Service (Amazon ECS)
• Container management service
• Fully managed
• Scalable and Highly Available
• Microservices, batch workers,
machine learning applications
• Integrated with
• Amazon ECR
• AWS networking, storage,
management tools
• AWS Fargate
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon ECS
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet LOAD
BALANCER
LOAD
BALANCER
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster of hosts
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet LOAD
BALANCER
LOAD
BALANCER
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lightweight agent on each host
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet LOAD
BALANCER
LOAD
BALANCER
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API for launching containers on the cluster
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet LOAD
BALANCER
LOAD
BALANCER
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task Definition (An application to run)
CPU and memory requirement
Image to run
Environment
Variables
Application networking details
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service Definition (Where to run app, what to connect app to)
Description of task to run
Load balancer to associate
app with
Optional strategies for how to
control how to run the app in
the cluster
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Container task is placed on a host
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet LOAD
BALANCER
LOAD
BALANCER
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Traffic is sent to your host
EC2 INSTANCES
ECS
AGENT
TASK
Container
TASK
Container
ECS
AGENT
TASK
Container
TASK
Container AGENT COMMUNICATION
SERVICE
Amazon
ECS
API
CLUSTER MANAGEMENT
ENGINE
KEY/VALUE STORE
ECS
AGENT
TASK
Container
TASK
Container
Internet LOAD
BALANCER
LOAD
BALANCER
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
PRODUCTION WORKLOADS ON AWS
AWS VPC
networking mode
Advanced task
placement
Deep integration
with AWS platform
ECS CLI…{ }
Global footprint
Powerful scheduling
engines
Auto scaling
CloudWatch metrics
Load balancers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Customers Using Containers at Scale
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
CUSTOMERS ARE OUR KEY!
60+
releases
since 2015
CUSTOMERS
RELEASE
FEEDBACK /
NEW USE
CASES
LEARN
EXPERIMENT,
INNOVATE,
& BUILD
FEATURES
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
I don’t want to deal with
hosts at all!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cluster
Management
is a relic
of physical
infrastructure
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ENABLE FOCUS ON APPLICATIONS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
No instances
to manage
Task
native API
Resource
based pricing
Simple, easy to use,
powerful – and new
consumption model
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS ECS (Fully managed platform for your container)
Control Plane
Your container
HostsContainer
No instances! Amazon ECS API
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
PRODUCTION WORKLOADS ON AWS
AWS VPC
networking mode
Advanced task
placement
Deep integration
with AWS platform
ECS CLI…{ }
Global footprint
Powerful scheduling
engines
Auto scaling
CloudWatch metrics
Load balancers
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Using Amazon ECS
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Deploying Containers on ECS – Choose a
Scheduler
Task scheduler
Batch Jobs
Run tasks once
RunTask (random)
StartTask (placed)
Service scheduler
Long-Running Apps
Health management
Scale-up and scale-down
AZ aware
Placement strategies
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Unit of work
Grouping of related Containers
Runs on Fargate or EC2
Tasks
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Task Definition (An application to run)
CPU and memory requirement
Image to run
Environment
Variables
Application networking details
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Running services
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Create a Service
Good for long-running
applications and services
What to run, and how
many to run, let ECS
launch containers,
monitor, and restart them
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Service Definition (Where to run app, what to connect app to)
Description of task to run
Load balancer to associate
app with
Optional strategies for how to
control how to run the app in
the cluster
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Create Service
“Run 7 copies, distributed
across availability zones,
try to densely utilize CPU
on the instances”
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Update Service
Deploy new version of application task
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Update Service (cont.)
Specify a deployment configuration for your service:
• minimumHealthyPercent: lower limit (as a percentage of
the service's desiredCount) of the number of running
tasks that must remain running in a service during a
deployment.
• maximumPercent: upper limit (as a percentage of the
service's desiredCount) of the number of running tasks
that can be running in a service during a deployment.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Update Service (cont.)
Deploy using the least space: minimumHealthyPercent =
50%, maximumPercent = 100%
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Update Service (cont.)
Deploy quickly without reducing service capacity:
minimumHealthyPercent = 100%, maximumPercent =
200%
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ECS launches containers and
updates load balancer with
their IP addresses
Request
Client sends
request to load
balancer using its
CNAME
Load Balancer
directs request to
one of them
service.mycompany.com
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Application
Load Balancer
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Network
Load Balancer
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Routing via Application Load Balancer
Host and Path-based routing
Dynamic Port Mapping
HTTP/2
WebSockets
Detailed Logging
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Routing via Network Load Balancer
IP-based routing
Allows you to define rules that route traffic to different target groups based on the header information in the TCP
connection.
Layer 4 - TCP Pass Through
The NLB allows you to form direct TCP connections from clients to Amazon ECS tasks and services. This allows source
IP data to be passed directly to containers.
Dynamic Port Mapping
Provides the ability to load-balance across multiple ports on the same Amazon EC2 instance. This functionality
specifically targets the use of containers and is integrated into Amazon ECS.
High Throughput
Capable of handling millions of requests per second while maintaining ultra-low latencies.
Optimized to handle sudden and volatile traffic patterns while using a single static or dynamic IP address per
Availability Zone
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
In Summary
• Docker allows you to easily run different code across different
machines in a standardized, easily defined environment
• Amazon Elastic Container Registry is a secure, private registry for
Docker container images
• Amazon Elastic Container Service allows you to schedule and run
Docker containers on AWS
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
AMAZON CONTAINER SERVICES
Choose your orchestration tool1
Choose your launch type2
ECS EKS
EC2 Fargate EC2 Fargate
We give you the power to choose:
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!

More Related Content

What's hot

Introducing AWS Cloud9 - AWS Online Tech Talks
Introducing AWS Cloud9 - AWS Online Tech TalksIntroducing AWS Cloud9 - AWS Online Tech Talks
Introducing AWS Cloud9 - AWS Online Tech TalksAmazon Web Services
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28Amazon Web Services
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
Advanced workload scheduling for containers on AWS
Advanced workload scheduling for containers on AWSAdvanced workload scheduling for containers on AWS
Advanced workload scheduling for containers on AWSNathan Peck
 
Running Container on AWS - Builders Day Israel
Running Container on AWS - Builders Day IsraelRunning Container on AWS - Builders Day Israel
Running Container on AWS - Builders Day IsraelAmazon Web Services
 
Build an Infra Product with AWS Fargate
Build an Infra Product with AWS FargateBuild an Infra Product with AWS Fargate
Build an Infra Product with AWS FargateWill Button
 
20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...Marcia Villalba
 
Containers on AWS - State of the Union
Containers on AWS - State of the UnionContainers on AWS - State of the Union
Containers on AWS - State of the UnionAWS Germany
 
Building Mobile Apps with AWS Amplify
Building Mobile Apps with AWS AmplifyBuilding Mobile Apps with AWS Amplify
Building Mobile Apps with AWS AmplifyAmazon Web Services
 
Building and Deploying Your First Serverless Application
Building and Deploying Your First Serverless ApplicationBuilding and Deploying Your First Serverless Application
Building and Deploying Your First Serverless ApplicationAmazon Web Services
 
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...AWS Germany
 
Introducing AWS Fargate - Tiffany Jernigan
Introducing AWS Fargate - Tiffany JerniganIntroducing AWS Fargate - Tiffany Jernigan
Introducing AWS Fargate - Tiffany JerniganAmazon Web Services
 
Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWSAmazon Web Services
 
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateDeep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateAmazon Web Services
 
DevConZM - Modern Applications Development in the Cloud
DevConZM - Modern Applications Development in the CloudDevConZM - Modern Applications Development in the Cloud
DevConZM - Modern Applications Development in the CloudCobus Bernard
 

What's hot (20)

Containers - State of the Union
Containers - State of the UnionContainers - State of the Union
Containers - State of the Union
 
Introducing AWS Cloud9 - AWS Online Tech Talks
Introducing AWS Cloud9 - AWS Online Tech TalksIntroducing AWS Cloud9 - AWS Online Tech Talks
Introducing AWS Cloud9 - AWS Online Tech Talks
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
Advanced workload scheduling for containers on AWS
Advanced workload scheduling for containers on AWSAdvanced workload scheduling for containers on AWS
Advanced workload scheduling for containers on AWS
 
Running Container on AWS - Builders Day Israel
Running Container on AWS - Builders Day IsraelRunning Container on AWS - Builders Day Israel
Running Container on AWS - Builders Day Israel
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
Running Kubernetes on AWS
Running Kubernetes on AWSRunning Kubernetes on AWS
Running Kubernetes on AWS
 
Build an Infra Product with AWS Fargate
Build an Infra Product with AWS FargateBuild an Infra Product with AWS Fargate
Build an Infra Product with AWS Fargate
 
20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...20201013 - Serverless Architecture Conference - How to migrate your existing ...
20201013 - Serverless Architecture Conference - How to migrate your existing ...
 
Containers on AWS - State of the Union
Containers on AWS - State of the UnionContainers on AWS - State of the Union
Containers on AWS - State of the Union
 
Building Mobile Apps with AWS Amplify
Building Mobile Apps with AWS AmplifyBuilding Mobile Apps with AWS Amplify
Building Mobile Apps with AWS Amplify
 
Building and Deploying Your First Serverless Application
Building and Deploying Your First Serverless ApplicationBuilding and Deploying Your First Serverless Application
Building and Deploying Your First Serverless Application
 
Serverless - State of the Union
Serverless - State of the UnionServerless - State of the Union
Serverless - State of the Union
 
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
Modern Applications Web Day | Manage Your Infrastructure and Configuration on...
 
Introducing AWS Fargate - Tiffany Jernigan
Introducing AWS Fargate - Tiffany JerniganIntroducing AWS Fargate - Tiffany Jernigan
Introducing AWS Fargate - Tiffany Jernigan
 
Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWS
 
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and FargateDeep Dive on Amazon Elastic Container Service (ECS) and Fargate
Deep Dive on Amazon Elastic Container Service (ECS) and Fargate
 
DevConZM - Modern Applications Development in the Cloud
DevConZM - Modern Applications Development in the CloudDevConZM - Modern Applications Development in the Cloud
DevConZM - Modern Applications Development in the Cloud
 
CI/CD using AWS developer tools
CI/CD using AWS developer toolsCI/CD using AWS developer tools
CI/CD using AWS developer tools
 

Similar to Building with Containers on AWS by Tony Pujals .pdf

Getting Started with Containers on AWS
Getting Started with Containers on AWSGetting Started with Containers on AWS
Getting Started with Containers on AWSAmazon Web Services
 
More Containers Less Operations
More Containers Less OperationsMore Containers Less Operations
More Containers Less OperationsDonnie Prakoso
 
Microservices for Startups - Donnie Prakoso - AWS - CC18
Microservices for Startups - Donnie Prakoso - AWS - CC18Microservices for Startups - Donnie Prakoso - AWS - CC18
Microservices for Startups - Donnie Prakoso - AWS - CC18CodeOps Technologies LLP
 
Usare la tecnologia Container su AWS
Usare la tecnologia Container su AWSUsare la tecnologia Container su AWS
Usare la tecnologia Container su AWSAmazon Web Services
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteArun Gupta
 
Getting-started-with-containers on AWS
Getting-started-with-containers on AWSGetting-started-with-containers on AWS
Getting-started-with-containers on AWSAmazon Web Services
 
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Amazon Web Services
 
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018AWS Germany
 
Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Amazon Web Services
 
AWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAmazon Web Services
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Amazon Web Services
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019AWS Summits
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019Amazon Web Services
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWSAmazon Web Services Korea
 
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS SummitDevelop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS SummitAmazon Web Services
 
CON202-Getting Started with Docker and Amazon ECS
CON202-Getting Started with Docker and Amazon ECSCON202-Getting Started with Docker and Amazon ECS
CON202-Getting Started with Docker and Amazon ECSAmazon Web Services
 

Similar to Building with Containers on AWS by Tony Pujals .pdf (20)

Getting Started with Containers on AWS
Getting Started with Containers on AWSGetting Started with Containers on AWS
Getting Started with Containers on AWS
 
More Containers Less Operations
More Containers Less OperationsMore Containers Less Operations
More Containers Less Operations
 
Containers - State of the Union
Containers - State of the UnionContainers - State of the Union
Containers - State of the Union
 
Building with Containers on AWS
Building with Containers on AWSBuilding with Containers on AWS
Building with Containers on AWS
 
Microservices for Startups - Donnie Prakoso - AWS - CC18
Microservices for Startups - Donnie Prakoso - AWS - CC18Microservices for Startups - Donnie Prakoso - AWS - CC18
Microservices for Startups - Donnie Prakoso - AWS - CC18
 
Usare la tecnologia Container su AWS
Usare la tecnologia Container su AWSUsare la tecnologia Container su AWS
Usare la tecnologia Container su AWS
 
The Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 KeynoteThe Serverless Tidal Wave - SwampUP 2018 Keynote
The Serverless Tidal Wave - SwampUP 2018 Keynote
 
Getting-started-with-containers on AWS
Getting-started-with-containers on AWSGetting-started-with-containers on AWS
Getting-started-with-containers on AWS
 
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
Getting Started with Containers in the Cloud: AWS Developer Workshop at Web S...
 
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
Amazon Elastic Container Service for Kubernetes (Amazon EKS) I AWS Dev Day 2018
 
Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate Develop Containerized Apps with AWS Fargate
Develop Containerized Apps with AWS Fargate
 
AWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern ApplicationsAWS ECS Workshop A Journey to Modern Applications
AWS ECS Workshop A Journey to Modern Applications
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Microservices for Startups
Microservices for StartupsMicroservices for Startups
Microservices for Startups
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS
 
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS SummitDevelop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
Develop Containerized Apps with AWS Fargate - SRV314 - Chicago AWS Summit
 
CON202-Getting Started with Docker and Amazon ECS
CON202-Getting Started with Docker and Amazon ECSCON202-Getting Started with Docker and Amazon ECS
CON202-Getting Started with Docker and Amazon ECS
 
EKS Workshop
 EKS Workshop EKS Workshop
EKS Workshop
 

More from Amazon Web Services

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

More from Amazon Web Services (20)

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

Building with Containers on AWS by Tony Pujals .pdf

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Tony Pujals Sr. Developer Advocate Amazon Elastic Container Services August 8, 2018 Getting Started with Containers and ECS
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Why Docker containers? FizzBuzz!
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Application environment components Runtime Engine Code Dependencies
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Local Laptop Staging / QA Production On-Premise Different environments
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Local Laptop Staging / QA Production On-Prem It worked on my machine, why not in production? v6.0.0 v7.0.0 v4.0.0 v7.0.0
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Docker Lightweight container virtualization platform. Licensed under the Apache 2.0 license. First released March 2013 Built by Docker, Inc.
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. docker build
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Docker Image Read only image that is used as a template to launch a container. Start from base images that have your dependencies, add your custom code. Docker file for easy, reproducible builds. bootfs kernel Base image Image Image Container References parent image
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Container Registry (Private or Public) docker push
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic Container Registry (Amazon ECR) • Cloud-based Docker image registry • Fully managed • Secure – images encrypted at rest, integrated with IAM • Scalable and Highly Available • Integrated with Amazon ECS and the Docker CLI
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Container Registry (Private or Public) Production Development docker run
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. docker push docker rundocker build
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Local Laptop Staging / QA Production On-Prem Four environments, same container
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Foo App Bar App Performance & Cost Savings One machine, multiple containers
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. VM vs Container Server (Host) Host OS Hypervisor Guest OS Guest OS Guest OS Bins/Libs Bins/Libs Bins/Libs App 1 App 2 App 3 VM Server (Host) Host OS Docker Bins/Libs Bins/Libs Bins/Libs App 1 App 2 App 3 Container
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Benefits Portable runtime application environment Package application and dependencies in a single artifact Run different application versions (different dependencies) simultaneously Faster development & deployment cycles Better resource utilization
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Use Cases Consistent environment between Development & Production Service-Oriented Architectures & Microservices Short lived workflows, batch jobs, cron jobs Isolated environments for testing
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. One monolithic container, a couple hosts
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. A couple containers on a few hosts
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Many containers, many hosts
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How do I manage containers across many hosts?
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Elastic Container Service (Amazon ECS) • Container management service • Fully managed • Scalable and Highly Available • Microservices, batch workers, machine learning applications • Integrated with • Amazon ECR • AWS networking, storage, management tools • AWS Fargate
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon ECS EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet LOAD BALANCER LOAD BALANCER
  • 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster of hosts EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet LOAD BALANCER LOAD BALANCER EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet
  • 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lightweight agent on each host EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet LOAD BALANCER LOAD BALANCER EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet
  • 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. API for launching containers on the cluster EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet LOAD BALANCER LOAD BALANCER EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet
  • 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task Definition (An application to run) CPU and memory requirement Image to run Environment Variables Application networking details
  • 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service Definition (Where to run app, what to connect app to) Description of task to run Load balancer to associate app with Optional strategies for how to control how to run the app in the cluster
  • 30. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Container task is placed on a host EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet LOAD BALANCER LOAD BALANCER
  • 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Traffic is sent to your host EC2 INSTANCES ECS AGENT TASK Container TASK Container ECS AGENT TASK Container TASK Container AGENT COMMUNICATION SERVICE Amazon ECS API CLUSTER MANAGEMENT ENGINE KEY/VALUE STORE ECS AGENT TASK Container TASK Container Internet LOAD BALANCER LOAD BALANCER
  • 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. PRODUCTION WORKLOADS ON AWS AWS VPC networking mode Advanced task placement Deep integration with AWS platform ECS CLI…{ } Global footprint Powerful scheduling engines Auto scaling CloudWatch metrics Load balancers
  • 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Customers Using Containers at Scale
  • 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. CUSTOMERS ARE OUR KEY! 60+ releases since 2015 CUSTOMERS RELEASE FEEDBACK / NEW USE CASES LEARN EXPERIMENT, INNOVATE, & BUILD FEATURES
  • 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. I don’t want to deal with hosts at all!
  • 36. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cluster Management is a relic of physical infrastructure
  • 37. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ENABLE FOCUS ON APPLICATIONS
  • 38. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. No instances to manage Task native API Resource based pricing Simple, easy to use, powerful – and new consumption model
  • 39. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS ECS (Fully managed platform for your container) Control Plane Your container HostsContainer No instances! Amazon ECS API
  • 40. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. PRODUCTION WORKLOADS ON AWS AWS VPC networking mode Advanced task placement Deep integration with AWS platform ECS CLI…{ } Global footprint Powerful scheduling engines Auto scaling CloudWatch metrics Load balancers
  • 41. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Using Amazon ECS
  • 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Deploying Containers on ECS – Choose a Scheduler Task scheduler Batch Jobs Run tasks once RunTask (random) StartTask (placed) Service scheduler Long-Running Apps Health management Scale-up and scale-down AZ aware Placement strategies
  • 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Unit of work Grouping of related Containers Runs on Fargate or EC2 Tasks
  • 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Task Definition (An application to run) CPU and memory requirement Image to run Environment Variables Application networking details
  • 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Running services
  • 46. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Create a Service Good for long-running applications and services What to run, and how many to run, let ECS launch containers, monitor, and restart them
  • 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Service Definition (Where to run app, what to connect app to) Description of task to run Load balancer to associate app with Optional strategies for how to control how to run the app in the cluster
  • 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Create Service “Run 7 copies, distributed across availability zones, try to densely utilize CPU on the instances”
  • 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Update Service Deploy new version of application task
  • 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Update Service (cont.) Specify a deployment configuration for your service: • minimumHealthyPercent: lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running in a service during a deployment. • maximumPercent: upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment.
  • 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Update Service (cont.) Deploy using the least space: minimumHealthyPercent = 50%, maximumPercent = 100%
  • 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Update Service (cont.) Deploy quickly without reducing service capacity: minimumHealthyPercent = 100%, maximumPercent = 200%
  • 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ECS launches containers and updates load balancer with their IP addresses Request Client sends request to load balancer using its CNAME Load Balancer directs request to one of them service.mycompany.com
  • 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Application Load Balancer
  • 55. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Network Load Balancer
  • 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Routing via Application Load Balancer Host and Path-based routing Dynamic Port Mapping HTTP/2 WebSockets Detailed Logging
  • 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Routing via Network Load Balancer IP-based routing Allows you to define rules that route traffic to different target groups based on the header information in the TCP connection. Layer 4 - TCP Pass Through The NLB allows you to form direct TCP connections from clients to Amazon ECS tasks and services. This allows source IP data to be passed directly to containers. Dynamic Port Mapping Provides the ability to load-balance across multiple ports on the same Amazon EC2 instance. This functionality specifically targets the use of containers and is integrated into Amazon ECS. High Throughput Capable of handling millions of requests per second while maintaining ultra-low latencies. Optimized to handle sudden and volatile traffic patterns while using a single static or dynamic IP address per Availability Zone
  • 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. In Summary • Docker allows you to easily run different code across different machines in a standardized, easily defined environment • Amazon Elastic Container Registry is a secure, private registry for Docker container images • Amazon Elastic Container Service allows you to schedule and run Docker containers on AWS
  • 59. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. AMAZON CONTAINER SERVICES Choose your orchestration tool1 Choose your launch type2 ECS EKS EC2 Fargate EC2 Fargate We give you the power to choose:
  • 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you!