System Design

System Design For Beginners

Build the system design mindset from scratch. Learn scaling, databases, caching, queues, CDNs, reliability, and interview strategies through easy-to-follow lessons and hands-on labs.
Aditya Chauhan
Aditya Chauhan
Technical PM and Learning Designer
System Design For Beginners
Play Button
Fill this form to get a notification when course is released.
book
5
Lessons
book
Challenges
Article icon
52
Topics

What you’ll learn

Our students work at..

Description

This is a no-nonsense system design course for absolute beginners. This course focuses on building the thought process for system design. Asking the right questions and designing things logically rather than memorizing things.

This course builds a system around a photo-sharing app like Instagram for millions of users. Every lesson starts with some component breaking - either the server dies, a query takes 4 seconds, or the server logs everyone out, then covers the component that fixes it, and the new problem the newly added component creates.

Across multiple lessons, you'll build the full foundation: functional and non-functional requirements, scaling, load balancing and load balancers, SQL vs NoSQL, indexing to speed up the queries, caching, replication, sharding, CDNs and object storage, message queues, timeouts and retries, rate limiting, CAP theorem, and monitoring. Everything is covered in plain layman's language; you don’t need a math degree to understand this.

We also have hands-on labs if you want to experience some of the things we will discuss in this course: kill a live container and watch the load balancer route things to another container, turn that 4-second query into 12 milliseconds indexing, and promote a database replica after a failure.

We also cover Interview Bytes, showing how each topic appears in a system design interview - the question shape, the strong answer, and the trap.

If you can use a terminal and have some degree of perseverance, you're ready to start.

Read More

What our students say

Aditya Chauhan

About the instructor

Aditya is a Technical PM and Learning Designer at KodeKloud, he has led more than 50+ courses. With a background in computer science and a lifelong love for teaching, he has always found something deeply rewarding in sharing what he knows with others. Whatever the topic, he loves finding a way to break it down into simple concepts, so learning feels less like a struggle and more like a series of small, satisfying moments.

No items found.

Foundations & One Server

lock
16
Topics
Lesson Content

Module Content

Introduction00:37
What is System Design, Actually?05:00
HLD vs LLD - Where This Course Lives02:08
Interview Byte: Answer at the Right Altitude01:11
Functional vs Non-Functional Requirements03:24
Requirements Before Boxes04:02
Interview Byte: The First Five Minutes01:08
Monolithic vs Microservices03:54
Vertical vs Horizontal Scaling03:23
Interview Byte: Why Not Just Buy a Bigger Server?00:58
How a Request Actually Travels03:58
Load Balancers05:56
Stateless vs Stateful06:18
Interview Byte: The Random-Logout Question01:06
Two Containers Behind a Load Balancer00:46
Lab: Two Containers Behind a Load Balancer

Data: Reads and Writes

lock
17
Topics
Lesson Content

Module Content

Data Modeling06:54
SQL vs NoSQL05:19
Interview Byte: Which DB and Why?01:13
Indexes03:50
Fix the Slow Query00:23
Lab: Fix the Slow Query
Zoom Out and Revisit00:55
Caching04:11
Cache Invalidation & TTLs04:47
Interview Byte:Two Caching Questions01:31
Cache-Aside with Redis00:17
Lab: Cache-Aside with Redis
Replication06:24
Sharding04:29
Replication & Failover00:24
Lab: Replication & Failover
Zoom Out and Revisit01:09

Media, APIs, and Async Work

lock
8
Topics
Lesson Content

Module Content

The Upload Path05:16
CDNs and Object Storage07:02
APIs in Plain Words05:45
Real-Time: Polling vs WebSockets06:13
Message Queues05:33
Pub/Sub and Fan-Out03:48
Interview Byte: How Does the Feed Get Built?01:40
Lab: Message Queues with RabbitMQ

Failure, Protection, and Operations

lock
7
Topics
Lesson Content

Module Content

Single Points of Failure05:23
Timeouts, Retries, Idempotency07:42
Rate Limiting and Security Basics05:53
CAP Theorem Without the Math04:21
Interview Byte: Consistency or Availability - Per Data01:00
Monitoring 10106:47
Lab: Self-Healing and Rate Limiting (Kubernetes)

Put It All Together

lock
4
Topics
Lesson Content

Module Content

Back-of-Envelope Estimation06:18
Interview Byte: Make the Numbers Earn Their Place01:05
Lab: Capstone - Assemble the Photo App
Tell me what you think!
System Design For Beginners
Play Button
System Design For Beginners
Fill this form to get a notification when course is released.
This course comes with hands-on cloud labs
5
Modules
Lessons
52
Lessons
Course Certificate
02.65
Hours of Video
Hours of Labs
Story Format
Videos
Case Studies
Demo
Labs
Cloud Labs
Mock exams
Quizzes
Discord Community Support
Community support
English
Closed Captions
No items found.
System Design
close