I've Made a Huge Mistake: We Did Services All Wrong
summary
Gusto runs a Rails monolith of 1.5 million lines of code with ~80 engineers and $1B/month payroll, and decides to extract domains by building services first then running rails new last. The team replaces ActiveRecord coupling with value objects and composable service objects, avoids callbacks and circular dependencies, and measures success by transport portability. One extraction takes six months and 500 pull requests while payroll keeps running, showing the approach works but requires slow, deliberate migration.
AI-written summary · about
chapters (12)
- 0:00Start
- 3:00We're here to talk about Rails projects that push the limits
- 5:15Correctness Performance
- 6:17Breaking the Monolith
- 8:12Let's Extract a Service!
- 11:17Applications vs. Services
- 15:31Conceptual Compression
- 16:23Conceptual Expansion
- 17:17As your Rails code base grows, question bidirectional relationships
- 18:20Use Value Objects to Traverse Edges
- 20:02Avoid Callbacks
- 22:22Extract Services first, then extract Applications
related talks
28mServices and Rails: The Shit They Don't Tell You
33mServices and Rails: The Sh*t They Don't Tell You
33mServices and Rails: The Shit They Don't Tell You
56mFrom Homogeneous Monolith to Heterogeneous Microservices Architecture
01h 01mMicroservices Gone Wrong
40mService Architectures for Mere Mortals
36mAn Iterative Approach to Service Oriented Architecture
17mDesigning software that maximizes developer productivity
