When to Break the Monolith

Context: 20 engineers, 4 products, 1 monolith. Teams stepping on each other, releases blocking each other, about to double headcount.
The Story
Around 2022, we had about 20 people working across 4 different product verticals, all dependent on a single monolith that handled crypto, fiat, and authentication logic. The monolith had become a clear bottleneck—code was tightly coupled, teams were stepping on each other's toes, and every change required full regression testing across all products. We were planning to double the team size, and I knew this architecture wouldn't scale.
I proposed creating a new vertical called "Core"—a separate team and infrastructure that would centralize developments impacting multiple products. This wasn't just about splitting the monolith; it was about creating an internal product with its own backlog and managing requirements from other teams.
I evaluated several options, including improving the existing monolith and better modularization, but the codebase was too large and had too many responsibilities—refactoring it seemed impractical. We designed Core as a microservices architecture with an explicit orchestrator. Each microservice managed its own database independently, and the orchestrator received external requests and routed them to the appropriate services.
From day one, we built Core as completely separate infrastructure. No one could access anything in Core without going through its API gateway over the internet—even our own products consumed it as if they were third parties. This wasn't just good architecture—it was a compliance decision. When you're handling financial transactions, you need clear separation of concerns and complete auditability. Every request logged, every response traceable.
Results:
- 4-month migration while maintaining production
- Team independence: deploys became 10x faster
- Organizational clarity: Core operated as internal product team
- Audit-ready: every request logged, every data owner clear
Scaling architecture is about scaling teams. The best technical decisions enable organizational ones.








