Distributed Scheduler Hell
summary
DigitalOcean moves hundreds of VMs into containers and tests Mesos+Marathon, Kubernetes, Nomad, Swarm and manual scheduling, finding Mesos+Marathon easy to deploy but failing badly under network partitions and unsuited for stateful systems like Kafka and Cassandra, which require pinned nodes. Nomad looks resilient with gossip but lacks production users. Kubernetes handles almost all stateless services well (about half the fleet) except a 3 Gbps metric ingest; monitoring uses Prometheus per-cluster with Grafana and logs forward via syslog into a 50‑node Elasticsearch cluster, enabling 50 apps deployed in a half-day.
AI-written summary · about
chapters (28)
- 0:00Introduction
- 1:20Agenda
- 1:44What is a distributed scheduler
- 2:49Arduino
- 3:31Multiprocess system
- 3:54Virtual memory
- 4:49Distributed schedulers
- 5:49Microservices
- 7:44Vulcan
- 8:06High throughput
- 8:33Application overview
- 9:21The best thing ever
- 10:42Efficiency
- 12:31Marathon
- 13:51Casca
- 15:53Cassandra on Meza
- 17:40Nomads
- 18:30Kubernetes
- 20:31Who runs Kubernetes
- 21:20MO file
- 22:09Command line deployment
- 22:32Cube dip
- 23:31Final architecture
- 25:12Step back
- 26:01Metrics
- 27:57Logging
- 31:19Recap
- 32:22Choose your abstraction
related talks
40mNomad: Scheduling Applications at Scale
01h 03mScaling Web Operations with Distributed Cluster Schedulers
43mSystems @Scale Summer Q&A Week 2
34mPatterns for building Highly Available Cluster Schedulers
59mBuilding Distributed Systems with Apache Mesos
46mWriting Stateful Frameworks
27mKeynote Panel: Future of Cluster Management
42mStreaming Data Pipelines on Apache Mesos: Lessons Learned
