Leverage vs. Autonomy in a Large Software System
summary
Argues that centralizing common ops and patterns raises engineer leverage while preserving autonomy via tiny deployable units; Twitter runs Aurora/Mesos and Finagle, exposes Thrift types natively, and builds a StratoQL Scala-like DSL plus batching of RPCs to reduce calls. Strato is a serverless platform hosting 200+ microservices with lighter config vs code deploy cycles, enables a GraphQL layer and event processors, and yields big gains but introduces platform-debugging chokepoints and a long tail of special cases.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:30Big company problems
- 2:00Andy Grove on org structure
- 6:21Global effects of autonomy / leverage
- 8:35Sweet spot: cluster scheduling
- 11:59Sweet spot: Finagle as Thrift service framework
- 14:09Sour patch (?): monolithic service
- 16:34Sweet spot (7): service oriented architecture
- 18:20Sour patch: cross-service application logic library
- 20:01Sour patch: unowned services
- 22:29Strato: a platform for microservices
- 25:04Why a new language/implementation?
- 30:40Example: fetch tweets in a user's timeline
- 34:06a sweet spot?
- 35:33Emergent benefits of centralized platform
- 36:03Conjecture
related talks
46mThoughtful Software Engineering
30mArchitecture & Teams at Less-than-Google Scale
19mPlatform Engineering beyond the Buzzword?
51mHow Your Organization is Killing your Software
53mHatching software development ecosystems (the gordian knot)
11mScaling systems, scaling influence: Lessons from distributed architecture
52mThe Future of Software Engineering
50mScaling for Global Growth with Modern Cloud
