making developers happier with mesos, docker and marathon
TRANSCRIPT
2015
Architecture Trajectory
● Age of the Monolith (5 Years Ago)
○ Monolithic UI
○ Monolithic Backend
○ Unit and Manual Testing
○ Monthly Deployments
○ Infrastructure Monitoring
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
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
2015
The Problem(s)• Unhealthy Services
• Bad Actors
• Static Deployment Topologies
• Explicit Service Discovery
• All Or Nothing Deployments
7
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
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
2015
The Problem• Bad Actors
• There’s nothing to prevent a service from consuming all the resources on a box, starving it’s neighbors.
22
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
2015
The Problem
• Explicit Service Discovery
• Your application has to know where downstream services are. • It’s explicit in the app, but it should be implicit in the plumbing. • foo.services.prod.yodle.com, foo.services.qa.yodle.com
28
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
2015
• Unhealthy ServicesHealthy Services
• Bad ActorsCustomizable Resources
• Static Deployment TopologiesEasy Scaling
• Explicit Service DiscoveryImplicit Service Discovery
• All Or Nothing DeploymentsCanary Deployments
The ProblemsSolutions