System design
Application architecture patterns
Understand how modern systems are structured — with diagrams, key components, tradeoffs, and guidance on when each pattern fits your team and scale.
Foundational
Core structural patterns most teams start with
Monolithic
One deployable unit for the whole application
All business logic, APIs, and UI live in a single codebase and deploy together. Simple to build and operate early on; can evolve into modular monolith before splitting services.
Layered (N-Tier)
Separate concerns into horizontal layers
Organizes code into presentation, application, domain, and infrastructure layers. Each layer depends only on layers below it, improving maintainability without distributing the system.
Modular Monolith
One deployment with strict module boundaries
A single deployable artifact divided into well-bounded modules that communicate through explicit APIs, not shared database tables. A stepping stone before microservices.
Client–Server (Three-Tier)
Clients talk to an application server backed by a database
Classic web and mobile pattern: presentation on the client, business logic on app servers, persistence in a relational or NoSQL database. Still the default for most products.
Distributed systems
Patterns for scaling teams and services independently
Integration
How services communicate and stay loosely coupled
Event-Driven
Services react to facts instead of calling each other directly
Producers publish domain events to a broker; consumers process asynchronously. Improves decoupling and resilience at the cost of eventual consistency and more complex debugging.
Service-Oriented (SOA)
Reusable enterprise services with explicit contracts
Predates microservices: coarse-grained services exposed via ESB or SOAP/REST, often shared across departments. Emphasizes reuse and governance; can become bottlenecked by central buses.
Cloud & serverless
Managed infrastructure and pay-per-use models
Data architecture
How reads, writes, and events are modeled
Frontend
How user interfaces are composed and delivered