SlideShare a Scribd company logo
1 of 50
Download to read offline
12 April 2018
Managing
Containers on
AWS
Prepared for:
Montreal AWS Meetup
trinimbus.com
TABLE OF
CONTENTS
TriNimbus 2
Quick Review of Containers 03
Containers at Scale 08
AWS Solutions 12
ECR 13
Non-Managed Cluster in EC2 16
ECS 18
EKS 29
Fargate 37
Choosing the Right Solution 45
Questions 50
Quick Review of
Containers
3
12 April 2018 TriNimbus 4
What are Containers ?
A container is a packaged
filesystem including all files
required to run a given application.
It guarantees the same behaviour
in all environments without
requiring a virtualization layer.
Source
12 April 2018 TriNimbus 5
Container Technologies
Although there are other container
technologies in the ecosystem,
none is as widely adopted as
Docker.
12 April 2018 TriNimbus 6
Deploying Containers
Deploying Docker containers is
facilitated by the use of a Registry. A
registry is a service similar in spirit to
a package manager and allows for
the storage, versioning and
distribution of Docker containers.
hub
12 April 2018 TriNimbus 7
Running Containers
pjcliche@devbox:~/Code$ docker run nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
2a72cbf407d6: Pull complete
e19f9e910af9: Pull complete
2f3d26a87e79: Pull complete
Digest:
sha256:e36d7f5dabf1429d84135bb8a8086908e1150f1a178c75719a9e0e53ebb90353
Status: Downloaded newer image for nginx:latest
Containers at Scale
8
12 April 2018 TriNimbus 9
Single-Host Clusters
Host
Single-host considerations include
(but are not limited to) :
- Container health and
interdependency
- Container interconnectivity
- Shared storage
- Container scheduling and scaling
- Resource management
- Log management
- Service discovery
- Ingress management
12 April 2018 TriNimbus 10
Multi-Host Clusters
Host Host
Multi-host clusters add a layer of
complexity to the single-host
considerations by requiring
coordination among resources.
Additionally, the following become
important :
- Container placement
- Host interconnectivity
Host Host
12 April 2018 TriNimbus 11
Orchestration Frameworks
Because of the different layers of
complexity involved, managing the
state of a container cluster is best
handled by orchestration frameworks.
Orchestration frameworks handle the
different aspects of coordinating the
deployment and operation of
container clusters at both the host
and container layers.
AWS Solutions
12
Elastic Container
Registry - ECR
13
- AWS-managed container registry
- IAM-based authorization
- Resource-level permissions
12 April 2018 TriNimbus 14
What is ECR ?
- Usage is free
- Pay only for image storage and
outgoing data transfers (going
outside of AWS)
12 April 2018 TriNimbus 15
Pricing
Non-Managed Cluster
in EC2
16
12 April 2018 TriNimbus 17
Overview
The most flexible yet
high-maintenance solution.
Hosts are deployed onto EC2, which
can then be leveraged to autoscale
the host layer of the cluster.
EC2 EC2
EC2 EC2
Elastic Container
Service - ECS
18
12 April 2018 TriNimbus 19
Overview
AWS-proprietary managed
orchestration framework
Generally available since 2015
Mature and deeply integrated
Worker nodes are provided by user
through EC2
Containers are orchestrated through
Tasks and Services
12 April 2018 TriNimbus 20
Topology
Host Host Host Host
ECS
EC2 / VPC
12 April 2018 TriNimbus 21
Hosts and Provisioning
- AWS provides baseline ECS
AMIs for :
- AWS Linux
- Ubuntu
- CoreOS
- Windows
- Using ECS is free, pay only for
EC2 usage
- Hosts are EC2-based and not
provisioned by ECS
- Only requirement for hosts is to
run the ECS Container Agent
- The lightweight requirements
allow for the use of custom-built
and specialized worker nodes
12 April 2018 TriNimbus 22
Tasks
Tasks are logical groupings of
containers that will always be
deployed together (on the same
instance)
- Contains configuration for every
container in the group (image,
exposed ports, mounted volumes)
- Can be scheduled through a
cron-like interface and triggered
by CloudWatch Events or
manually
12 April 2018 TriNimbus 23
Short-lived Task Scheduling
Host Host Host Host
ECS
EC2 / VPC
Queue
SQS/Kinesis
CloudWatch
Event
12 April 2018 TriNimbus 24
Services
Services are schedulers managing
long-lived tasks
- Handles auto-scaling by
integrating with CloudWatch
Events
- Automatically registers
dynamically allocated container
ports in *LBs
- Can be set to leverage Route 53
DNS Service Discovery
12 April 2018 TriNimbus 25
*LB Service Registration
Host Host Host Host
ECS
EC2 / VPC
*LB
/foo
/bar
Updates Target Groups
Service A
12 April 2018 TriNimbus 26
Route 53 Service Registration
Host Host Host Host
ECS
EC2 / VPC
/baz
Updates A/SRV Record
Service B
12 April 2018 TriNimbus 27
Task Placement
When using the RunTask and
CreateService interfaces, task
placement strategies and
constraints can be specified
- Strategies determine how
instances will be chosen for task
deployment
- Binpack : Highest density
- Random
- Spread : Round-robin
- Constraints limit task
deployments to specific instances
- Distinct : One per instance
- MemberOf : Specific instances
- Strategies and constraints can be
multi-layered and combined
12 April 2018 TriNimbus 28
Task Placement Algorithm
When Amazon ECS places tasks, it uses the following process to select
container instances:
1) Filter on resources (CPU, memory, port)
2) Filter on constraints
3) Filter on strategies
4) Select instance
Elastic Container
Service for
Kubernetes - EKS
29
12 April 2018 TriNimbus 30
What is EKS ?
AWS-managed Kubernetes (k8s) cluster
Abstracts control plane
Integrates with some AWS services
Previewing in us-west-2
Containers are orchestrated through Pods,
Controllers and Services
12 April 2018 TriNimbus 31
A Look at the Kubernetes Model
Source
EKS Layers
12 April 2018 TriNimbus 32
EKS
EC2 / VPC
12 April 2018 TriNimbus 33
Hosts and Provisioning
- Hosts (k8s worker nodes) are
EC2-based and not provisioned
by EKS
- Nodes must be provisioned with
kubelet, a container runtime
interface and kube-proxy
- AWS provides a CloudFormation
template to deploy instances to an
EKS cluster
- Pricing is still unclear
12 April 2018 TriNimbus 34
Masters
- Security is HIPAA and
PCI-compliant
- Network policies are baked in
- Calico
- Tigera
- Behind the scenes, EKS deploys
three masters across three AZs
and exposes a single API
endpoint
- Masters autoscale as required by
workload
- Version upgrades are automated
- Patches are automatically
applied
- Minors are scheduled
- Supports up to latest - 2
12 April 2018 TriNimbus 35
AWS Integrations
- RBAC ⇔ IAM
RBAC authentication is enabled
and integrated with IAM using
Heptio Authenticator
Source
12 April 2018 TriNimbus 36
AWS Integrations
- In-VPC communication with
masters through PrivateLink
- ENIs leveraged for pod
networking
- Native pod access to the VPC
network and ENIs achieved
through AWS-built open-source
CNI module
- ELBs leveraged for ingress
- ALB/NLB incoming
- CloudWatch Logs and CloudTrail
leveraged for logging and auditing
Fargate
37
12 April 2018 TriNimbus 38
What is Fargate ?
AWS-provided serverless container
orchestration facility
General availability for ECS in us-east-1
Full release by EOY
Supplements ECS and EKS by
abstracting worker nodes
Similar in behaviour to Lambda,
incompatible with long-lived service pattern
12 April 2018 TriNimbus 39
ECS Topology
Host Host Host Host
ECS
EC2 / VPC
12 April 2018 TriNimbus 40
ECS on Fargate Topology
Host Host Host Host
ECS
Fargate
EKS Layers
12 April 2018 TriNimbus 41
EKS
EC2 / VPC
EKS on Fargate Layers
12 April 2018 TriNimbus 42
EKS
Fargate
Fargate Topology
12 April 2018 TriNimbus 43
- Fargate tasks are instantiated with
VPC-attached ENI for security
- 10GB allocated storage per task
- An additional 4GB for shared
volumes
- 4GB max size of image
Task Task
Fargate
VPC
ENI ENI
12 April 2018 TriNimbus 44
Usage
ECS on Fargate
LaunchType of RunTask/Service set
to FARGATE
- Not compatible with task
placement constraints
- Not compatible with container
links
- Not compatible host-based
volume mounting
EKS on Fargate
Still not released - TBD
Choosing the Right
Solution
45
12 April 2018 TriNimbus 46
Managed/Not
- Managed takes a considerable
operational load off your team
- Managed abstracts
masters/orchestrators, lock you
in predefined behaviour
- Not Managed is fully extensible
and customisable
12 April 2018 TriNimbus 47
ECS/EKS
- ECS is AWS-locked, EKS is
closer to agnosticity
- ECS is integrated end-to-end
with AWS, EKS has been
retrofitted into it (will get better)
- ECS is conceptually simple
- ECS is developed by AWS and
only marginally extensible, EKS
leverages k8s which is
open-source and has a massive
plugin library
- ECS is limited to AWS, EKS can
be extended to manage on-prem
as well through k8s federation
12 April 2018 TriNimbus 48
Serverful/Serverless
- Serverful gives you full access
to node capabilities, allows for
specialized nodes (GPU, Spot,
etc)
- Serverless removes your
operational load entirely
- Serverless limits you to
pre-defined instance
configuration
- Serverless is not compatible
with the service model
- Serverless is “infinitely” scalable
Choice tree
12 April 2018 TriNimbus 49
Credits Mency Woo
Questions?
TriNimbus.com
pierre@trinimbus.com
Pierre Cliche
12 April 2018 TriNimbus 50

