Monolith

Noun · Development

Definitions

  1. 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

Related Terms