Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

AWS January 2016 Webinar Series - Introduction to Docker on AWS

3,790 views

Published on

Using Docker on your local development machine is simple, but running Docker applications at scale in production can be difficult.

In this webinar, we will discuss the difficulties of running Docker in production and how Amazon EC2 Container Service (ECS) can be used to reduce the operational burdens, and we will give an overview of the architecture powering Amazon ECS. We will also demo how to define multi-container applications with Docker Compose and deploy and scale them seamlessly to a cluster with Amazon ECS.

Learning Objectives:
Understand the benefits and architecture of Amazon ECS
Learn how to deploy and scale Docker containers on Amazon ECS
Who Should Attend:

Developers

Published in: Technology
  • Be the first to comment

AWS January 2016 Webinar Series - Introduction to Docker on AWS

  1. 1. Introduction to Docker on AWS Brandon Chavis Solutions Architect
  2. 2. Agenda Why Containers? Cluster Management Benefits Running Services Demo
  3. 3. Why Containers?
  4. 4. What are Containers? OS virtualization Process isolation Images AutomationServer Guest OS Bins/Libs Bins/Libs App2App1
  5. 5. Container advantages Portable Flexible Fast EfficientServer Guest OS Bins/Libs Bins/Libs App2App1
  6. 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. 7. 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
  8. 8. Scheduling
  9. 9. Server Guest OS Bins/Libs Bins/Libs App2App1 Scheduling one resource is straightforward
  10. 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
  11. 11. Cluster Management
  12. 12. Cluster Management: Resource Management Docker Task EC2 Instance Container Docker Task EC2 Instance Container Task Container Docker EC2 Instance Task Container AZ 1 AZ 2
  13. 13. Cluster Management: Scheduling Docker Task EC2 Instance Container Docker Task EC2 Instance Container Task Container Docker EC2 Instance Task Container AZ 1 AZ 2
  14. 14. Amazon ECS: Resource Management Docker Task Container Instance Container Task Container Docker Task Container Instance Container Task Container Docker Task Container Instance Container Task Container AZ 1 AZ 2 Cluster Management Engine
  15. 15. Amazon ECS: Agent Communication Docker Task Container Instance Container ECS Agent Task Container Docker Task Container Instance Container ECS Agent Task Container Docker Task Container Instance Container ECS Agent Task Container AZ 1 AZ 2 Cluster Management Engine Agent Communication Service
  16. 16. Amazon ECS: Key/Value Store Docker Task Container Instance Container ECS Agent ELB Internet ELB Task Container Docker Task Container Instance Container ECS Agent Task Container Docker Task Container Instance Container ECS Agent Task Container AZ 1 AZ 2 Key/Value Store Cluster Management Engine Agent Communication Service
  17. 17. Amazon ECS under the Hood IDN-1 IDN IDN+1 IDN+2 IDN+3 IDN+4 IDN+5 IDN+6 IDN+5 WRITE READ
  18. 18. 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
  19. 19. Amazon ECS: APIs Docker Task Container Instance Container ECS Agent ELB Internet ELB User / Scheduler API Cluster Management Engine Task Container Docker Task Container Instance Container ECS Agent Task Container Docker Task Container Instance Container ECS Agent Task Container AZ 1 AZ 2 Key/Value Store Agent Communication Service
  20. 20. Amazon ECS: Scheduling Docker Task Container Instance Container ECS Agent ELB Internet ELB User / Scheduler API Cluster Management Engine Task Container Docker Task Container Instance Container ECS Agent Task Container Docker Task Container Instance Container ECS Agent Task Container AZ 1 AZ 2 Key/Value Store Agent Communication Service
  21. 21. Amazon ECS: Scheduling
  22. 22. Amazon ECS: Scheduling
  23. 23. Amazon ECS: Scheduling
  24. 24. Amazon ECS: Scheduling
  25. 25. Benefits
  26. 26. Easily Manage Clusters for Any Scale Nothing to run Complete state Control and monitoring Scale
  27. 27. Scalable
  28. 28. Flexible Container Placement Applications Batch jobs Multiple schedulers
  29. 29. 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
  30. 30. Extensible Comprehensive APIs Custom schedulers Open source agent and CLI
  31. 31. Amazon ECS Docker Task Container Instance Amazon ECS Container ECS Agent ELB Internet ELB User / Scheduler API Cluster Management Engine Task Container Docker Task Container Instance Container ECS Agent Task Container Docker Task Container Instance Container ECS Agent Task Container AZ 1 AZ 2 Key/Value Store Agent Communication Service
  32. 32. Running Services
  33. 33. Task Definitions Volume Definitions Container Definitions
  34. 34. Key Components: Task Definitions
  35. 35. Key Components: Task Definitions
  36. 36. Tasks Shared Data Volume Containers schedule Container Instance Volume Definitions Container Definitions
  37. 37. Unit of work Grouping of related Containers Run on Container Instances Tasks
  38. 38. Create a Service Good for long-running applications and services
  39. 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. 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. 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. 42. 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.)
  43. 43. 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.)
  44. 44. Demo
  45. 45. Thank you!
  46. 46. Appendix

×