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
All code in one application