Scaling a Rails Monolith w/Event Driven Microservices
summary
Describes migrating a heavy Rails monolith into small, purpose-built services that communicate asynchronously via RabbitMQ and persist events with Postgres JSONB. Shows tiny Sinatra-style webhooks publishing to queues, independent consumers acknowledging messages only after success, and moving latency-sensitive pieces to Elixir. Claims CI build pain (example: a 45‑minute suite) drops to 45→3–4 min with parallel jobs, and deployment of a microservice should take minutes. Demonstrates that isolated services are easier to reason about, replace, and operate in production.
AI-written summary · about
chapters (10)
- 0:00Introduction and motivation
- 1:06Monolith scaling challenges
- 5:21When to consider microservices
- 8:53Synchronous vs asynchronous communication
- 12:43Event-driven microservices example
- 17:45RabbitMQ and pub/sub pattern
- 21:23Benefits of small microservices
- 23:47Operating microservices in production
- 25:12When to adopt microservices
- 26:14Conclusion and Q&A
related talks
26mMonolith-ifying perfectly good microservices
56mFrom Homogeneous Monolith to Heterogeneous Microservices Architecture
40mService Architectures for Mere Mortals
33mAdventures with Micro Services in Rails
30mMonolith-ifying perfectly good microservices
39mTaming Monoliths Without Microservices
32mRefactoring Legacy Apps with APIs and Messages
40mMonoliths Between Microservices
