Join us from October 8-10 in New York City to learn the latest tips, trends, and news about GraphQL federation and API platform engineering.Join us for GraphQL Summit 2024 in NYC
Docs
Start for Free

Understanding Graphs

Learn about graph types, variants, and how to publish schemas


is a platform for building and managing graphs. Each corresponds to a service in your organization.

A GraphQL service usually runs in more than one environment—for example, staging or production—so every graph in GraphOS 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 and metrics.

Graph types

Every graph in GraphOS is one of these graph types:

Graph typeDescription

Cloud supergraph

A consisting of:

  • A GraphOS-hosted
  • One or more hosted in your infrastructure

Recommended for all organizations getting started with GraphOS.

Self-hosted supergraph

(Enterprise only)

A supergraph 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 router, usually for advanced performance or data compliance reasons.

Monograph

(Enterprise only)

A single GraphQL service hosted in your infrastructure with no router.

⚠️ Not recommended.

Cloud supergraphs

NOTE

Cloud require an Apollo organization on the (free or paid) or .

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

Your infrastructure
GraphOS
Your GraphQL
server
Router
Clients

The router automatically reports certain operation metrics to GraphOS, so you don't need to configure this reporting in your .

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

Your infrastructure
GraphOS
Products subgraph
Reviews subgraph
Router
Clients

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

Get started with a cloud supergraph

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 , you can test out this functionality by signing up for a free Enterprise trial.

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

Your infrastructure
Router
Products subgraph
Reviews subgraph
Clients

Your is an instance of the Apollo Router (cloud supergraphs use the under the hood).

Self-hosted supergraphs provide full control over your router, 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.

Get started with a self-hosted supergraph

Monographs

require an Apollo organization on the Enterprise plan.

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

Your infrastructure
GraphQL server
Clients

Creating graphs

You can create a cloud supergraph or a non-cloud supergraph (self-hosted or monograph).



To create a cloud supergraph, see the GraphOS quickstart.

Next, you need to publish your graph's schema(s) to Apollo using the . 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 of your graph. Each variant has its own schemas, along with its own change history and metrics.

Each of your graph's variants 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
Routing
Rate articleRateEdit on GitHubEditForumsDiscord

© 2024 Apollo Graph Inc.

Privacy Policy

Company