More Related Content

What's hot

Composable infrastructure try valence
Composable infrastructure try valenceComposable infrastructure try valence
Composable infrastructure try valenceShuquan Huang
 
The service mesh management plane
The service mesh management planeThe service mesh management plane
The service mesh management planeLibbySchulze
 
CloudLightning Service Description Language
CloudLightning Service Description LanguageCloudLightning Service Description Language
CloudLightning Service Description LanguageCloudLightning
 
Data Engineer’s Lunch #41: PygramETL
Data Engineer’s Lunch #41: PygramETLData Engineer’s Lunch #41: PygramETL
Data Engineer’s Lunch #41: PygramETLAnant Corporation
 
Testbed for Heterogeneous Cloud
Testbed for Heterogeneous CloudTestbed for Heterogeneous Cloud
Testbed for Heterogeneous CloudCloudLightning
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container EcosystemVinay Rao
 
Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Andrew Leung
 
Save 60% of Kubernetes storage costs on AWS & others with OpenEBS
Save 60% of Kubernetes storage costs on AWS & others with OpenEBSSave 60% of Kubernetes storage costs on AWS & others with OpenEBS
Save 60% of Kubernetes storage costs on AWS & others with OpenEBSMayaData Inc
 
Webinar: Using Litmus Chaos Engineering and AI for auto incident detection
Webinar: Using Litmus Chaos Engineering and AI for auto incident detectionWebinar: Using Litmus Chaos Engineering and AI for auto incident detection
Webinar: Using Litmus Chaos Engineering and AI for auto incident detectionMayaData Inc
 
