The modular monolith is a mythical beast of software architecture. While it sounds simple enough – single deployed unit, separated in modules – it’s rarely seen in practice as it very quickly devolves into spaghetti code or a big ball of mud.
In this video, Alex explains a few important considerations for modular monoliths:
- What they are
- How to identify modules: domain modeling, event storming, or going back to Parnas
- How to deploy modules inside a monolith: Façade + namespace, native programming language modules, by request in MVC, with the help of hexagonal architecture, or using the actor model
- How to maintain its integrity: architectural tests, guidelines, and reviews
- Advantages, disadvantages, and things to pay attention to (spoiler alert: discipline is fundamental).
