Cell-Based Architecture With Ruby on Rails
summary
Claims a practical cell-based migration for a normal multi-tenant Rails app that achieves per-tenant isolation and contained incidents by running one cell = app + DB + cache + workers, deploying Docker images built from Git tags, and routing through a central comeout proxy while a Rails control plane automates comeout commands. Implementation uses comeout to install Docker, push images to registries, do rolling swaps for low-downtime deploys, and an internal staging cell; outcome: single-developer operability and incidents limited to one cell.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:11Traditional multi-tenant problems
- 3:45Cell-based architecture introduction
- 7:39Resilience improvements
- 9:04Rails deployment evolution
- 10:08Capistrano limitations
- 11:32Why Kubernetes isn't always the right fit
- 12:58Kamal introduction
- 14:43Kamal deployment automation
- 18:39Rails control plane
- 21:11Kamal control plane integration
- 24:45Kamal Proxy separation
- 27:00Control plane proxy management
- 28:48Traffic routing
- 29:51Staging strategy
- 30:57Summary
related talks
46mAn Emerging Architecture Pattern for Agile Integration: Cell-based Architecture
40mContainerizing Rails: Techniques, Pitfalls, & Best Practices
34mShared Nothing Architecture - How to Scale to Infinity
32mHow I architected my big Rails app for success!
46mRuby in the Cloud
43mServer Infrastructure for Rails in 2016
29mPackaging and Shipping Rails Applications in Docker
40mMonoliths Between Microservices