Operators experience and perspective on SDN with VLANs and L3 Networks
Operators experience and perspective on SDN with VLANs and L3 NetworksOperators experience and perspective on SDN with VLANs and L3 Networks
Operators experience and perspective on SDN with VLANs and L3 NetworksJakub Pavlik
 
OpenContrail Implementations
OpenContrail ImplementationsOpenContrail Implementations
OpenContrail ImplementationsJakub Pavlik
 
Tableapp architecture migration story for GCPUG.TW
Tableapp architecture migration story for GCPUG.TWTableapp architecture migration story for GCPUG.TW
Tableapp architecture migration story for GCPUG.TWYen-Wen Chen
 
Cloud controller Architecture in Apache stratos 4.0 incubation
Cloud controller Architecture in Apache stratos 4.0 incubationCloud controller Architecture in Apache stratos 4.0 incubation
Cloud controller Architecture in Apache stratos 4.0 incubationReka Thirunavukkarasu
 
OpenNebula Conf | Lightning talk: Managing a Scientific Computing Facility wi...
OpenNebula Conf | Lightning talk: Managing a Scientific Computing Facility wi...OpenNebula Conf | Lightning talk: Managing a Scientific Computing Facility wi...
OpenNebula Conf | Lightning talk: Managing a Scientific Computing Facility wi...NETWAYS
 
