Surrounded by Microservices
summary
Netflix Studio becomes a suite of 50+ apps after decomposing a Rails monolith that once had ~30 developers and >300 DB tables, and the architecture centers on hexagonal architecture to keep business logic independent of persistence. Entities use dry-struct, repositories wrap swappable data sources (ActiveRecord, REST, gRPC) and interactors use the interactor gem with dependency injection so unit tests mock repositories while integration tests use VCR and generated clients from swagger code generator. Alerts trigger at ~20% downstream failure; the approach works and delays big infrastructure choices.
AI-written summary · about
chapters (17)
- 0:00Start
- 5:52The Active Record Pattern
- 6:43Persistence Layer
- 8:11Core Concepts
- 8:44Repositories
- 8:56Data Sources
- 9:23Interactors
- 9:51Entities
- 16:08Errors
- 16:45Graceful Failure
- 18:24Alarm Fatigue
- 19:54Alternatives
- 23:23Purpose of Good Architecture Is To Delay Decisions
- 24:05Testing Strategy
- 24:33Rails Testing Look like
- 25:58Integration Specs
- 26:58Conclusion
related talks
40mMonoliths Between Microservices
26mMonolith-ifying perfectly good microservices
30mMonolith-ifying perfectly good microservices
27mScaling a Rails Monolith w/Event Driven Microservices
23mClient/Server Architecture: Past, Present, & Future
21mTaming Monoliths Without Microservices
32mRefactoring Legacy Apps with APIs and Messages
23mAbstracting a Service - A Case Study in Forward Thinking with SOA
