Apollo GraphOS Platform

The GraphQL API platform for cloud-native API orchestration


The GraphOS platform provides a comprehensive collection of tools and services to help build and scale your graphs safely. GraphOS lets development teams orchestrate REST and GraphQL APIs using GraphQL schemas and requests. This declarative approach takes less time and imparts less risk than other API orchestration strategies, like the Backend for Frontend pattern (BFFs).

GraphOS components

The platform's 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. These tools guarantee consistent API usage patterns across all your applications through centralized schema enforcement and access policies. 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. For a client, the request and response cycle of querying the router looks the same as querying any GraphQL server.

The router uses it built-in query planner to distribute requests to the appropriate subgraphs and returns a unified response. It handles handle key API orchestration tasks such as:

  • Sequencing API calls

  • Parallel execution

  • Retry logic

  • Data transformation

  • Authentication, authorization, and other security requirements

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.

Apollo Connectors

Apollo Connectors are a declarative programming model for GraphQL, allowing you to plug your existing REST services directly into your graph. Apollo Connectors are made possible by the GraphOS Router, which handles orchestration to REST API endpoints just as it does for any other subgraphs. Learn about configuring the router for connectors.

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.

Observability

To enable additional observability beyond the insights the control plane provides, the router supports telemetry that can be added and customized in different stages of the router request lifecycle. You can add logs, metrics, and traces and export them to your application performance monitoring (APM) solution.

As the single entry point to your graph, the router helps you monitor and optimize API usage across your platform, making it easier to spot bottlenecks and usage patterns in your apps.

An interface for every use case

GraphOS offers a UI, command-line tool, and Platform API to address your organization's needs.

InterfaceDescription
GraphOS StudioGraphOS 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 CLIThe 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 APIIf you want to automate your own DevOps workflows and pipelines 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!

Feedback

Forums