Fundamentals of DevOps and Software Delivery » FAQ

What's a monolith? What are microservices?

A monolith is a single deployable application containing multiple business capabilities, while microservices split capabilities into independently deployable services. Monoliths are often simpler early; microservices help scale team autonomy and system boundaries when complexity grows.

Practical guidance

  • Start with clear modular boundaries even if deploying as a monolith.
  • Move to microservices only when team and system scaling pressures justify it.
  • Invest in observability, testing, and deployment automation before decomposition.
  • Avoid distributed-system complexity unless it delivers measurable business value.

Relevant chapters from the book