Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

System Design Masterclass

Packt via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off
One plan covers every Professional Certificate on Coursera.
Unlock All Certificates
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. In this masterclass, you'll learn how to design large-scale systems used by top companies like Instagram, WhatsApp, and YouTube. You'll master system design principles, including defining requirements, estimating capacity, and creating scalable, reliable architectures. Through case studies and hands-on exercises, you'll develop a repeatable framework for approaching system design challenges, from API design to database selection. You'll explore how to estimate storage, memory, throughput, and bandwidth, and design APIs for key actions like posting, liking, and messaging. The course will guide you through real-world scenarios, helping you make critical design decisions and ensuring your solutions are scalable, fault-tolerant, and efficient. This course is ideal for experienced engineers, system architects, or developers with strong understanding of software architecture, and familiarity with cloud computing and databases. By the end, you’ll be prepared to confidently design high-traffic, reliable systems and tackle system design interviews.

Syllabus

  • Introduction
    • In this module, we will introduce you to the course structure, providing a roadmap for mastering system design interviews. You will familiarize yourself with the core learning path, including the key frameworks and templates used throughout. This foundational knowledge will empower you to approach case studies with confidence and efficiency.
  • Design Instagram Newsfeed
    • In this module, we will dive deep into the design of an Instagram-like newsfeed system. You'll start by defining requirements and estimating the capacity needed to handle large-scale traffic and user interactions. From there, we will walk you through API design, storage solutions, and high-level architectural decisions that optimize performance, scalability, and user engagement.
  • Design Youtube / Netflix
    • In this module, we will focus on building the architecture for a video streaming service like YouTube or Netflix. From defining functional requirements to estimating capacity and designing APIs, we will cover the key components needed to handle large-scale video uploads, playback, and content delivery. You will also gain insights into media processing pipelines to optimize video streaming performance.
  • Design TinyURL
    • In this module, we will explore the design of a TinyURL-like service, focusing on core functionalities such as link shortening, redirection, and analytics tracking. You will learn how to design robust and scalable APIs for URL generation and resolution, along with capacity estimation techniques to handle large volumes of user-generated links.
  • Design Rate Limiter
    • In this module, we will cover the design of a rate-limiting system, focusing on controlling traffic and preventing service overload. You'll learn to define and estimate the capacity needed for high-throughput systems while applying various rate-limiting algorithms to ensure fairness and stability across services.
  • Design Whatsapp
    • In this module, we will design a messaging system similar to WhatsApp, focusing on the core features of messaging, presence tracking, and media sharing. You will learn how to design APIs that handle both direct and group messaging at scale, while also estimating the system's capacity to support high concurrency and data storage requirements.
  • Design Search Systems
    • In this module, we will dive into the design of a search system, covering everything from query parsing to indexing and ranking. You'll learn to estimate the capacity required for handling high query volumes while designing a distributed architecture that ensures fast and relevant search results.
  • Design Airbnb
    • In this module, we will focus on designing the architecture for a platform like Airbnb, covering critical features such as property listings, bookings, and search functionality. You'll learn to design APIs that ensure availability and scalability while estimating the system's capacity to handle large amounts of user data and transactions.
  • Design Notification System
    • In this module, we will design a notification system capable of handling high-throughput, real-time alerts across multiple channels. You will learn to define requirements, estimate capacity for mass notifications, and implement a reliable and scalable architecture for event-driven message delivery.
  • Design Distributed logging
    • In this module, we will design a distributed logging system for high-throughput environments. You will learn how to build a scalable log collection pipeline, from ingestion and parsing to storage and query services, ensuring efficient log indexing and real-time querying.
  • Appendix - The Ultimate System Design Template
    • In this module, we will provide you with a comprehensive system design template, covering key architectural patterns and design principles. You will explore core components like databases, caching, and load balancing, learning how to scale and design resilient, high-performance systems.
  • Appendix - Design Goals Buzzwords
    • In this module, we will explore key design goals such as scalability, availability, and consistency. You will gain insights into fault tolerance and learn how to implement strategies to ensure reliable, performant systems while understanding the trade-offs between them.
  • Appendix - Networking Buzzwords
    • In this module, we will explore networking concepts essential for system design. You'll gain a deep understanding of protocols, IP addressing, and DNS, and learn how to apply these concepts to optimize system performance and reliability.
  • Appendix - Communication Buzzwords
    • In this module, we will dive into communication protocols like GraphQL, gRPC, and REST. You will explore how each protocol is used in modern systems and learn best practices for implementing them in a scalable, efficient manner.
  • Appendix - Database & Storage Buzzwords
    • In this module, we will explore core database and storage concepts, covering both SQL and NoSQL systems. You'll learn how to select the right storage options for your use case and apply scaling strategies to ensure your databases perform efficiently at scale.
  • Appendix - Caching Deep Dives
    • In this module, we will dive deep into caching strategies, including read and write caching. You'll learn when and how to apply these techniques to optimize system performance, reduce latency, and handle large-scale user traffic efficiently.
  • Appendix - Extra Buzzwords
    • In this module, we will explore key concepts in cloud computing, logging, and monitoring, focusing on how these technologies influence modern system design. You will learn how to leverage cloud services for scalable systems and track system performance effectively.
  • Common FAQs
    • In this module, we will address common FAQs related to database indexing, capacity estimation, and popular technologies like Apache Kafka and GraphQL. You will gain practical insights into these concepts and how they fit into modern system design.

Taught by

Packt - Course Instructors

Reviews

Start your review of System Design Masterclass

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.