System Design: System Design Fundamentals
Master System Design from scratch — system design fundamentals.
What you'll learn
By the end you can confidently apply System Design at a beginner level: system design fundamentals, with real, working code.
Who it's for
Developers learning System Design at a beginner level.
Prerequisites
A year or two of building software.
A structured, hands-on beginner course on System Design, taking you from scratch by building a design doc for a scalable system.
Curriculum
- 1
Defining System Requirements
3 min - 2
High-Level Architecture Diagramming
4 min - 3
Understanding DNS and Domain Resolution
4 min - 4
The Role of the Load Balancer
4 min - 5
Introduction to Client-Server Communication
4 min - 6
Choosing Between RDBMS and NoSQL
4 min - 7
ACID Properties in Relational Databases
4 min - 8
BASE Consistency Model
4 min - 9
Data Modeling for Scalable Systems
4 min - 10
Implementing Schema Migrations
4 min - 11
Caching Fundamentals
4 min - 12
Redis for Application Caching
4 min - 13
Cache Eviction Policies
3 min - 14
Measuring System Latency
4 min - 15
Cache Invalidation Strategies
4 min - 16
Designing RESTful APIs
4 min - 17
Synchronous vs Asynchronous Communication
4 min - 18
Introduction to Message Brokers
4 min - 19
Handling Background Tasks
4 min - 20
API Versioning and Documentation
4 min - 21
Vertical Scaling Strategies
4 min - 22
Horizontal Scaling and Load Distribution
4 min - 23
Database Replication
4 min - 24
Database Partitioning and Sharding
4 min - 25
Designing for Failure
4 min - 26
Implementing Circuit Breakers
4 min - 27
Idempotency in Distributed Systems
4 min - 28
Service Discovery
3 min - 29
Multi-node Deployment Planning
4 min - 30
Error Handling and Logging Patterns
4 min - 31
Securing Communication with HTTPS/TLS
Coming soon - 32
Rate Limiting and Throttling
Coming soon - 33
Authentication and Authorization
Coming soon - 34
Data Sanitization and Validation
Coming soon - 35
Monitoring System Health
Coming soon - 36
Distributed Tracing Basics
Coming soon - 37
Alerting and Incident Response
Coming soon - 38
Production Readiness Checklists
Coming soon - 39
Designing for Disaster Recovery
Coming soon - 40
Writing Post-Mortems
Coming soon - 41
Finalizing the Design Document
Coming soon - 42
End-to-End Prototype Integration
Coming soon - 43
Load Testing Your Prototype
Coming soon - 44
Analyzing Resource Bottlenecks
Coming soon - 45
Database Indexing Strategies
Coming soon - 46
Optimizing Network Communication
Coming soon - 47
Managing Secret Keys and Configuration
Coming soon - 48
Containerization Basics
Coming soon - 49
Introduction to Infrastructure as Code
Coming soon - 50
CI/CD Pipeline Fundamentals
Coming soon - 51
Handling Large Data Imports
Coming soon - 52
Distributed Locking
Coming soon - 53
Event-Driven Architecture
Coming soon