Simplifying at Scale: 7 Years of Rails Architecture
summary
Starts on Google App Engine with Rails 5.2 then migrates to GKE Kubernetes migration for control over scaling, moves front end from Webpacker to Shakaacker to VIT, and shards MySQL (three shards across two regions) while using MongoDB for a global routing lookup. Lookup caching hits ~93% and Mongo read replicas resolve 95% of misses under 150 ms. ActiveStorage blobs and attachments each hit ~3.4 billion rows and the routing table tops just over a billion entries.
AI-written summary · about
chapters (12)
- 0:00Persona and identity platform
- 1:48Early Rails and App Engine
- 3:54Rails asset pipeline evolution
- 5:59App Engine scaling limits
- 7:44Migration to Kubernetes
- 10:55Database sharding strategy
- 13:20Rails sharding challenges
- 17:31MySQL schema management
- 20:18Active Storage scaling
- 22:00Simplifying architecture
- 24:27Stacks and routing
- 26:31Seven years of scaling
related talks
27mRails Orbiting the cloud: Mastering the scalability with Kubernetes
37mBalancing Power and Pain: Moving a Startup From a PaaS to Kubernetes
32mOperating Rails in Kubernetes
01h 03mThe Trail to Scale Without Fail: Rails?
40mHow Shopify Scales Rails
56mScaling Rails API to Write-Heavy Traffic
41mHow Shopify Scales Rails
27mScaling Ruby Applications: Challenges, Solutions and Best Practices
