Monolith
Noun · Development
Definitions
A software application built as a single, unified unit where all components share the same codebase and deploy together. Once the default, now sometimes used pejoratively — though many successful companies run monoliths just fine.
In plain English: A single, large application where everything is built together in one codebase — simpler to start with, but can become unwieldy as it grows.
Etymology
- c. 3000 BCE
- From Greek monolithos (single stone) — ancient cultures erected monoliths as monuments and boundary markers
- 1970s
- Software architecture borrows the term for systems where all components are tightly coupled in a single deployable unit
- 2014
- Martin Fowler and James Lewis contrast monoliths with microservices, making 'monolith' sound like a problem to solve