O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Amazon ECS: a Platform to Run Production Containers

374 visualizações

Publicada em

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2i8lMhW.

Uttara Sridhar dives deep into the architecture behind Amazon ECS and the design choices that have enabled scalable cluster management, highly performant container orchestration and scheduling, and the open-sourced golang-based Amazon ECS Agent. She also demonstrates the key features to build and run a container-based application on Amazon ECS. Filmed at qconsf.com.

Uttara Sridhar is currently a Software Development Engineer on the Amazon EC2 Container Service team, primarily focussed on improving the user experience. She has led and developed the web console for the service, and an open source command line tool that simplifies resource management from a local development environment.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Amazon ECS: a Platform to Run Production Containers

  1. 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Uttara Sridhar Software Developer Engineer a platform to run production containers Amazon EC2 Container Service (ECS)
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ amazon-ecs
  3. 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon San Francisco www.qconsf.com
  4. 4. Agenda Why Containers? Cluster Management ECS Architecture Use Cases Q&A
  5. 5. Why Containers?
  6. 6. What are Containers? OS virtualization Process isolation Images AutomationServer Guest OS Bins/Libs Bins/Libs App2App1
  7. 7. Container advantages Portable Flexible Fast EfficientServer Guest OS Bins/Libs Bins/Libs App2App1
  8. 8. 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
  9. 9. 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
  10. 10. Why build Amazon ECS?
  11. 11. Server Guest OS Bins/Libs Bins/Libs App2App1 Scheduling one resource is straightforward
  12. 12. 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
  13. 13. Some customer challenges Cluster management Availability Scheduling Security Monitoring Integration with AWS services
  14. 14. Cluster Management
  15. 15. 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
  16. 16. Cluster Management: Scheduling Docker Task EC2 Instance Container Docker Task EC2 Instance Container Task Container Docker EC2 Instance Task Container AZ 1 AZ 2
  17. 17. Cluster Management: Scheduling Systems Ref: http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/41684.pdf
  18. 18. Amazon ECS
  19. 19. 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
  20. 20. 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
  21. 21. Amazon ECS: Key/Value Store 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 Key/Value Store Cluster Management Engine Agent Communication Service
  22. 22. Amazon ECS under the Hood IDN-1 IDN IDN+1 IDN+2 IDN+3 IDN+4 IDN+5 IDN+6 IDN+5 WRITE READ
  23. 23. 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
  24. 24. Amazon ECS: APIs Docker Task Container Instance Container ECS Agent 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
  25. 25. 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
  26. 26. Amazon ECS: Scheduling
  27. 27. Amazon ECS: Scheduling
  28. 28. Amazon ECS: Scheduling
  29. 29. Amazon ECS: Scheduling
  30. 30. Use Cases
  31. 31. Easily Manage Clusters for Any Scale Nothing to run Complete state Control and monitoring Scale
  32. 32. Scalable
  33. 33. Flexible Container Placement Applications Batch jobs Multiple schedulers
  34. 34. Designed for use with other AWS services Amazon Virtual Private Cloud AWS Identity and Access Management Amazon Elastic Load Balancing Amazon Elastic Block Store Amazon CloudWatch AWS CloudTrail
  35. 35. Extensible Comprehensive APIs Custom schedulers Open source agent and CLI
  36. 36. Common Use Cases Applications and services • Configuration and deployment • Microservices Batch processing
  37. 37. Case Study: Shippable With Amazon ECS, we've practically eliminated the time our developers spent on ops- related tasks. Our senior developers used to spend 80% of their time on back-end infrastructure management features, whereas now they spend 80% of their time on customer features. Avi Cavale CEO & Cofounder ” “ Shippable is a platform providing hosted continuous integration, testing, and deployment from repositories. The Shippable platform consists of two parts: Continuous Integration (CI), and Continuous Delivery (CD) pipelines. Built a CICD platform with microservices architecture using Docker containers on Amazon but their service discovery solution and monitoring infrastructure was really hard to scale and manage. Evaluated many open source options, but wanted a solution that was simple and would integrate with the AWS ecosystem. Started using Amazon ECS as a way to offload cluster management and container orchestration to a service. Amazon ECS service scheduler manages multiple copies of each microservice across the ECS cluster, use Amazon ELB for load-balancing, Amazon Cloudwatch for telemetry and infrastructure logging, Amazon ECR for storing Docker images. Shippable
  38. 38. Case Study: Segment Switching to Amazon ECS has greatly simplified running a service without needing to worry about provisioning or availability. Calvin French-Owen Cofounder and Chief Technology Officer ” “ Segment provides a service used by businesses to collect customer data in a single hub for later use in analytics, marketing, and for other purposes. Moved from Amazon EC2 instances to Docker containers and needed a way to manage and schedule containers at scale for their production environment. Evaluated many open source options, but wanted a solution that was simple and would integrate with the AWS ecosystem. Started using Amazon EC2 Container Service (Amazon ECS) as a way to offload cluster management and container orchestration to a service. Amazon ECS manages placement of containers on different Amazon EC2 instances across multiple Availability Zones, providing the Segment service with better availability.
  39. 39. 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
  40. 40. Thank you!
  41. 41. Questions?
  42. 42. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ amazon-ecs

×