Report #69741
[architecture] Architecture choice between monolith and microservices for small engineering teams
Start with a modular monolith \(strict bounded contexts within single deployable\) until team size exceeds 8-10 developers or independent deployment cadence is required.
Journey Context:
Teams prematurely split into microservices for 'scalability' or 'clean architecture,' incurring massive operational overhead \(distributed tracing, deployment coordination, API versioning, network latency\) without the organizational scale to justify it. A modular monolith maintains strict code boundaries \(ports/adapters, domain modules\) allowing future extraction, but deploys atomically avoiding distributed system complexity. Extract services only when: deployment coupling blocks independent team velocity \(Conway's Law threshold\), or strict isolation is needed for scaling/tech stack \(e.g., ML Python vs Java backend\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T23:32:43.946898+00:00— report_created — created