CoreOS fest 2016 Summary - DevOps BP 2016 June
CoreOS fest 2016 Summary - DevOps BP 2016 JuneCoreOS fest 2016 Summary - DevOps BP 2016 June
CoreOS fest 2016 Summary - DevOps BP 2016 JuneZsolt Molnar
 
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaSEnhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaSMatt Baldwin
 

What's hot (20)

Composable infrastructure try valence
Composable infrastructure try valenceComposable infrastructure try valence
Composable infrastructure try valence
 
The service mesh management plane
The service mesh management planeThe service mesh management plane
The service mesh management plane
 
CloudLightning Service Description Language
CloudLightning Service Description LanguageCloudLightning Service Description Language
CloudLightning Service Description Language
 
Data Engineer’s Lunch #41: PygramETL
Data Engineer’s Lunch #41: PygramETLData Engineer’s Lunch #41: PygramETL
Data Engineer’s Lunch #41: PygramETL
 
Testbed for Heterogeneous Cloud
Testbed for Heterogeneous CloudTestbed for Heterogeneous Cloud
Testbed for Heterogeneous Cloud
 
State of the Container Ecosystem
State of the Container EcosystemState of the Container Ecosystem
State of the Container Ecosystem
 
Keep Calm and Distributed Tracing
Keep Calm and Distributed TracingKeep Calm and Distributed Tracing
Keep Calm and Distributed Tracing
 
Netflix Titus WASP October 2017
Netflix Titus WASP October 2017Netflix Titus WASP October 2017
Netflix Titus WASP October 2017
 
Ceilometer Updates - Kilo Edition
Ceilometer Updates - Kilo EditionCeilometer Updates - Kilo Edition
Ceilometer Updates - Kilo Edition
 
Save 60% of Kubernetes storage costs on AWS & others with OpenEBS
Save 60% of Kubernetes storage costs on AWS & others with OpenEBSSave 60% of Kubernetes storage costs on AWS & others with OpenEBS
Save 60% of Kubernetes storage costs on AWS & others with OpenEBS
 
Webinar: Using Litmus Chaos Engineering and AI for auto incident detection
Webinar: Using Litmus Chaos Engineering and AI for auto incident detectionWebinar: Using Litmus Chaos Engineering and AI for auto incident detection
Webinar: Using Litmus Chaos Engineering and AI for auto incident detection
 
Deploy prometheus on kubernetes
Deploy prometheus on kubernetesDeploy prometheus on kubernetes
Deploy prometheus on kubernetes
 
Operators experience and perspective on SDN with VLANs and L3 Networks
Operators experience and perspective on SDN with VLANs and L3 NetworksOperators experience and perspective on SDN with VLANs and L3 Networks
Operators experience and perspective on SDN with VLANs and L3 Networks
 
OpenContrail Implementations
OpenContrail ImplementationsOpenContrail Implementations
OpenContrail Implementations
 
Tableapp architecture migration story for GCPUG.TW
Tableapp architecture migration story for GCPUG.TWTableapp architecture migration story for GCPUG.TW
Tableapp architecture migration story for GCPUG.TW
 
Cloud controller Architecture in Apache stratos 4.0 incubation
Cloud controller Architecture in Apache stratos 4.0 incubationCloud controller Architecture in Apache stratos 4.0 incubation
Cloud controller Architecture in Apache stratos 4.0 incubation
 
OpenNebula Conf | Lightning talk: Managing a Scientific Computing Facility wi...
OpenNebula Conf | Lightning talk: Managing a Scientific Computing Facility wi...OpenNebula Conf | Lightning talk: Managing a Scientific Computing Facility wi...
OpenNebula Conf | Lightning talk: Managing a Scientific Computing Facility wi...
 
