System Design Academy

repository·main·Indexed 12 days ago

https://github.com/systemdesign42/system-design-academy

An educational repository for mastering system design through five primary tracks: real-world case studies from companies like AWS and Stripe, fundamental technology deep-dives (distributed systems, API networking, and storage), interview preparation frameworks, AI engineering (RAG, LLM design, and AI agents), and foundational software white papers such as Amazon Dynamo and Google Spanner.

Tokens
1.3K
Snippets
0
Records
6
Agent score
49%

What's inside System Design Academy

  1. Overview of System Design Academy

    main

    System Design Academy is a structured repository for learning system design through various lenses. It is organized into five primary learning tracks:

    1. System Design Case Study: Analysis of real-world system designs from various companies.
    2. System Design Fundamentals: Deep dives into the core technologies and principles that underpin distributed systems.
    3. System Design Interview: Resources and patterns specifically curated for preparing for system design interviews.
    4. AI Engineering: Content focused on the intersection of AI and system architecture.
    5. Software White Papers: A collection of influential software white papers for advanced study.
  2. Explore System Design Fundamentals and Technologies

    main

    The System Design Academy provides a curated collection of resources covering fundamental technologies and concepts required for system design. These resources are categorized alphabetically by technology name and cover topics such as:

    • API & Networking: API Gateways, Load Balancers, Reverse Proxies, DNS, HTTPS, HTTP Headers, and Webhooks.
    • Distributed Systems: Consistent Hashing, Gossip Protocols, Service Discovery, Hinted Handoff, and Distributed Systems deep dives.
    • Data & Storage: Bloom Filters, Quotient Filters, Redis use cases, and Database security.
    • Architecture Patterns: Microservices, Micro Frontends, Cell-Based Architecture, Sidecar Pattern, and Modular Monoliths.
    • Infrastructure & Scaling: Docker, Kubernetes, Kafka, CDN, and Rate Limiting strategies.
    • Frontend & Mobile: Frontend system design concepts and Mobile system design concepts.
  3. Explore AI Engineering resources

    main

    The System Design Academy provides a curated collection of deep-dive resources for AI Engineering, categorized by specific technical domains. Key areas of study include:

    • AI Agents: Understanding how agents work, designing custom agents, agentic design patterns, and multi-agent architectures.
    • Context & Prompt Engineering: Exploring context engineering vs. prompt engineering and AI coding workflows.
    • LLM & Model Design: Learning about LLM concepts, fine-tuning small language models (Vertical Small LLM), and LLM evaluation concepts.
    • Architectures & Infrastructure: Deep dives into RAG (Retrieval-Augmented Generation), Vector Databases, MCP (Model Context Protocol), AI Infrastructure, and Graph-Shaped Memory for agents.
    • Specialized Systems: Designing GenAI systems from scratch, Knowledge Q&A systems, and AI Research Agents using MCP.
  4. Prepare for System Design Interviews

    main

    The repository contains structured guidance and case studies for navigating system design and behavioral interviews.

    Interview Frameworks

    Case Study Practice

    Practice designing large-scale systems using these specific examples:

    • Consumer Apps: Airbnb, ChatGPT, Spotify, WhatsApp, and YouTube.
    • Infrastructure/Services: Amazon S3, Web Crawlers, and Search Engines.
    • Frontend Deep Dives: Twitter/X Timeline.
  5. Explore Software White Papers

    main

    The repository includes links to foundational software architecture white papers for studying large-scale distributed systems:

    • Amazon Dynamo: Architecture of the Dynamo distributed storage system.
    • Google Spanner: Architecture of the globally distributed database.
    • Meta Serverless Architecture (XFaaS): Insights into Meta's serverless implementation.
  6. Explore System Design Case Studies by Company

    main

    The System Design Academy provides a curated collection of real-world case studies detailing how major technology companies architect, scale, and maintain their systems. These studies cover various domains including real-time communication, distributed databases, microservices, and high-availability infrastructure.

    Key topics available through these case studies include:

    • Real-time Systems: Leaderboards, live comments, presence platforms, and real-time collaboration (e.g., Canva, Discord).
    • Scalability & Infrastructure: Scaling to millions of users (AWS, GCP, Instagram), database sharding (Quora), and load balancing (Facebook).
    • Cloud Services: Deep dives into Amazon S3 (durability, consistency, architecture), AWS Lambda, and S3 architecture.
    • Distributed Patterns: Saga design patterns (Halo), Actor models (PayPal), and Idempotent APIs (Stripe).
    • Data Management: MySQL sharding, Postgres scalability (Cloudflare, Figma), and database migration strategies (Tumblr).
    • Communication Protocols: HTTP streaming (Airbnb), Protocol Buffers (LinkedIn), and RSocket (Canva).
    • High-Availability & Resilience: Chaos engineering (Netflix), cache consistency (Meta), and rate limiting (Stripe).

    Users can browse these studies categorized alphabetically by company name to understand specific engineering decisions made by industry leaders.