System designInterview preparation
Intermediate·Concept·2 min read

Monolith vs modular monolith vs microservices?

Practice this question

Definition:

A monolith is deployed as one application, a modular monolith keeps clear internal feature boundaries within that deployment, and microservices are independently deployable services. These choices affect how teams change code, scale workloads and handle failure. Microservices reduce some coupling but introduce network calls, distributed data and operational coordination.

Key points:

  • Monolith: one deployable application; simple to start and operate.

  • Modular monolith: one deployment with clear feature boundaries.

  • Microservices: independent deployments and scaling, with more network and operational complexity.

  • A small team can often enforce useful domain boundaries without separate deployments or databases.

Interview point:

  • Give a specific scaling or ownership reason before choosing microservices; size alone is not a complete argument.
Adapted from 07_SYSTEM_DESIGN_ARCHITECTURE.md · “Monolith vs modular monolith vs microservices?”. Code examples are study fragments. Difficulty and core labels are editorial estimates; version-specific behavior should be checked against your project.