Glance Updates - Liberty Edition
Glance Updates - Liberty EditionGlance Updates - Liberty Edition
Glance Updates - Liberty Edition
 
CoreOS fest 2016 Summary - DevOps BP 2016 June
CoreOS fest 2016 Summary - DevOps BP 2016 JuneCoreOS fest 2016 Summary - DevOps BP 2016 June
CoreOS fest 2016 Summary - DevOps BP 2016 June
 
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaSEnhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
Enhancing Kubernetes with Autoscaling & Hybrid Cloud IaaS
 

Similar to Managing Containers on AWS

Bandwidth: Use Cases for Elastic Cloud on Kubernetes
Bandwidth: Use Cases for Elastic Cloud on Kubernetes Bandwidth: Use Cases for Elastic Cloud on Kubernetes
Bandwidth: Use Cases for Elastic Cloud on Kubernetes Elasticsearch
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_kanedafromparis
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...MayaData Inc
 
Microservices Architecture with AWS @ AnyMind Group
Microservices Architecture with AWS @ AnyMind GroupMicroservices Architecture with AWS @ AnyMind Group
Microservices Architecture with AWS @ AnyMind GroupGiang Tran
 
AnyMind Group Tech Talk - Microservices architecture with AWS
AnyMind Group Tech Talk - Microservices architecture with AWSAnyMind Group Tech Talk - Microservices architecture with AWS
AnyMind Group Tech Talk - Microservices architecture with AWSNhân Nguyễn
 
Supporting bioinformatics applications with hybrid multi-cloud services
Supporting bioinformatics applications with hybrid multi-cloud servicesSupporting bioinformatics applications with hybrid multi-cloud services
Supporting bioinformatics applications with hybrid multi-cloud servicesAhmed Abdullah
 
Kubernetes and Terraform in the Cloud: How RightScale Does DevOps
Kubernetes and Terraform in the Cloud: How RightScale Does DevOpsKubernetes and Terraform in the Cloud: How RightScale Does DevOps
Kubernetes and Terraform in the Cloud: How RightScale Does DevOpsRightScale
 
Multi cloud Serverless platform using Kubernetes
Multi cloud Serverless platform using KubernetesMulti cloud Serverless platform using Kubernetes
Multi cloud Serverless platform using KubernetesFahri Yardımcı
 
A journey from mesos to kubernetes in AWS!
A journey from mesos to kubernetes in AWS!A journey from mesos to kubernetes in AWS!
A journey from mesos to kubernetes in AWS!Eric Liu
 
Nextflow and AWS Batch - GCC/BOSC 2018
Nextflow and AWS Batch - GCC/BOSC 2018Nextflow and AWS Batch - GCC/BOSC 2018
Nextflow and AWS Batch - GCC/BOSC 2018Francesco Strozzi
 
Crossplane and a story about scaling Kubernetes custom resources.pdf
Crossplane and a story about scaling Kubernetes custom resources.pdfCrossplane and a story about scaling Kubernetes custom resources.pdf
Crossplane and a story about scaling Kubernetes custom resources.pdfRichárd Kovács
 
Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?Mathieu Herbert
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"IBM France Lab
 
Docker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and KubernetesDocker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and KubernetesJulien SIMON
 
OpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenOpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenTrinath Somanchi
 
Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...
Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...
Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...Codemotion
 
Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...
Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...
Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...Codemotion
 
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...LetsConnect
 

Similar to Managing Containers on AWS (20)

Bandwidth: Use Cases for Elastic Cloud on Kubernetes
Bandwidth: Use Cases for Elastic Cloud on Kubernetes Bandwidth: Use Cases for Elastic Cloud on Kubernetes
Bandwidth: Use Cases for Elastic Cloud on Kubernetes
 
Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_Dev opsec dockerimage_patch_n_lifecyclemanagement_
Dev opsec dockerimage_patch_n_lifecyclemanagement_
 
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...MayaData  Datastax webinar - Operating Cassandra on Kubernetes with the help ...
MayaData Datastax webinar - Operating Cassandra on Kubernetes with the help ...
 
