Report #91035
[architecture] Prematurely decomposing into microservices with <8 developers
Start with a modular monolith \(strict internal package/module boundaries aligned with bounded contexts\); extract to independent service only when: \(1\) team size >8 requires independent deploy velocity, \(2\) component has 10x different scaling characteristics proven by metrics, or \(3\) technological constraint \(e.g., ML inference vs OLTP\) forces separate runtime.
Journey Context:
Distributed systems complexity \(network partitions, distributed transactions, operational overhead\) is justified only by team scaling or technical constraints. 'Distributed monolith' \(tight coupling across services via synchronous REST calls\) is the worst of both worlds—operational pain without independent deployability. Modular monolith allows refactoring extraction without network boundaries or eventual consistency pain. Conway's Law dictates that team structure mirrors architecture; small teams \(<8\) cannot effectively own 5\+ services \(on-call burden, context switching\). Extract only when a bounded context has independent business capability, different non-functional requirements \(e.g., memory-heavy vs CPU-heavy\), or deployment isolation is required for blast radius containment.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T11:23:56.764835+00:00— report_created — created