Skip to main content

Safe Releases and Graceful Degradation for SRE

Learn to make failures hurt less: map dependencies, design graceful degradation, and release safely with feature flags, blue-green, and canary releases.

~3 hours
8 Topics
Hands-on Scenarios

What You'll Learn

Understanding Why Some Failures Should Not Become Outages

It is 11:02 on a Saturday sale morning at acme-shop. The recommendations service restarts after a routine node drain.

Mapping Dependencies and Classifying Them

You cannot design a fallback for a dependency you have not noticed.

Designing Graceful Degradation

Graceful degradation is the practice of returning a reduced but useful response when a dependency fails, instead of an error.

Separating Deploy from Release with Feature Flags

A feature flag is a runtime switch that turns functionality on or off without a new deployment.

Choosing a Release Pattern

Flags, blue-green, canary, and dark launches answer different questions. Teams get into trouble by treating them as rivals.

Making Schema Changes Safe During Releases

Blue-green and canary both put two versions of your code in front of the same database at once.

Skills You'll Master

GRACEFUL-DEGRADATIONFEATURE-FLAGSCANARYBLUE-GREENSRE

Curriculum Index8 topics

Career Impact

Roles that use the skills in this module.

  • Site Reliability Engineer

  • DevOps Engineer

  • Platform Engineer

See how this is asked in interviews

Practice on the Coding Sheet

Not a software engineer sheet. Every problem comes from real DevOps, SRE, Platform and Cloud interviews, from your first script to a system you build yourself.

Open the Coding Sheet

Frequently Asked Questions

It means a service keeps doing its most important job when a less important dependency fails. If recommendations are down, checkout still works and shows a generic list instead. You decide the fallback in advance, not during the incident.

A feature flag turns behaviour on or off inside code that is already deployed. A canary sends a small share of traffic to a new version of the whole service. Flags control what runs, canaries control which version users reach, and teams often use both together.

Only if the schema works with both versions at the same time. Blue and green share one database, so a change that breaks the old version breaks your rollback too. Use expand and contract migrations to keep both versions working.

That is a decision to make with product, written down before launch. If a degraded checkout still lets users pay, many teams count it as good and track the degraded rate separately. Either way, never leave degraded responses invisible.