Distribu-ready with the Modular Monolith
summary
Argues that a modular monolith is distribu-ready by design and gives concrete patterns: use .NET minimal APIs with class library modules, register dependencies via extension methods, keep contracts as DTOs and use the Kit Kat pattern to carve modules into satellite pattern services later. Demonstrates with a Tackytacos example (orders → payments → kitchen) showing mediator vs message-bus, explains thin vs fat messages, recommends internal-by-default, compile-time architecture tests and static analysis, and warns this trades operational simplicity for added complexity only worth it when needed.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 2:17Complexity as software enemy
- 4:26Monoliths vs distributed systems
- 8:59Microservices problems
- 16:05Journey to modular monoliths
- 21:19What is modular monolith
- 24:52Decomposing into modules
- 33:04Making modules distribute-ready
- 36:23Module communication with mediators
- 47:16Event-driven communication
- 52:37Preventing big ball of mud
- 57:40Enforcing architecture
- 1:00:10When to use modular monolith
related talks
57mDistribu-ready with the Modular Monolith
34mMateus Guimarães :: Unveiling the Modular Monolith
01h 07mModular Code with Examples in C#
01h 04mPractical advice for building glorious monoliths
57mModularizing the Monolith
48mMicroservices? Monoliths? Modules!
01h 02mBuilding that glorious monolith. And carving it too.
46mFrom Chaos to Cohesion: Building Modular Monoliths in the Real World
