System Design Fundamentals
4 lessons · 2 hours of content · advanced level · English · certificate of completion
Learn how large-scale systems are designed — scalability, availability, caching, databases, messaging and API design — with freeCodeCamp's System Design for Beginners course and the open-source System Design Primer.
What you'll learn
- Explain vertical vs horizontal scaling
- Use load balancers, caches and CDNs
- Choose between SQL and NoSQL databases
- Reason about consistency, availability and trade-offs
Course content
Getting started
- Course overview
Video lessons
- System Design for Beginners — full course (freeCodeCamp.org)
Official resources
- The System Design Primer (GitHub)
Practice
- Practice quiz