Choosing Between a Monolith and Microservices
What trade-offs would you consider when choosing between a monolithic architecture and microservices? When would you choose each?
what they're testing: The interviewer is probing whether you can match deployment boundaries to team ownership and system constraints while accounting for distributed-systems costs.
Choose based on the deployment boundaries the system and teams need, not on whether one style sounds more modern. A monolith keeps the application in one deployable unit. That usually makes local calls, end-to-end testing, and transactions simpler. The trade-off is that releases affect the whole unit, and scaling normally means adding copies of the whole application. Unrelated teams and workloads can start blocking each other as the system grows.
Microservices split business capabilities into independently deployable services. Teams can release and scale busy services separately, choose storage per service, and isolate some failures. Those benefits depend on sound boundaries and callers that handle partial failure. Network calls add latency and new failure modes. Service-owned data makes cross-service consistency harder, while deployment, observability, versioning, and testing require stronger automation.
For a small team or an uncertain domain, a modular monolith is usually the cleaner starting point. It keeps firm module boundaries without paying the distributed-systems cost. Microservices become attractive when stable business boundaries exist and independent ownership, release cadence, scaling, or failure isolation solves a real bottleneck. Traffic alone is not decisive: a monolith can be replicated, but its components usually cannot be scaled independently.
Where people slip
the tempting wrong answer, and what's actually true
Microservices always scale better than a monolith.
Microservices let individual services scale independently, while a monolith can still scale horizontally by replicating the whole deployable unit.
A failed microservice is automatically isolated from the rest of the application.
Failure isolation only holds when callers are designed for partial failure with measures such as timeouts, circuit breakers, or asynchronous messaging.
Microservices should share one database schema so joins and transactions stay simple.
Each service should own its schema and share data through an API or events because shared tables couple deployments and schema changes.
Splitting a monolith into small services makes the overall system simpler.
Each service may become simpler, but the overall system gains service discovery, network, consistency, testing, and operational complexity.
If they push further
Would you start a new product as a monolith or as microservices?
Start with a modular monolith when the domain and boundaries are still moving. Start with microservices only when independent teams or known operational constraints already justify the extra platform work.
What signals tell you that a monolith should be split?
Look for stable business boundaries plus concrete pain: coordinated releases, one workload forcing whole-system scaling, conflicting reliability needs, or teams repeatedly changing the same deployment unit.
How do transactions change after moving to microservices?
Keep strongly consistent work inside one service boundary where possible. Cross-service workflows usually need events, durable workflow state, and compensating actions while accepting carefully defined consistency windows.
Sources
- Microsoft Learn: Microservices architecture style ↗learn.microsoft.com
- Microsoft Learn: Data considerations for microservices ↗learn.microsoft.com
- AWS Prescriptive Guidance: Decomposing monoliths into microservices ↗docs.aws.amazon.com
- Google Cloud: Making your monolith more reliable ↗cloud.google.com
Now answer it yourself.
Reading a strong answer is easy. Producing one under pressure is the skill the interview tests. Gapmap grades your answer against the same bar an interviewer would.
beta
The interviewer part is in the works.
The diagnostic, personal maps, and AI mock interviews are being finished right now. The notes stay free either way. Leave an email and you'll get the first-cohort invite, plus a month of Pro when it opens.