Introduction to AirWave 10
Introduction to AirWave 10Introduction to AirWave 10
Introduction to AirWave 10
 
Microservices Architecture with AWS @ AnyMind Group
Microservices Architecture with AWS @ AnyMind GroupMicroservices Architecture with AWS @ AnyMind Group
Microservices Architecture with AWS @ AnyMind Group
 
AnyMind Group Tech Talk - Microservices architecture with AWS
AnyMind Group Tech Talk - Microservices architecture with AWSAnyMind Group Tech Talk - Microservices architecture with AWS
AnyMind Group Tech Talk - Microservices architecture with AWS
 
Supporting bioinformatics applications with hybrid multi-cloud services
Supporting bioinformatics applications with hybrid multi-cloud servicesSupporting bioinformatics applications with hybrid multi-cloud services
Supporting bioinformatics applications with hybrid multi-cloud services
 
AWS ECS vs EKS
AWS ECS vs EKSAWS ECS vs EKS
AWS ECS vs EKS
 
Kubernetes and Terraform in the Cloud: How RightScale Does DevOps
Kubernetes and Terraform in the Cloud: How RightScale Does DevOpsKubernetes and Terraform in the Cloud: How RightScale Does DevOps
Kubernetes and Terraform in the Cloud: How RightScale Does DevOps
 
Multi cloud Serverless platform using Kubernetes
Multi cloud Serverless platform using KubernetesMulti cloud Serverless platform using Kubernetes
Multi cloud Serverless platform using Kubernetes
 
A journey from mesos to kubernetes in AWS!
A journey from mesos to kubernetes in AWS!A journey from mesos to kubernetes in AWS!
A journey from mesos to kubernetes in AWS!
 
Nextflow and AWS Batch - GCC/BOSC 2018
Nextflow and AWS Batch - GCC/BOSC 2018Nextflow and AWS Batch - GCC/BOSC 2018
Nextflow and AWS Batch - GCC/BOSC 2018
 
Crossplane and a story about scaling Kubernetes custom resources.pdf
Crossplane and a story about scaling Kubernetes custom resources.pdfCrossplane and a story about scaling Kubernetes custom resources.pdf
Crossplane and a story about scaling Kubernetes custom resources.pdf
 
Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
Docker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and KubernetesDocker clusters on AWS with Amazon ECS and Kubernetes
Docker clusters on AWS with Amazon ECS and Kubernetes
 
OpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco HeavenOpenStack and Kubernetes - A match made for Telco Heaven
OpenStack and Kubernetes - A match made for Telco Heaven
 
Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...
Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...
Max Körbächer - AWS EKS and beyond – master your Kubernetes deployment on AWS...
 
Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...
Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...
Max Körbächer - AWS EKS and beyond master your Kubernetes deployment on AWS -...
 
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...Exploring a simpler, more portable, less overhead solution to deploy Elastics...
Exploring a simpler, more portable, less overhead solution to deploy Elastics...
 

Recently uploaded

