Netflix engineering recently published a blog post detailing how  Netflix embraced GraphQL microservices for rapid application development. In this post, Dane Avilla, a senior software engineer at Netflix, describes their key learnings in the process and how  GraphQL lends itself well for proof-of-concept development.

Avilla notes two approaches for creating GraphQL schemas. One method uses GraphQL as a single entry point for navigating an entire organization’s structured data (“One Graph to Rule Them All”). Another option is to use GraphQL only as an enriched API specification for building CRUD applications. Netflix used the latter approach for its rapid application development effort:

The successful implementation of an internal app over 4–6 weeks with limited initial requirements and an ad hoc distributed team (with no previous history of collaboration) raised a large amount of interest throughout the Netflix Studio. Other teams within Netflix are finding the GraphQL microservices approach (…) to be a viable solution for internal CRUD tools that would historically have used  REST.

To more easily implement these microservices, Netflix engineers standardized on a custom Docker image built on top of  Graphile. Graphile is a set of tools to rapidly build robust, performant, and extensible applications centered around  PostgreSQL and GraphQL. Using Graphile allowed Netflix engineers to expose a PostgreSQL data set as an API quickly. Avilla describes:

Using Docker, we defined a lightweight, stand-alone container that allowed us to package the Graphile library and its supporting code into a self-contained bundle that any team can use at Netflix with no additional coding required. Simply pull down the defined Docker base image and run it with the appropriate database connection string. This approach proved to be very successful and yielded several insights into the use of Graphile.

#microservices #graphql #postgres #netflix #development

Netflix Embraces GraphQL Microservices for Rapid Application Development
2.15 GEEK