Apollo GraphOS Platform
The GraphQL API Platform
The GraphOS platform provides a comprehensive collection of tools and services to help build and scale your graphs safely.
Its main components are:
-
The control plane, comprised of schema registry, schema management, and insights tools
The runtime plane, featuring the GraphOS Router
Various interfaces, including the GraphOS Studio UI, Rover CLI, and Platform API
Control plane
The control plane includes a schema registry and schema management tools to safely evolve GraphQL schemas and provide them to the runtime plane. The control plane also offers an insights suite to analyze and understand your graph's usage and performance.
Graph registry
The graph registry tracks the GraphQL schemas for all your individual subgraphs as well as the composed supergraph schema. GraphOS tracks the GraphQL schemas for all your individual subgraphs, and it manages federation by composing those subgraph schemas into one supergraph schema. GraphOS also handles providing the updated supergraph schema for your router.
Schema management tools
Schema management tools fall into two categories: schema governance and schema delivery.
Schema governance tools let you manage, validate, and enforce standards in your schemas. These include:
Schema checks identify breaking changes before you publish them. They can also determine when a potentially dangerous change is, in fact, safe.
Schema linting ensures consistent, well-formed schemas. Automated linting lowers maintenance overheads and improves developer productivity.
Schema proposals provide GraphOS-native schema change management. Team members propose changes to subgraph schemas, and others review and approve them before they're implemented.
Schema delivery tools let you integrate schema publication into your DevOps workflows.
Whenever you update a subgraph schema, GraphOS composes a new supergraph schema for your router. If composition succeeds, your router automatically begins using its new schema.
You can view the results of each launch whenever you update a subgraph schema, helping you resolve any issues that might occur.
Insights
The GraphOS Studio Insights suite lets you create reports and visualization to monitor and understand your supergraph's usage and performance. You can track key metrics like request rate and latency, identify bottlenecks, and optimize your graph. You can also configure your GraphOS Router to export telemetry to your own application performance monitoring (APM) tools.
Runtime plane
In the context of GraphOS, the runtime plane handles the real-time processing of client requests. A crucial part of the supergraph is the unified endpoint it presents to clients. The GraphOS Router is this single entry point. The router intelligently orchestrates and distributes requests across subgraphs and returns a unified response. For a client, the request and response cycle of querying the router looks the same as querying any GraphQL server.
Because it's integrated with GraphOS, a GraphOS Router can get validated supergraph schemas automatically from GraphOS whenever its subgraphs are updated.
The GraphOS Router is powered by the Apollo Router Core—a high-performance runtime packaged as a standalone binary.
Client operations
The GraphOS Router enables support for real-time client operations like deferred queries and subscriptions, whether you're using the router with one subgraph or many.
Using the
@defer
directive, client requests can defer returning data for certain fields. Learn more.Using the subscription operation, clients can listen for real-time changes in your data. Learn more.
An interface for every use case
GraphOS offers a UI, command-line tool, and Platform API to address your organization's needs.
Interface | Description |
---|---|
GraphOS Studio | GraphOS Studio is the primary web interface for GraphOS. Among other capabilities, you use Studio to create your organization and its supergraphs, view schemas and metrics, and test out operations in the Explorer. |
The Rover CLI | The Rover CLI is the primary command-line interface for GraphOS. Among other capabilities, you use Rover to publish subgraph schemas to the registry, run schema checks from CI, and test out your supergraph within your development environment. |
GraphOS Platform API | If you want to automate your own workflows outside of Studio or Rover, you can use the official GraphOS Platform API to do so. |
Next steps
Ready to create your first supergraph? Get started with GraphOS!