🌱 Welcome to the course!

Whether you're completely new to GraphQL Federation or an existing user looking to explore feature flags, this course is for you.

You'll work through a short, hands-on exercise. By the end, you'll have built a real, working feature flag and verified your incremental change by querying your adjusted API.

We strongly recommend following the lessons sequentially, as laid out in your lessons sidebar, to avoid errors. However, you may jump back and forth between lessons as desired.

Overview

A feature flag in GraphQL Federation lets you serve a different version of your federated schema to selected requests, enabling you to release changes and/or experimental features incrementally to a subset of your consumer traffic, rather than all clients immediately.

Feature flags in software engineering are widely used to turn features on or off for selected users, enable canary releases, or manage A/B tests. The same core concept applies here: in GraphQL Federation, feature flags let you safely incrementally ship changes to your API, just as you might with a web or backend feature toggle.

What you will build

  1. Create a fresh supergraph with 4 example subgraphs, connected to a real live service
  2. Create and implement a feature flag to make an incremental schema change
  3. Test your new API by sending requests with and without the feature flag enabled to see your change appear and disappear

No pre-setup is necessary. You'll quickly spin up a local router instance in the Set up your environment lesson.

Click Next below to get started.