Glossary · architecture
Monolith
Definition
A monolith is an architecture where all application components (frontend, backend, data access layer) are developed as a single codebase and deployed as a single unit. Fast and simple to start; migrating to microservices is considered when scaling is needed.
Detailed explanation
Monolithic architecture was the default until the mid-2000s. All features run in the same application process, communicating via shared memory and direct function calls. One artifact to deploy.
When monolith? New project / MVP phase — microservice overhead isn't needed yet. Small-medium teams (3-8 people). 'Majestic Monolith' concept: modular but single deploy, maintainable without microservice complexity.
Monolith → Microservice migration: Strangler Fig pattern is most common — new features go to microservices, old code gradually decouples. Big Bang rewrites are risky; incremental decoupling is preferred.
Use cases
→MVP and startup's initial product
→Small-medium team software
→Internal (intranet) application
→Early-stage SaaS
→Fixed-scope enterprise application
Pros
- +Simple deployment (one artifact)
- +Fast development (monorepo, shared code)
- +Easier debugging (single process trace)
- +Low initial infrastructure cost
Cons
- −Scaling is hard (everything scales together)
- −Grows into a 'big ball of mud'
- −One failure can bring down the whole system
- −Restricted to one technology stack
Related terms
Related services
Planning a project around Monolith?
In a 30-minute discovery call we share a written architecture + cost + team recommendation tailored to your project.
Start a discovery call