Enterprise Software Development
Systems for organisations where several departments, sites and approval chains all have to work from the same data.
An organisational decision more than a technical one — and usually premature.
Microservices let separate teams release independently. If you do not have separate teams, you are paying the cost — network calls that fail, transactions that span services, more infrastructure — for a benefit you cannot use.
A modular monolith with strictly enforced internal boundaries gives most of the design discipline with none of the distributed-systems tax, and it can be split later once the boundaries have proved themselves.
Systems for organisations where several departments, sites and approval chains all have to work from the same data.
Software shaped around the way your business already works, instead of a packaged product you have to reorganise around.
Hosting designed around what your application actually needs, with the monitoring and backups that make it safe to rely on.
People look for this subject using a lot of different wording. These all describe the same thing, and this is the page for all of them.
Almost certainly not at the start. Domain boundaries are usually wrong in the first version, and splitting on wrong boundaries is far more expensive than splitting later on right ones.
No. A well-structured monolith is the correct answer for most business systems and is much easier to change while the domain is still being learned.
Related topics
Describe it in your own words and we will tell you what it would take, or whether something simpler would do the job.