Distribu-ready with the Modular Monolith
summary
Argues a modular monolith is distribu-ready by designing modules as isolated class libraries with public contracts, a single web API executable that wires modules via extension methods and DI, and enforced rules via compile-time privacy, architecture tests and code review. Demonstrates patterns: Kit Kat pattern (breakable fingers = modules), satellite pattern (pluck modules into independent executables), mediator vs RabbitMQ message broker, and tradeoffs between thin messages and fat messages. Shows a .NET minimal-API implementation that can be incrementally split and deployed.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:49Complexity in software architecture
- 3:59Monolith vs microservices trade-offs
- 8:42Dangers of distributed monolith
- 13:47Modular monolith as better path
- 15:14What is modular monolith
- 19:12Decomposing with cohesion and coupling
- 22:05Code-first vs database-first decomposition
- 25:40Pragmatism over dogmatism
- 27:07Making monolith distribute-ready
- 30:01Module independence and communication
- 37:11Intermodule communication patterns
- 41:03Event-driven architecture in monoliths
- 46:41Complexity trade-offs and next steps
- 47:42Enforcing architecture
- 54:10Summary
related talks
01h 02mDistribu-ready with the Modular Monolith
01h 00mDistribu-ready with the Modular Monolith
43mModular Monoliths: The Architecture That Scales w Your Domain
59mMajestic Modular Monoliths
51mModularization: Foundation of Microservices and Monoliths
02mOmphile Matheolane at DDD Europe 2025
01h 41mDesigning Deploy-Time Flexibility for Modular Systems
01h 04mModular Monoliths and Other Facepalms
