Back to Catalog
Microservices
Service Decomposition
Decompose by Subdomain
Use DDD subdomains as your service map — core domain gets the best engineers, supporting gets good-enough.
Intent & Description
Real-world Use Case
For a logistics company: Route Optimization is Core (build custom, invest heavily). Driver Management is Supporting (build, but simpler). HR Payroll is Generic (use an off-the-shelf SaaS tool, don’t build it).
Source
📌 TL;DR
DDD subdomains = your service map with a priority label. Go deep on Core, go simple on the rest.
Advantages
- Strategic investment allocation — spend engineering effort where it counts
- DDD gives you bounded contexts for clean service interfaces
- Prevents over-engineering of non-core subdomains
- Ubiquitous language per subdomain reduces ambiguity
Disadvantages
- Requires experienced DDD practitioners to apply well
- Core vs Supporting boundaries are judgment calls
- Subdomains can evolve (what’s Generic today may be Core tomorrow)
- Heavy upfront modeling effort