System Design Tutorial 0/48 lessons ~6 min read Lesson 31

    Fault Tolerance & Redundancy

    Fault tolerance designs for component failure as normal — redundancy, health checks, automatic failover, and graceful degradation.

    Course progress0%
    Focus
    21 guided sections
    Practice signal
    Examples included
    Career prep
    Interview Q&A included

    Introduction

    Fault tolerance designs for component failure as normal — redundancy, health checks, automatic failover, and graceful degradation.

    The story

    Single AZ deployment lost an entire region during cloud outage — 4 hours down. Multi-AZ with auto-failover RDS and k8s pod rescheduling: next AZ blip caused 90 seconds blip, not hours.

    The business problem

    Teams that skip disciplined Fault Tolerance & Redundancy thinking pay in outages, cost overruns, and failed interviews:

    • Outages: components chosen without scale math fail at peak.
    • Cost: over-engineered microservices for 100-user products.
    • Latency: missing cache/CDN/replica on read-heavy paths.
    • Interviews: boxes without numbers and trade-offs don't hire.

    The problem teams faced

    This lesson addresses:

    • When and why Fault Tolerance & Redundancy matters in real architectures.
    • How to sketch components and data flows under interview time pressure.
    • Trade-offs vs alternatives — what senior engineers articulate aloud.
    • Production patterns and failure modes you've seen or will see.

    Understanding the topic

    Core idea: Fault Tolerance & Redundancy in production system design.

    • Problem — what force this topic addresses.
    • Building blocks — components typically involved.
    • Trade-offs — what you gain and what you pay.
    • Interview — how this appears in design loops.

    Internal architecture

    Fault Tolerance & Redundancy — system view:

    text
    Multi-AZ / multi-region redundancy
    Health checks + circuit breakers
    Graceful degradation (disable recommendations, keep checkout)
    Chaos engineering validates assumptions

    Visual explanation

    Three diagrams: architecture flow, design process, and scaling lens:

    Fault Tolerance & Redundancy architecture
    Fault
    Entry point
    Tolerance
    Core logic
    &
    Persistence
    Scale path
    Next bottleneck
    Component view — name each box in interviews.
    Design process
    Clarify scale
    QPS · storage
    Pick approach
    Trade-off
    Draw path
    One flow
    Failure mode
    What breaks?
    Repeat this loop for every system design question.
    Scale & reliability
    Bottleneck
    Find first
    Mitigation
    Cache · shard
    Measure
    SLI/SLO
    Iterate
    Phase 2
    Always close with how design evolves at 10× traffic.

    Informative example

    Example — Fault Tolerance & Redundancy:

    text
    N+1 redundancy: need 3 instances, run 4
    Bulkhead: thread pool per dependency — one slow API can't drain all
    Fallback: cached product list if catalog down

    Execution workflow

    1Fault Tolerance & Redundancy design workflow
    1 / 5

    Clarify requirements

    Functional scope + NFRs (scale, latency, consistency).

    5 minutes in interviews.

    Real-world use

    Used in production at major tech companies and every FAANG system design interview loop. Patterns align with AWS/GCP well-architected frameworks and Google SRE practice.

    Production case study

    Single AZ deployment lost an entire region during cloud outage — 4 hours down. Multi-AZ with auto-failover RDS and k8s pod rescheduling: next AZ blip caused 90 seconds blip, not hours.…

    • Context: production or interview scenario from this lesson.
    • Decision: component and trade-off choices explained.
    • Outcome: measurable latency, availability, or cost impact.

    Trade-offs

    • Pro: structured approach reduces outages and interview failures.
    • Con: upfront thinking takes time — faster than wrong rebuild.
    • Con: every product has unique constraints — adapt templates.

    Decision framework

    • Always estimate before drawing microservices.
    • Match consistency model to business domain (money vs likes).
    • Document rejected alternatives — ADR or interview closing.

    Best practices

    • State assumptions explicitly (DAU, read:write ratio).
    • Draw async vs sync paths with different line styles.
    • Close with monitoring and on-call failure modes.

    Anti-patterns to avoid

    • Jumping to Kafka and microservices without scale justification.
    • Single DB box with no read replica or cache on read-heavy design.
    • Ignoring idempotency on write APIs with retries.

    Common mistakes

    • Underestimating peak QPS (forgetting peak factor).
    • Hot shard from poor partition key choice.

    Debugging tips

    • Trace one request ID through diagram — find missing component.
    • Ask "what fails first at 10×?" for every design.

    Optimization strategies

    • Cache + CDN first for read-heavy; shard when single DB saturates.
    • Async queue for slow side effects (email, analytics).

    Common misconceptions

    • More components ≠ better design — simplest meeting NFRs wins.
    • Interviews test process — not memorizing Netflix architecture.

    Advanced interview questions

    Interview Prep

    Practice concise answers, then expand each card for the explanation.

    3 questions
    1IntermediateQuestionHow does Fault Tolerance & Redundancy appear in interviews?+

    Answer

    Usually as a component choice or deep-dive within a larger design. Explain trade-offs vs alternatives and give scale numbers.

    Follow-up

    What breaks first at 10×?
    2IntermediateQuestionRelated building blocks?+

    Answer

    Connect to load balancers, cache, DB replication, queues, and observability from this course — show compositional thinking.

    Follow-up

    Draw the data flow.
    3AdvancedQuestionSenior-level trade-off?+

    Answer

    Name CAP/consistency choice, cost vs latency, build vs buy (managed service), and operational burden of your choice.

    Follow-up

    Phase 1 vs phase 2?

    Summary

    You can explain Fault Tolerance & Redundancy in a 45-minute system design interview with numbers, diagrams, and trade-offs. Teach it back without notes — you own this piece.

    Ready to mark this lesson complete?Track your journey across the entire course.