What is a supergraph?
A supergraph is an architecture and operating model to build and scale multiple data domains as a single graph of composable entities and operations.
Supergraphs help us get the benefits of a centralized monolithic approach (high cohesion and easy governance) on a federated microservices execution model (loose coupling and scaling ownership). Today, supergraphs are more critical than ever because accelerating data and microservice sprawl is making the complexity of data and API consumption untenable – showing up in slower time-to-market, harder to address tech-debt, and complex team communication.
This pattern has emerged in organizations like Netflix, Airbnb, Goldman Sachs, and LinkedIn.
A supergraph provides a unified, composable, and federated data access layer
The supergraph architecture provides a technology platform and an operating model to enable unfettered decoupling of product and domain teams, while giving them the means to maintain a high-degree of cohesion as they evolve.
When a supergraph architecture is a must-have
Key capabilities of a supergraph
A supergraph creates compounding benefits as more subgraphs come into existence and related domains get connected into a supergraph.
A unified semantic layer that describes entities, operations, and relationships spanning one or more data domains.
Process incoming API requests to the supergraph and distribute them to upstream services and fulfill the request.
The ability for multiple teams to collaborate on evolving the supergraph's unified semantic layer and the API schema, with no centralized ownership or single point of operational failure.
A standardized API schema to access entities and invoke operations, as well as traverse and compose along relationships – typically GraphQL.