A monolith is a software architecture in which the entire application—including frontend logic, backend logic, and data-handling components—lives in a single, unified codebase and deployment. All features share the same runtime, the same database, and the same release cycle. Monoliths are simple to start with because everything is in one place, but they can become harder to maintain as the codebase grows and teams expand.
Why it matters
Monoliths offer simplicity, performance, and ease of debugging in early stages of a project. However, as systems scale, monoliths may suffer from slow deployments, tight coupling, and decreased developer velocity. Understanding monoliths helps teams make informed decisions when evolving toward modular or microservices architectures.
Examples
A single Rails or Django application handling all user flows, API routes, and background jobs in one codebase. Lessons like What Is a Monolith? explain advantages and trade-offs.