Docs
Launch GraphOS Studio

Managed federation overview


Apollo GraphOS provides managed federation support for graphs that use Apollo Federation.

With managed federation, your subgraphs each publish their schemas to GraphOS, which verifies that they successfully compose into a supergraph schema.

On composition success, GraphOS updates your supergraph's latest configuration, which is available at a special endpoint (called the uplink) that your router regularly polls for updates:

Apollo GraphOS
Your infrastructure
Publishes
schema
Publishes
schema
Updates
config
Polls for config changes
Apollo Schema
Registry
Apollo
Uplink
Products
subgraph
Reviews
subgraph
Router

Benefits of managed federation

Managed federation helps your organization safely validate, coordinate, deploy, and monitor changes to your graph. It provides:

Router stability

You can modify subgraph schemas (and even add or remove entire subgraphs) without needing to modify or redeploy your router. Your router is the point of entry to your entire graph, and it should maximize its uptime.

Composition stability

Whenever your router obtains an updated configuration from Apollo, it knows that the updated set of subgraph schemas will compose, because the configuration includes the composed supergraph schema.

The router also knows that your subgraphs are prepared to handle operations against the updated set of schemas. This is because your subgraphs should publish their updated schemas as part of their deployment, meaning they're definitely running by the time the router is aware of the configuration change.

And whenever a subgraph accidentally pushes a schema change that doesn't compose, GraphOS continues to provide the most recent valid configuration to your router.

Schema flexibility

By using a configuration manager that's external to your router, you help ensure the safety of certain schema changes. For example, if you want to migrate a type or field from one subgraph's schema to another, you can perform this migration safely only if you externalize your configuration.


Ready to try it out? Continue to Setup.

Previous
Migrating from schema stitching
Next
Setup
Edit on GitHubEditForumsDiscord