System Design
44 courses 2 categories
System design is the discipline of putting services, data stores, queues, caches, and clients together so that the resulting system meets its functional requirements at the load and latency it actually has to handle. The topic covers both the backend side (sharding, replication, consistency, distributed transactions, queue-based decoupling) and the frontend side (client-side caching, rendering strategies, CDN architecture, asset delivery) — two distinct skill trees that share vocabulary but solve different problems.
The 2026 reality is that most production systems are converging on a small set of patterns. CDN in front, an API gateway or load balancer, stateless application servers, a primary relational database with read replicas, Redis for cache and ephemeral state, an object store for blobs, a queue (SQS, Kafka, RabbitMQ) for async work, and observability with OpenTelemetry feeding into Grafana or Datadog. The interesting decisions are no longer "Postgres or Mongo" but "where exactly does the read split happen," "what is idempotent vs not," and "how does this system behave when a region goes dark."
What you'll find under this topic
- Scaling patterns: horizontal vs vertical, sharding, read replicas, write-through cache
- Distributed systems fundamentals: CAP, consensus, leader election, quorum reads
- Caching strategies: cache-aside, write-through, write-behind, invalidation problems
- Async architecture: queues, event streams, outbox pattern, sagas
- Frontend system design: render strategies, asset pipelines, edge compute, CDN tiers
- Reliability: retries, circuit breakers, timeouts, bulkheads, graceful degradation
- Capacity planning: back-of-envelope estimation, load tests, headroom budgeting
System design shows up twice in most senior engineers' careers: in the interview loop (where it is one of the highest-signal rounds at any FAANG-tier company) and on the job, every time a feature outgrows its original architecture. The patterns transfer across employers because the physics underneath — network latency, disk seeks, queue saturation — do not change.
Categories (2)
Courses (44)
Showing 1 – 30 of 44 courses
NewBy: Design GurusThe original course on system design from Educative by DesignGurus. Real cases, frameworks, and videos will help prepare for interviews at FAANG and other compa15 hours 19 minutes 39 seconds
Updated 1mo agoBy: Oz Nova (CS Primer)Discover the world of distributed systems - a dynamic field where the evolution of multiple computers has transformed both quantity and distribution.19 hours 12 minutes 22 seconds
Updated 2mo agoBy: Shivang SarawagiLearn the fundamentals of software and web application architecture design. The course is suitable for beginners and helps you become a full-stack developer.
Updated 3mo agoBy: Shivang SarawagiPractical study of designing common web services like Netflix and Facebook. Suitable for developers, architects, and managers.
Updated 4mo agoBy: Michael GuayIn this lesson, you will explore in detail how Module Federation helps create a microservices architecture for the frontend .1 hour 20 minutes 26 seconds
Updated 6mo agoBy: takeUforward (Striver)The course is dedicated to Low-Level Design (LLD) - a key stage in software development where abstract ideas and architectural decisions are transformed into.22 hours 34 minutes 32 seconds
Updated 7mo agoBy: Dave FarleyUnlock the power of microservices with our comprehensive masterclass. While microservices offer an approach to building scalable software.3 hours 25 minutes 47 seconds 5 / 5
Updated 7mo agoBy: Backpine LabsThis is a practical training where you will learn full-stack development of SaaS applications based on Cloudflare Workers step by step.11 hours 27 minutes 15 seconds 5 / 5
Updated 8mo agoBy: UdemyWe are entering an era in software engineering where we rely on libraries and frameworks to do most of our work. While this is useful and save tremendous dev ho18 hours 6 minutes 23 seconds 5 / 5
Updated 9mo agoBy: Arpit Bhayani"System Design for Beginners" is a course for beginners in a convenient self-paced format.12 hours 2 minutes 41 seconds 3 / 5
Updated 9mo agoBy: Prashant Yadav (LearnersBucket)Become the Alpha frontend engineer by designing 30+ distinct web applications and all the fundamentals. Learn the advanced concepts, strategies, techniques, and5 / 5
Updated 11mo agoBy: Sandi MetzPractical Object-Oriented Design I (POOD-I) is a comprehensive course suitable for both beginners and experienced developers interested in honing their.11 hours 49 minutes 53 seconds
Updated 11mo agoBy: Logic RoomA series of group coaching sessions, guidance from a coach, answers to questions, and support throughout the course "Academy of UI Architecture."20 hours 50 minutes 44 seconds
Updated 11mo agoBy: Logic RoomWelcome to the "Academy of UI Architecture" , a comprehensive 12-module program designed to empower you with the skills to develop, test.21 hours 37 minutes 23 seconds 5 / 5
Updated 11mo agoBy: Mirdin, Nils Eriksson, Jimmy Koppel (Mirdin)The Advanced Software Design Course is a program with 6 main modules aimed at improving software design skills.11 hours 23 minutes 41 seconds
Updated 1y agoBy: Yan CuiThe Production-Ready Serverless course teaches how to build resilient and scalable serverless applications, ready for production deployment. It.13 hours 37 minutes 6 seconds 5 / 5
Updated 1y agoBy: Fullstack.ioThis course provides a detailed examination of using the dotenv module for managing environment variables in JavaScript.1 hour 53 minutes 25 seconds
Updated 1y agoBy: UdemyIn this practical course, you will learn how to architect real-life systems, that scale to millions of daily users, as well as process and store petabytes of da6 hours 57 minutes 25 seconds
Updated 1y agoBy: UdemyThis comprehensive course covers a wide range of software architecture topics, including component-oriented patterns, Single Page Application.4 hours 21 minutes 43 seconds
Updated 2y agoBy: Level Up Tutorials (Scott Tolinski)Web Components are a set of features that provide a standard component model for the Web[1] allowing for encapsulation and interoperability of individual HTML e3 hours 1 minute 52 seconds
Updated 2y agoBy: PluralsightAnyone can write code a computer can understand, but professional developers write code *humans* can understand. Clean code is a reader-focused development styl3 hours 10 minutes 36 seconds
Updated 2y agoBy: PluralsightMicrosoft Orleans, the Virtual Actor Framework developed by Microsoft Research is ideal for building distributed high scale systems with C#.1 hour 45 minutes
Updated 2y agoBy: PluralsightThere are a lot of misconceptions around the CQRS pattern, especially when it comes to applying it in real-world software projects. In this course, CQRS in Prac4 hours 22 minutes 58 seconds
Updated 2y agoBy: UdemyBecoming a Software Architect is the holy grail for almost all developers. Great salary, working with management, dealing with the up-to-date technologies and p5 hours 44 minutes 32 seconds
Updated 2y agoBy: UdemyIn this course, we’re going to learn how to Design Microservices Architecture with using Design Patterns, Principles and the Best Practices with Iterate Design17 hours 26 minutes 52 seconds
FreeUpdated 2y agoBy: Udi DahanUdi Dahan is one of the world’s foremost experts on Service-Oriented Architecture, Distributed Systems and Domain-Driven Design. He's also the creator of NServi32 hours 22 minutes 8 seconds 5 / 5
FreeClassicBy: Arpit BhayaniA masterclass that helps you become great at designing scalable, fault-tolerant, and highly available systems. This is a prime and intermediate-level cohort-bas43 hours 13 minutes 49 seconds 4 / 5
Updated 2y agoBy: ArjanCodes (Arjan Egges)"The Software Designer Mindset" is a course that teaches all aspects of software architecture and offers practical advice on creating scalable software.14 hours 32 minutes 58 seconds
Updated 2y agoBy: ArjanCodes (Arjan Egges)The The Software Architect Mindset course teaches the fundamentals of software architecture and provides practical advice on creating software products that.12 hours 6 minutes 39 seconds 5 / 5
Updated 2y agoBy: ProgrammingExpert.ioProgramming languages are often classified based on their syntax, features, and execution models. This course introduces you to the idea of programming paradigm4 hours 36 minutes 7 seconds 5 / 5
Related topics
Frequently asked questions
- How important is system design for senior roles?
- Decisive. Almost every senior, staff, and principal interview loop includes one or two system-design rounds, and the bar rises steeply with level. Strong algorithmic skill is necessary but not sufficient; what differentiates senior offers is the ability to scope ambiguous problems, propose architectures, and discuss tradeoffs without hand-waving. Worth treating as a core skill, not an interview-only one.
- How do I learn system design without senior production experience?
- Read 'Designing Data-Intensive Applications', a handful of system-design-focused books and video courses, and especially real engineering blogs (Discord, Figma, Stripe, GitHub, Cloudflare, Notion). Build smaller systems end-to-end so the tradeoffs feel concrete rather than theoretical. Mock interviews with peers are essential — the gap between knowing and articulating is large.
- What topics come up most in system-design interviews?
- Load balancing, caching strategies, database scaling (read replicas, sharding, partitioning), CAP and consistency tradeoffs, message queues, rate limiting, geo-distribution, observability, the design of common products (news feed, chat, URL shortener, geo search, rate limiter, payment ledger). Senior loops also test schema design, capacity estimation, and incident handling.
- Do I need to memorise specific numbers (latency, QPS)?
- Useful to know the order of magnitude — disk vs RAM vs network, single-node QPS for common systems, rough latency for cache hits versus database calls. Interviewers don't expect exact figures, but they do expect you to estimate capacity and bandwidth at the right scale. Jeff Dean's classic 'latency numbers' list is worth internalising.
- System design vs distributed systems theory — what's the difference?
- System design is the applied interview-and-practice skill of architecting real products. Distributed systems theory is the academic underpinning — consensus protocols, formal consistency models, failure detectors. Theory makes you sharper at design and is required for some specialist roles, but most senior interviews focus firmly on the applied tier.
Top instructors in System Design
Authors with the most System Design courses on CourseFlix.