
Monolith Architecture means your entire application runs as a single unit—one codebase, one database, one deployment. Opposite of microservices (split into many services). Monoliths are simpler: easier to develop, test, deploy, debug. Most successful startups started as monoliths—Shopify, GitHub, Basecamp still run monoliths. "Modular monolith" (well-organized code) scales better than poorly-designed microservices. Only move to microservices when monolith becomes painful.
Start with a monolith for every new project. It's simpler, faster to build, easier to reason about. Keep monolith until you have 20+ engineers, clear service boundaries, or different scaling needs per component. Well-designed monoliths can serve millions of users (Shopify, Stack Overflow). Only split when organizational or technical constraints force it. Microservices are for scale problems, not first principles.
System Design Patterns