← Lessons

quiz vs the machine

Silver1100

System Design

Graceful Degradation

Shedding non essential features so the core keeps working under stress.

4 min read · intro · beat Silver to climb

Failing softly

Graceful degradation means that when a system is under stress or a dependency is down, it drops to a reduced but still useful mode rather than failing completely. The opposite is a hard crash where one missing piece takes the whole experience offline.

Examples in the wild

  • A shopping site whose recommendation service is down still shows products, just without the personalized row.
  • A video app that cannot reach the analytics service still plays video; it simply skips logging.
  • A dashboard serves slightly stale cached data when the live source is unreachable.

How to design for it

  • Classify features as essential or optional.
  • Wrap optional dependencies so a failure returns a safe default instead of an error.
  • Make the core path depend on as few things as possible.

Key idea

Graceful degradation keeps the essential experience alive by shedding optional features instead of failing all at once.

Check yourself

Answer to earn rating on the learn ladder.

1. What does graceful degradation mean?

2. How should you treat an optional dependency for graceful degradation?