Go Far, Go Together - Growing the Netflix Federated Graph

Around 2019, Netflix started experimenting with a federated GraphQL architecture to build a unified GraphQL API. This was a major undertaking involving several teams. To facilitate adoption, we invested heavily in good developer experience and education. We built a suite of platform tools to enable development workflows, including the now open-sourced Domain Graph Services Framework (DGS) - a Spring Boot framework based on graphql-java, to enable quick and easy implementation of GraphQL services for Java developers. 

Today, we have grown the graph significantly with almost over 250 domain graph services sharing thousands of types. We’ve encountered many challenges along the way, and continue to evolve our tooling ecosystem to scale our best practices and development workflows.

In this talk, I will discuss the many challenges related to enforcing these best practices and the solutions we built to help ease the burden on developers. In our experience, building an opinionated, developer-friendly ecosystem is a sustainable way to scale not just the graph, but the developers working with it as well.

Interview:

What's the focus of your work these days?

The past couple of years, I've been very focused on Federated GraphQL adoption at Netflix. As part of that, I've been working on the Domain Graph Service framework, which is a framework for implementing GraphQL services in Java, and related tools.

What's the motivation for your talk at QCon London 2023?

The motivation for my talk is to share our Federated GraphQL adoption journey and talk about the GraphQL platform we have built to facilitate the same. We started with a  small platform and gradually scaled that over the course of adoption. We now have multiple federated graphs within Netflix and more than 60 teams using our platform. I’ll also be sharing the kind of challenges we faced as we scaled adoption.

How would you describe your main persona and target audience for this session?

I'd say the persona is more targeted towards folks interested in looking for ways to enhance day to day productivity for developers, or even more specific situations such as to facilitate architecture migrations.

Is there anything specific that you'd like people to walk away with after watching your session?

Specifically, for us, a key learning is to recognize the importance of investing in good developer experience. We were able to greatly accelerate the adoption of our new architecture by providing a cohesive end-to-end experience. Sometimes it makes sense to build and customize and other times it is better to use what is widely available in the community. A lot of our rationale behind building out these custom tools was wanting to provide Netflix-specific integrations.

Ultimately, what matters is to identify what helps developers be more productive on a day-to-day basis. As part of this effort, we've also open sourced a part of the platform that we've built, and so that would be another take away for folks working with GraphQL to try out. 


Speaker

Kavitha Srinivasan

Senior Software Engineer @Netflix

Kavitha Srinivasan is a senior software engineer on the API Systems Team at Netflix. Over the past few years, she has been working on the Domain Graph Services framework, an open source framework for building Spring Boot based GraphQL services, and related GraphQL tooling. She is passionate about great developer experience and has been involved in driving the education and adoption of federated GraphQL at Netflix.

Read more
Find Kavitha Srinivasan at:

Date

Wednesday Mar 29 / 02:55PM BST ( 50 minutes )

Location

Fleming (3rd Fl.)

Topics

graphql data access case study best practices

Share

From the same track

Session platforms

How to Apply a Product Mindset to Your Platform Team Tomorrow

Wednesday Mar 29 / 01:40PM BST

In this talk, we'll explore the benefits and challenges of how organizations can make the shift from a traditional infrastructure team to 'platform as a product'. We'll focus on how to use a product mindset to your platform team with simple tips, even when you don't have a product manag

Speaker image - Jelmer Borst

Jelmer Borst

PM Platform Products @Picnic Technologies

Session platforms

Available, Affordable, Attractive: Enabling Platform Adoption

Wednesday Mar 29 / 11:50AM BST

This talk is focusing on the problem of adoption: what we at SuperAwesome have tried so far, what worked well, what did not work and what we did to overcome those challenges.

Speaker image - Olga Sermon

Olga Sermon

Senior Engineering Manager @Superawesome

Session Teamwork

5 Principles for Enablement with (Almost) Nothing to do with Building Tools

Wednesday Mar 29 / 10:35AM BST

Engineering Enablement teams have big dreams to support developers across their organization by smoothing sharp edges to help teams achieve speed and stability within the services they provide.

Speaker image - Steph Egan

Steph Egan

Principal Software Engineer @BBC

Session platforms

Using Customer Obsession to Drive Platform Adoption

Wednesday Mar 29 / 04:10PM BST

Investing in Platform teams is a natural pitstop that organizations need to take as they scale. However, to realise the value of investing in Platform teams often take a large amount of time. 

Speaker image - Varun Achar

Varun Achar

Director of Engineering @Razorpay