Introducing Apollo GraphQL Platform for product engineering teams of all sizes to do GraphQL right

Yesterday, Apollo introduced its Apollo GraphQL Platform for product engineering teams. It is built on Apollo’s core open source GraphQL client and server and comes with additional open source devtools and cloud services. This platform is a combination of open source components, commercial extensions, and cloud services.

Core open source components

Apollo Server: It is a JavaScript GraphQL server used to define a schema and a set of resolvers that implement each part of that schema. It supports AWS Lambda and other serverless environments.

Apollo Client: It is a GraphQL client that manages data and state in an application. It comes with integrations for React, React Native, Vue, Angular, and other view layers.

iOS and Android clients: These clients allows to query a GraphQL API from native iOS and Android applications.

Apollo CLI: It is a command line client that provides access to Apollo cloud services.

Cloud services

Schema registry: It is a central registry that acts as a central source of truth for a schema. It propagates all changes and details of your data,allowing multiple teams to collaborate with full visibility and security on a single data graph.

Client registry: It is a registry that enables you to track each known consumer of a schema, which can include both pre-registered and ad-hoc clients.

Operation registry: It is a registry of all the known operations against the schema, which similarly can include both pre-registered and ad-hoc operations.

Trace warehouse: It is a data pipeline and storage layer that captures structured information about each GraphQL operation processed by an Apollo Server.

Apollo Gateway

GraphQL gateway is the commercial plugin for Apollo Server. It allows multiple teams to collaborate on a single, organization-wide schema without mixing everyone’s code together in a monolithic single point of failure. To do that, the gateway deploys “micro-schemas” that reference each other into a single master schema. This master schema then looks to a client just like any regular GraphQL schema.

Workflows

In addition to these components, Apollo also implements some useful workflows for managing a GraphQL API. Some of these workflows are:

Schema change validation: It checks the compatibility of a given schema against a set of previously-observed operations using the trace warehouse, operation registry, and (typically) the client registry.

Safelisting: Apollo provides an end-to-end mechanism for safelisting known clients and queries, a recommended best practice that limits production use of a GraphQL API to specific pre-arranged operations.