So Long, Hoboken: Migrating a Huge Production Codebase from Sinatra to Rails
summary
A migration moves a 12–14 small-app Sinatra suite into Rails by choosing between melting/mounting (Rails boots Sinatra, hurting memory and reload performance) or a strangler pattern (incrementally carving verticals into Rails), building Rails models from service calls first, mapping routes into real controllers, and automating with Jenkins and CI. Tests and metrics matter: Code Climate 0.67→2.1 and test coverage rising ~50% to ~85% show measurable progress. The work is slow, error-prone, and ongoing but practical.
AI-written summary · about
chapters (16)
- 0:00Intro
- 0:13About Me
- 1:53Caveat Developer
- 2:47Why Migrate? (Code)
- 5:02Why Migrate? (People)
- 7:30Our Architecture
- 10:15Option #1: Mounting
- 12:29Option #2: Strangler Pattern
- 16:30Tests, Tests, Tests
- 18:36A Word on Automation
- 20:40Models
- 22:40Controllers
- 23:41Controller Code Example
- 24:48Views
- 26:11All the (Not So) Small Things
- 27:25What We're Learning
related talks
42mYou've got a Sinatra on your Rails
41mOff the Tracks - Challenging the Rails Mindset
34mLooking Backward: Ten Years on Rails
23mCrafting Rails Culture
27mScaling a Rails Monolith w/Event Driven Microservices
34m"Taming your Rails monolith"
38mOur Fight Against Super Bad Patterns in Legacy Rails Apps
32mHow I architected my big Rails app for success!
