Follow this blog

Software engineering, design, and psychology

It is Right to Start with a Monolith | Microservice Architecture — Ep. 9

Microservices have many benefits — but they are not a default choice for greenfield projects.

Monoliths have strong advantages that service-oriented approaches cannot offer:

  • the whole app is deployed as a single unit: if it compiles, cross-module integration is likely correct
  • development and refactoring are simpler: the compiler helps to track if changes are complete
  • cross-module calls are synchronous or close to synchronous, taking less than 1-10 milliseconds
  • testing is easier, with clear targets of integration and e2e tests
  • debugging is simpler: spin up the app locally, set breakpoints, attach a profiler — and you have the whole system for inspection

When monoliths are OK:

  • small projects
  • small teams
  • unclear domain
  • unclear scaling requirements

...basically, in most new projects.

Follow this blog
Send
Share