Concept
The Core Trade-off
It is an organizational decision, not just a technical one
The monolith-vs-microservices choice is fundamentally about where you pay your complexity. A monolith concentrates complexity inside one codebase that is simple to run but gets harder to change as it grows. Microservices push complexity into the network and operations — many small, simple services that are hard to coordinate.
Neither is inherently better. The right answer depends on team size, scale, and how fast different parts of the system need to evolve independently. A strong interview answer never says microservices are modern, monoliths are legacy. It reasons about the specific constraints.
- Monolith — one deployable unit; coupling is cheap to write but expensive to scale across teams.
- Microservices — many independently deployable units; decoupling buys autonomy at the cost of distributed-systems overhead.
- Default advice — start with a well-structured (modular) monolith; extract services only when a real pain point justifies it.