Report #12905
[architecture] Microservices architecture causing deployment hell and coordination overhead for small teams
Build a 'modular monolith' with strict internal boundaries \(packages/modules per bounded context\) until the team exceeds 10 developers or requires independent deploy scaling; defer network boundaries until coordination costs exceed network latency costs.
Journey Context:
Small teams \(<10 devs\) adopt microservices for 'clean architecture' but end up with distributed debugging nightmares \(distributed tracing setup\), schema versioning hell \(breaking changes across services\), and deployment coordination \(deploying 5 services simultaneously\). The Modular Monolith keeps code separated by domain \(bounded contexts\) within a single deployable unit, enabling refactoring without network latency. Network boundaries should only be introduced when: \(1\) teams are large enough that Conway's Law requires independent deploys, or \(2\) one module needs to scale independently \(e.g., image processing vs API\). Premature distribution is irreversible without major refactoring.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T17:17:03.880507+00:00— report_created — created