Designing Deploy-Time Flexibility for Modular Systems
summary
Argues you can write one modular codebase and decide at deploy time whether modules talk in-process or over the wire, demonstrated in .NET by switching from REST to function calls simply by copy binaries to switch deployment (no recompilation). Implementation uses contracts-only assemblies, attribute-driven registration (appboot), Unity DI, lightweight Web API hosts, and pairwise proxies plus type discovery; demo copies DLLs to co-locate services, then proxies forward calls or become direct calls. Notes: prefer in-process proxies for consistent error handling; aim for ~10–30 services.
AI-written summary · about
chapters (17)
- 0:00Deploy-time flexibility intro
- 1:04Core concept: deploy-time decisions
- 4:40Benefits and drawbacks of monolithic architectures
- 12:27Microservices challenges
- 14:54Modular monoliths rise
- 18:26Modular design principles
- 26:22Investment bank performance fix
- 28:26Demo: comms architecture
- 35:21Demo environment setup
- 45:52Building modular system
- 1:07:33Type discovery with App Boot
- 1:14:09REST endpoints for services
- 1:19:25Creating proxies for interprocess communication
- 1:25:58Prioritize real implementations
- 1:30:13Distributed deployment demo
- 1:33:02Production errors and handling
- 1:34:52Q&A: deployment & performance
related talks
54mBuild software like a bag of marbles, not a castle of LEGO®
57mDistribu-ready with the Modular Monolith
01h 00mDistribu-ready with the Modular Monolith
55mArchitectural Patterns for Rapid, Reliable, Frequent and Sustainable Development
51mModularization: Foundation of Microservices and Monoliths
49mRealizing Domain Design Through Architectural Modularity ...
43mModular Monoliths: The Architecture That Scales w Your Domain
02mOmphile Matheolane at DDD Europe 2025
