(APP303) Lightning Fast Deploys with Docker Containers and AWS | AWS re:Invent 2014
AWS January 2016 Webinar Series - Introduction to Docker on AWS
-
Upload
amazon-web-services -
Category
Technology
-
view
2.450 -
download
3
Transcript of AWS January 2016 Webinar Series - Introduction to Docker on AWS
![Page 1: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/1.jpg)
Introduction to
Docker on AWSBrandon Chavis
Solutions Architect
![Page 2: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/2.jpg)
Agenda
Why Containers?
Cluster Management
Benefits
Running Services
Demo
![Page 3: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/3.jpg)
Why Containers?
![Page 4: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/4.jpg)
What are Containers?
OS virtualization
Process isolation
Images
Automation Server
Guest OS
Bins/Libs Bins/Libs
App2App1
![Page 5: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/5.jpg)
Container advantages
Portable
Flexible
Fast
EfficientServer
Guest OS
Bins/Libs Bins/Libs
App2App1
![Page 6: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/6.jpg)
Services evolve to microservices
Monolithic Application
Order UI User UI Shipping UI
OrderService
UserService
ShippingService
DataAccess
Host 1
Service A
Service B
Host 2
Service B
Service D
Host 3
Service A
Service C
Host 4
Service B
Service C
![Page 7: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/7.jpg)
Containers are natural for microservices
Simple to model
Any app, any language
Image is the version
Test & deploy same artifact
Stateless servers decrease change risk
![Page 8: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/8.jpg)
Scheduling
![Page 9: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/9.jpg)
Server
Guest OS
Bins/Libs Bins/Libs
App2App1
Scheduling one resource is straightforward
![Page 10: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/10.jpg)
Scheduling a cluster is hard
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
Server
Guest OS
![Page 11: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/11.jpg)
Cluster Management
![Page 12: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/12.jpg)
Cluster Management: Resource Management
DockerTask
EC2 Instance
Container
DockerTask
EC2 Instance
Container
TaskContainer
Docker
EC2 Instance
TaskContainer
AZ 1 AZ 2
![Page 13: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/13.jpg)
Cluster Management: Scheduling
DockerTask
EC2 Instance
Container
DockerTask
EC2 Instance
Container
TaskContainer
Docker
EC2 Instance
TaskContainer
AZ 1 AZ 2
![Page 14: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/14.jpg)
Amazon ECS: Resource Management
DockerTask
Container Instance
Container
TaskContainer
DockerTask
Container Instance
Container
TaskContainer
DockerTask
Container Instance
Container
TaskContainer
AZ 1 AZ 2
Cluster Management Engine
![Page 15: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/15.jpg)
Amazon ECS: Agent Communication
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
AZ 1 AZ 2
Cluster Management Engine
Agent Communication Service
![Page 16: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/16.jpg)
Amazon ECS: Key/Value Store
DockerTask
Container Instance
Container
ECS Agent
ELB
Internet
ELB
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
AZ 1 AZ 2
Key/Value Store
Cluster Management Engine
Agent Communication Service
![Page 17: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/17.jpg)
Amazon ECS under the Hood
IDN-1 IDN IDN+1 IDN+2 IDN+3 IDN+4 IDN+5
IDN+6
IDN+5
WRITE
READ
![Page 18: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/18.jpg)
Amazon ECS under the Hood
IDN-1 IDN IDN+1 IDN+2 IDN+3 IDN+4 IDN+5
IDN+6IDN+3
IDN+5IDN+2
WRITE WRITE
READREAD
![Page 19: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/19.jpg)
Amazon ECS: APIs
DockerTask
Container Instance
Container
ECS Agent
ELB
Internet
ELB
User / Scheduler
API
Cluster Management Engine
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
![Page 20: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/20.jpg)
Amazon ECS: Scheduling
DockerTask
Container Instance
Container
ECS Agent
ELB
Internet
ELB
User / Scheduler
API
Cluster Management Engine
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
![Page 21: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/21.jpg)
Amazon ECS: Scheduling
![Page 22: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/22.jpg)
Amazon ECS: Scheduling
![Page 23: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/23.jpg)
Amazon ECS: Scheduling
![Page 24: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/24.jpg)
Amazon ECS: Scheduling
![Page 25: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/25.jpg)
Benefits
![Page 26: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/26.jpg)
Easily Manage Clusters for Any Scale
Nothing to run
Complete state
Control and monitoring
Scale
![Page 27: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/27.jpg)
Scalable
![Page 28: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/28.jpg)
Flexible Container Placement
Applications
Batch jobs
Multiple schedulers
![Page 29: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/29.jpg)
Designed for use with other AWS services
Elastic Load Balancing
Amazon Elastic Block Store
Amazon Virtual Private Cloud
Amazon CloudWatch
AWS Identity and Access Management
AWS CloudTrail
![Page 30: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/30.jpg)
Extensible
Comprehensive APIs
Custom schedulers
Open source agent and CLI
![Page 31: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/31.jpg)
Amazon ECS
DockerTask
Container Instance
Amazon ECS
Container
ECS Agent
ELB
Internet
ELB
User / Scheduler
API
Cluster Management Engine
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
DockerTask
Container Instance
Container
ECS Agent
TaskContainer
AZ 1 AZ 2
Key/Value Store
Agent Communication Service
![Page 32: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/32.jpg)
Running Services
![Page 33: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/33.jpg)
Task Definitions
Volume Definitions
Container Definitions
![Page 34: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/34.jpg)
Key Components: Task Definitions
![Page 35: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/35.jpg)
Key Components: Task Definitions
![Page 36: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/36.jpg)
Tasks
Shared Data Volume
Containers
scheduleContainer Instance
Volume Definitions
Container Definitions
![Page 37: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/37.jpg)
Unit of work
Grouping of related Containers
Run on Container Instances
Tasks
![Page 38: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/38.jpg)
Create a Service
Good for long-running applications and services
![Page 39: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/39.jpg)
Create Service
Load Balance traffic across containers
Automatically recover unhealthy containers
Discover services
Elastic Load Balancing
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
![Page 40: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/40.jpg)
Scale Service
Scale up
Scale down
Elastic Load Balancing
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
![Page 41: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/41.jpg)
Update Service
Deploy new version
Drain connections
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
new new new
Elastic Load Balancing
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
old old old
![Page 42: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/42.jpg)
Deploy new version
Drain connections
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
new new new
Elastic Load Balancing
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
old old old
Update Service (cont.)
![Page 43: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/43.jpg)
Deploy new version
Drain connections
Elastic Load Balancing
Shared Data Volume
Containers
Shared Data Volume
Containers
Shared Data Volume
Containers
new new new
Update Service (cont.)
![Page 44: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/44.jpg)
Demo
![Page 45: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/45.jpg)
Thank you!
![Page 46: AWS January 2016 Webinar Series - Introduction to Docker on AWS](https://reader035.fdocuments.in/reader035/viewer/2022062523/58781e531a28aba12d8b5fdf/html5/thumbnails/46.jpg)
Appendix