REST has become a standard for services on the internet, but it isn't without its drawbacks. GraphQL is a query language from Facebook that's caught on to address many of these issues. It provides API consumers with better visibility and more control over their data.
Where REST has endpoints and status codes, GraphQL has queries, mutations, types, and richer errors. It allows you to ask for precisely the data you need, to batch requests for parallel server processing, and even returns partial results in the face of downstream failures.
In this talk, we will explain our experience adopting GraphQL at New Relic. We will discuss the challenges and solutions we found - including the smaller community using GraphQL outside of the Javascript ecosystem, how we learned to think differently about the data we expose, and why you might consider adopting it yourself. We will also showcase the open-source libraries that we created to help both our own services and those of the wider community.