~/talk

2000 engineers, 2 millions lines of code: the history of a Rails monolith

Talkat EuRuKo 2024 · 2024-09-11..09-13· [ruby-on-rails, software-architecture]
name:C.Planas
links:none on file
links:none on file
slides:none on file

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

  1. 0:00Welcome to Rails monolith
  2. 3:24Ruby community strengths
  3. 6:13Monolith history
  4. 9:23Shared libraries to events
  5. 11:12Anatoli’s journey
  6. 14:23Database bottlenecks
  7. 17:35Testing with MiniTest
  8. 21:27Reliability in monolith
  9. 23:56Codebase ownership
  10. 25:19Rails upgrades over 17 years
  11. 26:46Metaprogramming pain
  12. 28:51Early feature lessons
  13. 29:55Organizational scaling challenges
  14. 31:42Balancing history and innovation
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.