Cloud routing for supergraphs
Cloud supergraphs are available to organizations with new Apollo Serverless plans. They are not available to organizations with an Enterprise plan or a legacy Free or Team plan.
When you create a cloud supergraph with Apollo Studio, GraphOS automatically provisions and manages a router that sits in front of your GraphQL API:
Clients send operations to your router's public endpoint, instead of sending them directly to your API. This way, you can later add more APIs to your supergraph, and clients can query data from all of them with a single request to the router:
With this supergraph architecture (also known as Apollo Federation), each of your individual GraphQL APIs is known as a subgraph. Your router takes care of executing each incoming client operation across the appropriate combination of subgraphs, and then it merges subgraph responses into a single response for the client.
Your router is provisioned automatically whenever you create a cloud supergraph in Studio, or whenever you create a new variant for an existing cloud supergraph. Each variant has its own distinct router.
When you first create your variant, the router provisioning process can take a few minutes. If this process hasn't completed yet for a particular variant, an INITIATING ENDPOINT label is shown at the top of the variant's page in Studio:
Publishing a new subgraph schema or editing your router's configuration triggers a new launch. Every launch automatically deploys new router instances for your supergraph.
A router deployment might fail due to a platform incident or schema composition issues. To resolve this, try republishing your subgraph schema.
Apollo automatically deletes variants of Serverless cloud supergraphs that receive zero operations for 60 consecutive days. This deletes the router, along with all of the variant's historical metrics.
- Apollo will notify you via email whenever a Serverless variant is approaching this 60-day limit.
- To prevent deletion, execute at least one GraphQL operation on the variant's router before the 60-day limit.
If your supergraph's cloud router goes down, queries sent to it will fail until service is restored. However, every cloud router has redundant machines in place to help prevent this.
The entire GraphOS platform (including its cloud routing infrastructure) is SOC 2 Type 2 certified. Secrets are encrypted both in transit and at rest, and they are available only inside the runtime environment where users have total control over when those secrets are resolved in configuration.
The Apollo Router (the underlying technology for cloud routing) has been tested and audited by Doyensec, with no issues.
Apollo works with major public cloud providers to deliver GraphOS cloud routing.
Cloud routing is available in Chicago, USA. Our infrastructure has interconnects with major public cloud providers, so latency is minimal. For example, latency between Chicago and AWS in Virginia is approximately 10ms.
We're actively working to add support for more regions. If there's a specific region you'd like us to support please request a region.
Not yet, but we're working to make additional regions available. If there's a region you'd like to see supported, let us know.
Our goal with cloud routing is to deliver global, industry-leading graph performance. Routing infrastructure is hosted in one region with plans to expand globally and add caching support in 2023.
No. GraphOS only hosts the runtime for your supergraph's cloud router. GraphQL servers for your individual subgraphs are still hosted in your infrastructure.
Your GraphQL API does not already need to be using Apollo Federation to add it to a cloud supergraph.