Report #5655
[architecture] Premature microservices extraction slowing down small teams
Start with a modular monolith \(single deployable unit with internal modules/bounded contexts\) until the team size \(>8-10 developers\) or deployment cadence conflicts force a split; extraction before boundaries are clear results in distributed monolith hell.
Journey Context:
Small teams often split into microservices early for 'clean architecture,' but end up with distributed monoliths \(tight coupling via sync calls, shared databases\) that are harder to refactor than a single codebase. Martin Fowler's 'Monolith First' strategy argues that boundaries are unknown early in a project; a modular monolith allows refactoring within a single process until clear bounded contexts emerge. The 'Microservice Premium' \(higher baseline cost for distributed systems\) only pays off when team scale requires independent deployment velocity. Indicators for splitting: teams stepping on each other's deployments, conflicting scaling requirements, or different data persistence needs \(polyglot persistence\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T21:49:04.234862+00:00— report_created — created