making developers happier with mesos, docker and marathon

Click here to load reader

Post on 12-Aug-2015

210 views

Category:

Software

7 download

Embed Size (px)

TRANSCRIPT

  1. 1. Making Developers Happier with Mesos, Docker and Marathon 1
  2. 2. 2015 Architecture Trajectory Age of the Monolith (5 Years Ago) Monolithic UI Monolithic Backend Unit and Manual Testing Monthly Deployments Infrastructure Monitoring
  3. 3. 2015 Architecture Trajectory Age of the Service-Oriented Arch. (3 Years Ago) Coarse Grained Services (Tomcat) Unit and Service Level Testing Hardware provisioned via Puppet Weekly Deployments Infrastructure Monitoring Graphite Dashboards
  4. 4. 2015 Architecture Trajectory Age of the Micro Architecture (1 Year Ago) HTTP Microservices Docker Managed Unit, Functional Testing On Demand Deployment Infrastructure Monitoring Application Monitoring
  5. 5. 2015 Continuous Delivery @ Yodle
  6. 6. 2015 Continuous Delivery @ Yodle
  7. 7. 2015 The Problem(s) Unhealthy Services Bad Actors Static Deployment Topologies Explicit Service Discovery All Or Nothing Deployments 7
  8. 8. 2015 The Solution - PaaS Platform as a Service You can focus on your application, not the infrastructure We can focus on making the platform resilient and self-healing 8
  9. 9. 2015 Buzzword Bingo 9
  10. 10. 201510
  11. 11. 201511
  12. 12. 201512
  13. 13. 201513
  14. 14. 201514
  15. 15. 201515
  16. 16. 2015 Qubit Bamboo 16
  17. 17. 201517
  18. 18. 201518
  19. 19. 2015
  20. 20. 2015 The Problem Unhealthy Services Extended service outages. If your services crashes you have to restart it. This leads to extended service outage windows as you investigate or roll back. 20
  21. 21. 2015 Healthy Services 21
  22. 22. 2015 The Problem Bad Actors Theres nothing to prevent a service from consuming all the resources on a box, starving its neighbors. 22
  23. 23. 2015 Customizable Resources 23
  24. 24. 2015 The Problem Static Deployment Topologies All your services have the same number of instances. If you want to scale, you need to add more machines. 24
  25. 25. 2015 Easy Scaling 25
  26. 26. 2015
  27. 27. 2015
  28. 28. 2015 The Problem Explicit Service Discovery Your application has to know where downstream services are. Its explicit in the app, but it should be implicit in the plumbing. foo.services.prod.yodle.com, foo.services.qa.yodle.com 28
  29. 29. 2015 Service Discovery 29 foo.service.yodle.com
  30. 30. 2015 Service Discovery 30
  31. 31. 2015 The Problem All or Nothing deployments Your app is deployed or not. If there are problems in production, you have to roll back. Deployment problems keep you up too late. 31
  32. 32. 2015 Canary Deployments 32
  33. 33. 201533
  34. 34. 201534
  35. 35. 201535
  36. 36. 201536
  37. 37. 2015 Canary Isolated: Contact Service
  38. 38. 2015 Canary Isolated: Contact Service
  39. 39. 2015 Canary Isolated: Contact Service
  40. 40. 201540
  41. 41. 201541
  42. 42. 201542
  43. 43. 201543
  44. 44. 2015 Cerebro 44
  45. 45. 201545
  46. 46. 201546 X-Canary-Isolated Report Metrics
  47. 47. 201547 X-Canary-Isolated Report Metrics
  48. 48. 201548 Report Results
  49. 49. 2015
  50. 50. 2015 Report Metrics
  51. 51. 2015
  52. 52. 2015
  53. 53. 2015
  54. 54. 201554
  55. 55. 2015
  56. 56. 2015 Qubit Bamboo 56
  57. 57. 201557
  58. 58. 2015 Unhealthy Services Healthy Services Bad Actors Customizable Resources Static Deployment Topologies Easy Scaling Explicit Service Discovery Implicit Service Discovery All Or Nothing Deployments Canary Deployments The ProblemsSolutions
  59. 59. 2015
  60. 60. 2015 Questions? 60
  61. 61. 2015 All images are copyright of their respective owners.