(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdfankushspencer015
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 

Recently uploaded (20)

(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 

Managing Containers on AWS

  • 1. 12 April 2018 Managing Containers on AWS Prepared for: Montreal AWS Meetup trinimbus.com
  • 2. TABLE OF CONTENTS TriNimbus 2 Quick Review of Containers 03 Containers at Scale 08 AWS Solutions 12 ECR 13 Non-Managed Cluster in EC2 16 ECS 18 EKS 29 Fargate 37 Choosing the Right Solution 45 Questions 50
  • 4. 12 April 2018 TriNimbus 4 What are Containers ? A container is a packaged filesystem including all files required to run a given application. It guarantees the same behaviour in all environments without requiring a virtualization layer. Source
  • 5. 12 April 2018 TriNimbus 5 Container Technologies Although there are other container technologies in the ecosystem, none is as widely adopted as Docker.
  • 6. 12 April 2018 TriNimbus 6 Deploying Containers Deploying Docker containers is facilitated by the use of a Registry. A registry is a service similar in spirit to a package manager and allows for the storage, versioning and distribution of Docker containers. hub
  • 7. 12 April 2018 TriNimbus 7 Running Containers pjcliche@devbox:~/Code$ docker run nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx 2a72cbf407d6: Pull complete e19f9e910af9: Pull complete 2f3d26a87e79: Pull complete Digest: sha256:e36d7f5dabf1429d84135bb8a8086908e1150f1a178c75719a9e0e53ebb90353 Status: Downloaded newer image for nginx:latest
  • 9. 12 April 2018 TriNimbus 9 Single-Host Clusters Host Single-host considerations include (but are not limited to) : - Container health and interdependency - Container interconnectivity - Shared storage - Container scheduling and scaling - Resource management - Log management - Service discovery - Ingress management
  • 10. 12 April 2018 TriNimbus 10 Multi-Host Clusters Host Host Multi-host clusters add a layer of complexity to the single-host considerations by requiring coordination among resources. Additionally, the following become important : - Container placement - Host interconnectivity Host Host
  • 11. 12 April 2018 TriNimbus 11 Orchestration Frameworks Because of the different layers of complexity involved, managing the state of a container cluster is best handled by orchestration frameworks. Orchestration frameworks handle the different aspects of coordinating the deployment and operation of container clusters at both the host and container layers.
  • 14. - AWS-managed container registry - IAM-based authorization - Resource-level permissions 12 April 2018 TriNimbus 14 What is ECR ?
  • 15. - Usage is free - Pay only for image storage and outgoing data transfers (going outside of AWS) 12 April 2018 TriNimbus 15 Pricing
  • 17. 12 April 2018 TriNimbus 17 Overview The most flexible yet high-maintenance solution. Hosts are deployed onto EC2, which can then be leveraged to autoscale the host layer of the cluster. EC2 EC2 EC2 EC2
  • 19. 12 April 2018 TriNimbus 19 Overview AWS-proprietary managed orchestration framework Generally available since 2015 Mature and deeply integrated Worker nodes are provided by user through EC2 Containers are orchestrated through Tasks and Services
  • 20. 12 April 2018 TriNimbus 20 Topology Host Host Host Host ECS EC2 / VPC
  • 21. 12 April 2018 TriNimbus 21 Hosts and Provisioning - AWS provides baseline ECS AMIs for : - AWS Linux - Ubuntu - CoreOS - Windows - Using ECS is free, pay only for EC2 usage - Hosts are EC2-based and not provisioned by ECS - Only requirement for hosts is to run the ECS Container Agent - The lightweight requirements allow for the use of custom-built and specialized worker nodes
  • 22. 12 April 2018 TriNimbus 22 Tasks Tasks are logical groupings of containers that will always be deployed together (on the same instance) - Contains configuration for every container in the group (image, exposed ports, mounted volumes) - Can be scheduled through a cron-like interface and triggered by CloudWatch Events or manually
  • 23. 12 April 2018 TriNimbus 23 Short-lived Task Scheduling Host Host Host Host ECS EC2 / VPC Queue SQS/Kinesis CloudWatch Event
  • 24. 12 April 2018 TriNimbus 24 Services Services are schedulers managing long-lived tasks - Handles auto-scaling by integrating with CloudWatch Events - Automatically registers dynamically allocated container ports in *LBs - Can be set to leverage Route 53 DNS Service Discovery
  • 25. 12 April 2018 TriNimbus 25 *LB Service Registration Host Host Host Host ECS EC2 / VPC *LB /foo /bar Updates Target Groups Service A
  • 26. 12 April 2018 TriNimbus 26 Route 53 Service Registration Host Host Host Host ECS EC2 / VPC /baz Updates A/SRV Record Service B
  • 27. 12 April 2018 TriNimbus 27 Task Placement When using the RunTask and CreateService interfaces, task placement strategies and constraints can be specified - Strategies determine how instances will be chosen for task deployment - Binpack : Highest density - Random - Spread : Round-robin - Constraints limit task deployments to specific instances - Distinct : One per instance - MemberOf : Specific instances - Strategies and constraints can be multi-layered and combined
  • 28. 12 April 2018 TriNimbus 28 Task Placement Algorithm When Amazon ECS places tasks, it uses the following process to select container instances: 1) Filter on resources (CPU, memory, port) 2) Filter on constraints 3) Filter on strategies 4) Select instance
  • 30. 12 April 2018 TriNimbus 30 What is EKS ? AWS-managed Kubernetes (k8s) cluster Abstracts control plane Integrates with some AWS services Previewing in us-west-2 Containers are orchestrated through Pods, Controllers and Services
  • 31. 12 April 2018 TriNimbus 31 A Look at the Kubernetes Model Source
  • 32. EKS Layers 12 April 2018 TriNimbus 32 EKS EC2 / VPC
  • 33. 12 April 2018 TriNimbus 33 Hosts and Provisioning - Hosts (k8s worker nodes) are EC2-based and not provisioned by EKS - Nodes must be provisioned with kubelet, a container runtime interface and kube-proxy - AWS provides a CloudFormation template to deploy instances to an EKS cluster - Pricing is still unclear
  • 34. 12 April 2018 TriNimbus 34 Masters - Security is HIPAA and PCI-compliant - Network policies are baked in - Calico - Tigera - Behind the scenes, EKS deploys three masters across three AZs and exposes a single API endpoint - Masters autoscale as required by workload - Version upgrades are automated - Patches are automatically applied - Minors are scheduled - Supports up to latest - 2
  • 35. 12 April 2018 TriNimbus 35 AWS Integrations - RBAC ⇔ IAM RBAC authentication is enabled and integrated with IAM using Heptio Authenticator Source
  • 36. 12 April 2018 TriNimbus 36 AWS Integrations - In-VPC communication with masters through PrivateLink - ENIs leveraged for pod networking - Native pod access to the VPC network and ENIs achieved through AWS-built open-source CNI module - ELBs leveraged for ingress - ALB/NLB incoming - CloudWatch Logs and CloudTrail leveraged for logging and auditing
  • 38. 12 April 2018 TriNimbus 38 What is Fargate ? AWS-provided serverless container orchestration facility General availability for ECS in us-east-1 Full release by EOY Supplements ECS and EKS by abstracting worker nodes Similar in behaviour to Lambda, incompatible with long-lived service pattern
  • 39. 12 April 2018 TriNimbus 39 ECS Topology Host Host Host Host ECS EC2 / VPC
  • 40. 12 April 2018 TriNimbus 40 ECS on Fargate Topology Host Host Host Host ECS Fargate
  • 41. EKS Layers 12 April 2018 TriNimbus 41 EKS EC2 / VPC
  • 42. EKS on Fargate Layers 12 April 2018 TriNimbus 42 EKS Fargate
  • 43. Fargate Topology 12 April 2018 TriNimbus 43 - Fargate tasks are instantiated with VPC-attached ENI for security - 10GB allocated storage per task - An additional 4GB for shared volumes - 4GB max size of image Task Task Fargate VPC ENI ENI
  • 44. 12 April 2018 TriNimbus 44 Usage ECS on Fargate LaunchType of RunTask/Service set to FARGATE - Not compatible with task placement constraints - Not compatible with container links - Not compatible host-based volume mounting EKS on Fargate Still not released - TBD
  • 46. 12 April 2018 TriNimbus 46 Managed/Not - Managed takes a considerable operational load off your team - Managed abstracts masters/orchestrators, lock you in predefined behaviour - Not Managed is fully extensible and customisable
  • 47. 12 April 2018 TriNimbus 47 ECS/EKS - ECS is AWS-locked, EKS is closer to agnosticity - ECS is integrated end-to-end with AWS, EKS has been retrofitted into it (will get better) - ECS is conceptually simple - ECS is developed by AWS and only marginally extensible, EKS leverages k8s which is open-source and has a massive plugin library - ECS is limited to AWS, EKS can be extended to manage on-prem as well through k8s federation
  • 48. 12 April 2018 TriNimbus 48 Serverful/Serverless - Serverful gives you full access to node capabilities, allows for specialized nodes (GPU, Spot, etc) - Serverless removes your operational load entirely - Serverless limits you to pre-defined instance configuration - Serverless is not compatible with the service model - Serverless is “infinitely” scalable
  • 49. Choice tree 12 April 2018 TriNimbus 49 Credits Mency Woo