How Yelp.com Runs on Apache Mesos in AWS Spot Fleet for Fun and Profit
summary
Yelp runs Mesos clusters on AWS Spot Fleet, saving about 50% compared to reserved instances by overprovisioning and accepting 120‑second terminations. Engineering delivers this with a Terraform module that expresses diverse AZ+instance combinations, per‑AZ Spot Fleet requests, and a spot-aware autoscaler that rebalances by preferring instances with fewer tasks. Mesos/Marathon handle fast rescheduling; maintenance hooks (instance termination webhook → maintenance mode) exist but aren’t fully relied on due to a Mesos bug.
AI-written summary · about
chapters (40)
- 0:00Introduction
- 1:16Agenda
- 1:36Spot Fleet Definitions
- 2:24Spot Instances
- 4:01Spot Price
- 4:44What is Spot Fleet
- 5:42Why is Spot Fleet important
- 6:41Spot Fleet Web Interface
- 7:22Spot Fleet CLI
- 8:09The JSON Problem
- 9:02Terraform
- 9:49Why use Terraform
- 10:42Spot Fleet Instance Types
- 11:52Why We Use Terraform
- 12:48Terraform Demo
- 13:17Best Practices
- 13:35Diversification
- 14:26Diversification vs Lowest Price
- 15:33Diversification vs Rebalance
- 15:53AZ Instance Types
- 16:12Diversification Weighting
- 16:43Diversity in Action
- 17:36How to Achieve Diversity
- 17:57Easy Balancing
- 20:08Bidding
- 22:41Dealing with Terminations
- 24:28Outbidding Yelp
- 25:41Maintenance Primitives
- 26:06Marathon
- 26:21Outbid
- 27:49Maintenance
- 28:18Recap
- 29:31Is it worth it
- 29:42I ran the numbers
- 30:00Spot Fleet is saving us tons
- 30:38Spot Fleet is saving us 50
- 31:31Shout out to the early adopters
- 31:56What you need to know
- 32:28GitHub
- 33:14Costbenefit analysis
related talks
41mMore Bang for Your Buck: How Yelp Autoscales Mesos + Marathon on AWS Spot Fleet
42mAWS Spot instances: huge savings (or huge risks?)
30mKubernetes + Operator + PaaSTA = Flink @ Yelp
43mSpot Instances
57mA Distributed and Fault-Tolerant Application with Apache Mesos & Apache Aurora
29mGetting Started with Apache Mesos
19mKeynote: Operating 600+ Mesos Servers on 7 Datacenters @Criteo
58mDistributed Scheduling with Apache Mesos in the Cloud
