10 Years In - The Realities of Running a Rails App Long Term
summary
DNSimple starts in April 2010 on Rails 2.3 and runs Rails 6.0 today, with an iterative evolution that documents what changed and what failed: early fat models and ActiveRecord callbacks become commands and finders, acceptance tests with Cucumber give way to RSpec, background jobs move from rescue to sidekick and Sidekick Enterprise, authoritative DNS moves from VPS and MySQL to an anycast bare metal edge with message-only updates, dependency updates come via dependabot weekly updates, and the repo grows past 27,000 commits.
AI-written summary · about
chapters (21)
- 0:00Start
- 2:12Software Design Choices
- 4:10ActiveRecord Callbacks
- 4:49ActiveRecord Query Interface
- 5:51Thin controller, fat model - God Objects
- 15:06RSpec is used for both unit and integration tests
- 16:01Operational evolution
- 18:16Authoritative DNS Infrastructure
- 19:15Distribution of data to edge systems
- 20:11Dependencies
- 21:15Ruby version 1.8
- 21:34Manual dependency management
- 22:14Automated dependency management
- 23:03Team Changes
- 25:41Different skills and expertise
- 26:42Strong opinions cause friction
- 27:40Consistency & documentation
- 29:14Legacy choices
- 29:34Partial implementations
- 30:56Managing complexity
- 32:07Aging architecture
related talks
31mTen Years of Rails Tutorials
35mTen Years of Rails Deployment
35mMy Rails App is Old Enough to Drink: Over Two...
34mLooking Backward: Ten Years on Rails
37mDeveloping and Maintaining a Platform With Rails and Lotus
30m15 Years of Rails With Domain Driven Design - Lessons Learnt
40mThe Life and Death of a Rails App
32m2000 engineers, 2 millions lines of code: the history of a Rails monolith
