Glossary · Web Development

Monolith

MON-uh-lithnoun

A monolith is an application built and deployed as one single, unified codebase.

Part of speech
noun
Pronunciation
MON-uh-lith
Origin
From Greek 'monos' for single and 'lithos' for stone, meaning one large block. In software it describes an app built as a single unit.

What is Monolith?

A monolith is an application built, deployed, and run as one single, unified codebase. All of its functionality, from the user interface to the business logic to the database access, lives together in one program that is developed as a whole and shipped as a whole. When a team updates any part of a monolithic application, they typically build and deploy the entire thing at once. This is the traditional and still very common way to build software, and for many projects it remains the most sensible starting point.

The name comes from the Greek roots "monos," meaning single, and "lithos," meaning stone, together suggesting one large block carved from a single piece. In software the metaphor is apt: a monolith is one cohesive unit rather than an assembly of separate parts. Everything shares the same code repository, the same runtime process, and often the same database, and the different sections of the application call each other directly through internal function calls rather than over a network.

Mechanically, this tight integration is both the strength and the weakness of the approach. Because all the code runs together in one process, communication between different parts of the application is fast and simple, there are no network hops between components, and the whole system can be tested and reasoned about in one place. Development is straightforward early on: one codebase to clone, one application to run locally, one deployment to manage. As long as the application stays a manageable size, a monolith is usually the fastest and cheapest way to build and operate.

For a business, the monolith matters because it is frequently the pragmatic choice, especially for new products and small teams. It lets a company move quickly without the operational overhead of running many separate services, and it avoids the distributed-systems complexity that comes with splitting an application apart. A startup can build, launch, and iterate on a monolith with a handful of developers and simple infrastructure. Many large, successful websites still run on monolithic architectures because the simplicity pays dividends every single day.

The nuances appear as an application and its team grow. A very large monolith can become hard to change: a single big codebase may slow down builds, make it risky to deploy because every change ships together, and force many developers to coordinate closely to avoid conflicts. Scaling can be inefficient too, because you must duplicate the entire application to add capacity even if only one feature is under heavy load. These pressures are what lead some organizations to break a monolith into microservices, trading simplicity for independence. A common mistake, though, is reaching for microservices too soon, adopting their complexity before the monolith's limits are actually being felt. The monolith relates directly to microservices as its architectural opposite, and to tools like containers and components that shape how either style is packaged and organized. For many businesses, a well-structured monolith is not a compromise but the right answer for a long time.

Why it matters

A monolith is often the right, faster starting point, but knowing its limits helps teams plan when to break it into services.