2000 engineers, 2 millions lines of code: the history of a Rails monolith
summary
A Rails monolith runs at Zendesk for ~15–17 years, evolving from multiple Rails apps to event-driven Kafka plumbing and partial microservices while keeping Rails core; upgrades span Rails 1.0 → 7.x and force removal of metaprogramming. Operational facts: roughly 1.6 million LOC, about 55,786 tests run across versions, databases become the real bottleneck (hot/cold sharding, DynamoDB archival), deploy pipeline uses staging → canary with a 3-hour deploy and strict code ownership and CI to avoid regressions.
AI-written summary · about
chapters (14)
- 0:00Welcome to Rails monolith
- 3:24Ruby community strengths
- 6:13Monolith history
- 9:23Shared libraries to events
- 11:12Anatoli’s journey
- 14:23Database bottlenecks
- 17:35Testing with MiniTest
- 21:27Reliability in monolith
- 23:56Codebase ownership
- 25:19Rails upgrades over 17 years
- 26:46Metaprogramming pain
- 28:51Early feature lessons
- 29:55Organizational scaling challenges
- 31:42Balancing history and innovation
related talks
43mThe history of a Rails monolith
28mBringing Your Rails Monolith Along As The Business Grows
32mBuilding HUGE Web Apps: Rails at 1,000,000 Lines of Code
37mThe Recipe for the Worlds Largest Rails Monolith
21mTaming Monoliths Without Microservices
01h 03mRuby at Scale
29mLessons From A Rails Infrastructure Team
34mIndustrial Rails
