System Design Tutorial

Learn how the systems behind modern applications are designed and built. Explore the principles of scalability, reliability, and communication that help software perform as it grows.

All System Design lessons

25 lessons, in the order we recommend taking them.

Start with lesson 1
  1. 1Introduction
  2. 2Client-Server
  3. 3Networking
  4. 4Load Balancing
  5. 5Scalability Concepts
  6. 6Caching
  7. 7DB: Fundamentals
  8. 8DB: Scaling
  9. 9NoSQL Databases
  10. 10CAP Theorem
  11. 11Message Queues
  12. 12Microservices Architecture
  13. 13Distributed Systems
  14. 14Data Storage
  15. 15Security
  16. 16Reliability
  17. 17Monitoring
  18. 18API Design
  19. 19Search Systems
  20. 20Data Processing
  21. 21Containerization & K8s
  22. 22Cloud Architecture
  23. 23Design Principles
  24. 24Capacity Planning
  25. 25Interview Framework

Keep going