Docs
Launch GraphOS Studio

Understanding graphs

The heart of Apollo GraphOS


As its name suggests, GraphOS is a platform for building and managing graphs. Each graph corresponds to a GraphQL service in your organization.

A GraphQL service usually runs in more than one environment (such as staging or production), so every graph in has one or more variants that each correspond to one environment:

A graph in GraphOS
Staging
variant
Production
variant

Each of a graph keeps track of its own separate GraphQL s and metrics.

Graph types

Every graph in is one of these graph types:

Graph typeDescription

Cloud supergraph

A consisting of:

  • A -hosted router
  • One or more subgraphs hosted in your infrastructure

Recommended for all organizations getting started with .

Self-hosted supergraph

(Enterprise only)

A consisting of:

  • A router hosted in your infrastructure
  • One or more subgraphs hosted in your infrastructure

Recommended for enterprise organizations that require full customization of their , usually for advanced performance or data compliance reasons.

Monograph

(Enterprise only)

Not recommended. A single GraphQL service hosted in your infrastructure with no .

Cloud supergraphs

Cloud s require an Apollo organization on the Serverless (free or paid) or Dedicated plan. Learn more about plans.

Cloud supergraphs are recommended for every organization that's getting started with . For every of a cloud , GraphOS provisions and manages a router that acts as the 's public endpoint. Application clients communicate with this endpoint instead of communicating directly with your GraphQL server(s):

Your infrastructure
GraphOS
Your GraphQL
server
Router
Clients

The automatically reports certain metrics to , so you don't need to configure this reporting in your GraphQL servers.

Cloud s use an architecture called Apollo Federation. With federation, you can distribute your 's capabilities across multiple GraphQL services, which are known as subgraphs. The executes client s across multiple s as needed:

Your infrastructure
GraphOS
Products subgraph
Reviews subgraph
Router
Clients

Even if your API currently uses only one GraphQL server, a cloud helps you add more s later as your organization grows.

Self-hosted supergraphs

Self-hosted supergraphs are an Enterprise feature for organizations with advanced performance or compliance requirements.

If your organization doesn't currently have an Enterprise plan, you can test out this functionality by signing up for a free Enterprise trial.

With a self-hosted , does not provision a for your . Instead, you host your supergraph's router in your own infrastructure:

Your infrastructure
Router
Products subgraph
Reviews subgraph
Clients

Your self-hosted is an instance of the Apollo Router (cloud s use the Apollo under the hood).

Self-hosted s provide full control over your , but they also require handling its deployment and management. Before you adopt this graph type, make sure you have the necessary team structure to properly manage an additional service in your infrastructure.

Monographs

Monographs require an Apollo organization on the Enterprise plan. Learn more about plans.

A monograph is a graph that consists of a single GraphQL server with no :

Your infrastructure
GraphQL server
Clients

Creating graphs

To create a cloud supergraph, see the GraphOS quickstart.

To create a non-cloud graph (a self-hosted or a monograph), follow these steps:

This feature is only available with a GraphOS Enterprise plan. If your organization doesn't currently have an Enterprise plan, you can test this functionality by signing up for a free Enterprise trial.

  1. Go to your organization's Graphs tab in GraphOS Studio.

  2. Click New Graph in the top right. Studio displays the following dialog:

  3. Specify an organization and title for your graph.

  4. Specify your Graph Architecture:

    • To create a self-hosted , leave this as Supergraph (default).
    • To create a monograph, switch this to Monolith.
  5. Click Next. A dialog like the following appears (the details differ depending on which Graph Architecture you're using):

    Schema registration options
  6. If you're creating a self-hosted supergraph, select the version of Apollo Federation you're using from the Supergraph Pipeline Track dropdown.

Your graph has been created.

Next, you need to publish your graph's (s) to Apollo using the CLI. For details, see Publishing schemas to GraphOS.

Variants

To distinguish between instances of the same graph running in different environments (such as staging and production), you define multiple variants of your graph. Each has its own s, along with its own change history and metrics.

Each of your graph's s is shown in GraphOS Studio:

Schema Changelog tab

Creating a variant

See this section.

Publishing schemas

See Publishing schemas to GraphOS.

Previous
Intro to GraphOS
Next
API keys
Edit on GitHubEditForumsDiscord