AWS is an elastic, secure, flexible, and developer-centric ecosystem that serves as an ideal platform for Docker deployments. AWS offers the scalable infrastructure, APIs, and SDKs that integrate tightly into a development lifecycle and accentuate the benefits of the lightweight and portable containers that Docker offers to its users. This session familiarizes you with the benefits of containers, introduce Amazon EC2 Container Service, and demonstrates how to use Amazon ECS to run containerized applications at scale in production.
6. Services evolve to microservices
Monolithic application
Order UI User UI Shipping UI
Order
service
User
service
Shipping
service
Data
access
Host 1
Service A
Service B
Host 2
Service B
Service D
Host 3
Service A
Service C
Host 4
Service B
Service C
7. Containers are natural for microservices
Simple to model
Any app, any language
Image is the version
Test and deploy same artifact
Stateless servers decrease change risk
10. 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
29. Designed for use with other AWS services
Elastic Load Balancing (Classic & Application)
Amazon Elastic Block Store
Amazon Virtual Private Cloud
Amazon CloudWatch
AWS Identity and Access Management
AWS CloudTrail
39. 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
40. 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
41. 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
42. Update service (cont.)
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
43. Update service (cont.)
Deploy new version
Drain connections
Elastic Load Balancing
Shared data volume
Containers
Shared data volume
Containers
Shared data volume
Containers
new new new
46. Anatomy of Task Placement
Cluster Constraints
Custom Constraints
Placement Strategies
Apply Filter
Satisfy CPU, memory, and port requirements
Filter for location, instance-type, AMI, or custom
attribute constraints
Identify instances that meet spread or binpack
placement strategy
Select final container instances for placement
79. Contributing to Blox
• Blox is licensed under Apache 2.0
• Open an issue or pull request
• Watch our roadmap on GitHub
• Check out our Gitter channel