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