Build a Distributed GraphQL Graph with Apollo Federation

Apollo, one of the leading pioneers in the GraphQL world, recently announced the launch of Apollo Federation. Apollo Federation is an open-source architecture for building a distributed graph. The distributed graph aims to enable access to an entire organization's data with a single GraphQL query without using monolithic architecture.

"Apollo Federation is our answer for implementing GraphQL in a Microservice architecture," Apollo's James Baxley III commented in a blog post announcement. "It's designed to replace schema stitching and solve pain points such as coordination, separation of concerns, and brittle gateway code."

Apollo Federation is built on four core principles. First, building a graph should be declarative. In other words, developers build a graph declaratively from within a schema (no imperative schema stitching code). Second, the code should be segmented by concern instead of types. Apollo built federation knowing that no single team has control over every type of data. Third, clients should be able to consume the graph easily. When fitted together, federated services form a complete graph that indicates how the client is using it. Finally, it is solely GraphQL based. Accordingly, any language can use Apollo federation.

For more introductory material, visit the Federation Introduction. Here, you will find example apps and migration instructions from schema stitching. For more specifics, check out the Apollo Federation specification. Join the conversation developers have started about Federation on Spectrum

Be sure to read the next Open Source article: 10 Most Popular Open Source APIs for 2021