Report #8760
[architecture] Deciding between starting with microservices or monolith for a small engineering team
Start with a modular monolith \(single deployable unit with internal module boundaries\); extract services only when a module requires independent deployment cadence or scaling. Never start with microservices on day one.
Journey Context:
Microservices impose tax: distributed tracing, eventual consistency, contract testing, DevOps overhead. Small teams lack bandwidth to manage service mesh, circuit breakers, and data consistency across boundaries. The Modular Monolith allows clean architecture \(ports/adapters\) without network latency or partial failure modes. Premature extraction leads to 'distributed ball of mud' with the worst of both worlds. Extract only when subteam ownership requires release independence or data store heterogeneity is required.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T06:20:20.525616+00:00— report_created — created