Table of Contents
Solution Architecture: Building Blocks & Patterns
How software systems are built, piece by piece.
What Is a Software System?
Every application — a food delivery app, an online bank, a streaming platform — is made up of building blocks connected together following a pattern.
- Building blocks = the components (frontend, database, cache, etc.)
- Patterns = how you arrange and connect them (monolith, microservices, etc.)
- Architecture = the decisions about which blocks to use, which pattern to follow, and what trade-offs you accept
There is no "correct" architecture. Only trade-offs.
Part 1: The Building Blocks
No system uses all of them. Knowing when to reach for each one is more important than knowing what they are.
Frontend → What the user sees
- Web apps (React, Vue, Angular), mobile apps (iOS, Android), desktop apps
- Talks to the backend via APIs
- A single system can have multiple frontends — e.g. a customer app, an admin dashboard, and a staff tablet view — all sharing the same backend