making developers happier with mesos, docker and marathon
Post on 12-Aug-2015
210 views
Embed Size (px)
TRANSCRIPT
- 1. Making Developers Happier with Mesos, Docker and Marathon 1
- 2. 2015 Architecture Trajectory Age of the Monolith (5 Years Ago) Monolithic UI Monolithic Backend Unit and Manual Testing Monthly Deployments Infrastructure Monitoring
- 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. 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. 2015 Continuous Delivery @ Yodle
- 6. 2015 Continuous Delivery @ Yodle
- 7. 2015 The Problem(s) Unhealthy Services Bad Actors Static Deployment Topologies Explicit Service Discovery All Or Nothing Deployments 7
- 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. 2015 Buzzword Bingo 9
- 10. 201510
- 11. 201511
- 12. 201512
- 13. 201513
- 14. 201514
- 15. 201515
- 16. 2015 Qubit Bamboo 16
- 17. 201517
- 18. 201518
- 19. 2015
- 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. 2015 Healthy Services 21
- 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. 2015 Customizable Resources 23
- 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. 2015 Easy Scaling 25
- 26. 2015
- 27. 2015
- 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. 2015 Service Discovery 29 foo.service.yodle.com
- 30. 2015 Service Discovery 30
- 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. 2015 Canary Deployments 32
- 33. 201533
- 34. 201534
- 35. 201535
- 36. 201536
- 37. 2015 Canary Isolated: Contact Service
- 38. 2015 Canary Isolated: Contact Service
- 39. 2015 Canary Isolated: Contact Service
- 40. 201540
- 41. 201541
- 42. 201542
- 43. 201543
- 44. 2015 Cerebro 44
- 45. 201545
- 46. 201546 X-Canary-Isolated Report Metrics
- 47. 201547 X-Canary-Isolated Report Metrics
- 48. 201548 Report Results
- 49. 2015
- 50. 2015 Report Metrics
- 51. 2015
- 52. 2015
- 53. 2015
- 54. 201554
- 55. 2015
- 56. 2015 Qubit Bamboo 56
- 57. 201557
- 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. 2015
- 60. 2015 Questions? 60
- 61. 2015 All images are copyright of their respective owners.