Chapter 3. Architecting data-centric modular monoliths
As systems grow, monolithic applications often drift from their original modular designs. What begins as a cohesive codebase with well-intentioned boundaries can quickly turn into a tangled mass of dependencies and data access patterns that defy understanding. This chapter explores how to maintain, and even evolve, modularity in monolithic applications by treating data as the primary structuring force.
You’ll see why so many monoliths erode over time: the pressure to deliver features quickly, shortcuts that blur boundaries, and tech debt that accumulates without discipline. But more importantly, you’ll learn techniques to counter this drift by architecting around transactional data boundaries. Whether it’s isolating ownership of write models, modeling aggregates with clear persistence contracts, or reducing implicit coupling through data-access scaffolding, the chapter highlights a set of patterns that keep monoliths coherent as they grow. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access