Federated Schema Design

Introduction

If you’ve been building with GraphQL, you likely know how essential good schema design is. As the entry-point to all your GraphQL operations, it’s desirable to design a schema that’s easy to understand and work with, serves the needs of our clients today, and can be changed to fit their needs tomorrow.

This article teaches about the supergraph, platform thinking, and why it’s key to designing your graph for extensibility. We also discuss considerations that make federated schema design different from the monolithic approach. Finally, we cover the macro-level principles that help us design extensible and maintainable federated graphs.

Breaking Up a Monolithic Database with Kong

There are events in our life that seem to be just routine, but then unexpectedly they have a profound impact on our journey. For me, one event was attending the 2008 Gartner conference in Orlando, Florida. 

That event not only introduced me to the Salesforce ecosystem for the very first time but also to concepts like:

Microservices: Breaking Down Traditional Application Design

Over the last 20 years, organizations around the world have begun breaking down their monolithic architectures into smaller and more manageable components. This paved the way for the emergence of the service-oriented architecture (SOA), where applications were broken down into their functional components.

Then, in the last 10 years, we broke these down even further with the microservices pattern, which aimed to address the inherent problems found within monolithic SOAs.

The Fundamentals of Software Architecture and Microservices

According to Cambridge Dictionary, "evolutionary" is a gradual process of change and development, whereas "revolutionary" is a complete change in a system, or bringing or causing great change.

The question that this article poses is a necessary one to define how microservices have changed and affected the way we build and design our systems.