The Complete System Design Curriculum — 100 Articles to Master Architecture
We've published 100 articles on system design. This page organizes them into a structured curriculum — whether you're preparing for interviews, designing your first distributed system, or leveling up as a senior engineer.
How to Use This Curriculum#
Beginner (0-2 years): Start with Fundamentals, then Patterns, then Interview Prep. Mid-level (2-5 years): Focus on Infrastructure, Data, and Security. Senior+ (5+ years): Deep dive into Advanced Patterns, Real-Time, and Tools.
1. Fundamentals#
Start here. These concepts underpin everything else.
- How to Design a System Architecture: Step-by-Step Guide — The 6-step process for any system
- Distributed Systems Fundamentals — CAP theorem, consistency models, consensus, failure modes
- CAP Theorem Explained Simply — The trade-off every distributed system faces
- Consistent Hashing Explained — How to distribute data across nodes
- Database Indexing Explained — B-trees, hash indexes, and when to use each
2. Architecture Patterns#
The building blocks of modern systems.
- Microservices vs Monolith: When to Use Which — Decision framework with real examples
- Event-Driven Architecture Complete Guide — Event sourcing, CQRS, sagas, Kafka vs RabbitMQ
- Serverless Architecture Patterns — Lambda, Edge Functions, when NOT to go serverless
- API Gateway Patterns — Auth, rate limiting, routing, circuit breaking
- Backend Architecture Patterns Guide — MVC, clean architecture, hexagonal, DDD
- API Design Best Practices — REST, GraphQL, versioning, error handling
- Circuit Breaker Pattern Explained — Prevent cascade failures
3. Infrastructure#
How to build and run production systems.
- Load Balancer Types & Algorithms — L4 vs L7, round robin to consistent hashing
- Database Scaling: Sharding, Replication & Partitioning — The 7-level scaling ladder
- Container Orchestration: K8s vs Swarm vs ECS — When to use each orchestrator
- Infrastructure as Code: Terraform vs Pulumi — IaC comparison, state management, modules
- CI/CD Pipeline Design — GitHub Actions, deployment strategies, security scanning
- CDN & Edge Computing Guide — Content delivery, edge caching, Cloudflare Workers
- Choosing the Right Database — SQL vs NoSQL vs NewSQL decision framework
- Caching Strategies Every Developer Should Know — Cache-aside, write-through, invalidation
4. Security#
Build systems that don't get hacked.
- Zero Trust Architecture — mTLS, microsegmentation, BeyondCorp
- Authentication Patterns: OAuth & JWT — Token-based auth, refresh flows, session management
- Service Mesh: Istio vs Linkerd — Sidecar proxies, mTLS, traffic management
5. Data Engineering#
Move, transform, and analyze data at scale.
- Data Pipeline Architecture — Batch, streaming, ETL vs ELT, modern data stack
- Data Pipeline Architecture Guide — Building reliable data workflows
6. Real-Time Systems#
Build systems that respond instantly.
- WebSocket & Real-Time Architecture — Chat, gaming, dashboards, collaboration, scaling
7. Observability & Operations#
Keep systems running and debug when they don't.
- Observability vs Monitoring — Metrics, logs, traces, OpenTelemetry, SLOs
8. Interview Preparation#
Ace the system design interview.
- Top 15 System Design Interview Questions — Easy to Hard with trade-offs
- AI System Design Interview Prep — How to approach design questions with AI tools
- Architecture Coach — 8 guided practice challenges
9. Tools & Productivity#
Tools that make architecture work easier.
- Best Architecture Diagram Generators 2026 — 7 tools compared
- Why Every Engineer Needs a System Design Tool — ROI for individuals, teams, and orgs
- AI System Design: From Prompt to Production — How AI transforms system design
- Best System Design Tools 2026 — Comprehensive tool landscape
Practice Resources#
Beyond the articles, Codelit.io offers hands-on practice:
- 100 Product Specs — Uber, Netflix, Stripe, and more with full PRD framework (NFRs, milestones, acceptance criteria)
- 90+ Architecture Templates — Interactive diagrams you can explore and modify
- Architecture Coach — 8 guided challenges from URL Shortener to Search Engine
- 7 Audit Tools — Security, compliance, performance, cost, vulnerability, code quality, load test
Start Now#
- Pick your level from the curriculum above
- Read one article per day (they're 5-10 min each)
- Practice on Codelit.io — generate diagrams for each topic you learn
- Build something — apply the patterns to a real project
Start designing at codelit.io — describe any system, get an interactive architecture diagram, export as code.
The first 100 articles of a free system design library, alongside product specs and templates — explore it all at codelit.io.
Try these templates
Uber Real-Time Location System
Handles 5M+ GPS pings per second using H3 hexagonal geospatial indexing.
6 componentsNetflix Video Streaming Architecture
Global video streaming platform with adaptive bitrate, CDN distribution, and recommendation engine.
10 componentsE-Commerce Checkout System
Production checkout flow with Stripe payments, inventory management, and fraud detection.
11 componentsContinue learning
Go deeper on system design
As an Amazon Associate I earn from qualifying purchases. Codelit may receive a commission at no extra cost to you.
Building Microservices
Sam Newman · 2021
600 pages on splitting a monolith: service boundaries, data decomposition, migration order.
Designing Data-Intensive Applications
Martin Kleppmann, Chris Riccomini · 2026
Traces replication, consistency and consensus end to end, with the failure modes behind each choice.
3.6 (196)#1 in Data MiningSoftware Architecture: The Hard Parts
Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani · 2021
Works through service granularity, distributed data and saga patterns as full trade-off case studies.
4.6 (731)#2 in Software Design ToolsElements of Programming Interviews in Python
Adnan Aziz, Tsung-Hsien Lee, Amit Prakash · 2016
250 problems worked in runnable Python, with variants showing how a follow-up question moves.