GraphQL Reference Guide: Building Flexible and Understandable APIs – InfoQ.com

InfoQ Live September 21: Container Security and Observability in Kubernetes Environments. Register
Facilitating the spread of knowledge and innovation in professional software development


The Excel team announced LAMBDA, a new feature that lets users define and name formula functions. LAMBDA functions admit parameters, can call other LAMBDA functions and recursively call themselves. With LAMBDA, the Excel formula language is Turing-complete: user-defined functions can thus compute anything without resorting to imperative languages (e.g., VBA, JavaScript).
In this episode, Thomas Betts speaks with Tammy Bryant Butow, principal SRE at Gremlin about training new site reliability engineers. The discussion covers a formal SRE Apprenticeship program Tammy led at DropBox, and gets into ideas about the best way to teach people new technical skills.
In the podcast, we speak with Dr. Francesca Lazzeri on machine learning for time series forecasting as the main topic which included automated machine learning and deep learning for time series data forecasting, as well as other emerging trends in machine learning development and operations areas including data science lifecycle.
Leading teams is always challenging, especially when your team is remote. It requires more effort and more skills to be developed. This article describes which skills could be used if you would like to become not just a good team leader, but a great one To start, here are three essential soft skills: Be vulnerable and authentic Build a collaborative and safe environment Provide candid feedback
The panelists discuss monitoring and observability methods that DevOps and SRE teams can employ to balance change and uncertainty without the need to constantly reconfigure monitoring systems.
Learn how to apply containerized applications to improve application speed, reliability and deployment. Virtual Event on September 21th, 9AM EDT / 3PM CEST
Learn how to apply Microservices and DevSecOps to improve application security & deployment speed. Virtual Event on Oct 19th, 9AM EDT/ 3PM CEST
Turn advice from 64+ world-class professionals into immediate action items. Attend online on Nov 1-12.
InfoQ Homepage Articles GraphQL Reference Guide: Building Flexible and Understandable APIs
This item in japanese
Lire ce contenu en français
Mar 12, 2021 3 min read
by
Daniel Bryant
GraphQL is both an open source query language for an API and a server-side runtime for executing queries. It enables the use of a type system that developers define for their data.
GraphQL supports reading, writing, and subscribing to changes to data, and SDKs and servers are available for multiple languages, including JavaScript, Python, Ruby, Java, C#, Go, Rust, PHP, and more.

GraphQL is rapidly becoming a popular alternative to REST and gRPC, particularly for exposing data at the edge of systems. According to the GraphQL homepage, "GraphQL provides a complete and understandable description of the data in your API, gives clients the power to ask for exactly what they need and nothing more, makes it easier to evolve APIs over time, and enables powerful developer tools."
 
GraphQL query and type system (Image courtesy of Goodbye REST APIs. Hello GraphQL!)
Protect Identities. Secure Digital Services Enable highly scalable and secure user access to web and mobile applications. Start free trial.
GraphQL was developed internally by Facebook in 2012 before being publicly released in 2015 Similar projects also coevolved at the time, such as Netflix’s Falcor, but did not see as much adoption, particularly outside of Netflix.
On 7 November 2018, the GraphQL project was moved from Facebook to the newly-established GraphQL Foundation, hosted by the non-profit Linux Foundation.
GraphQL provides an approach to developing web APIs and is often compared with REST, and to a lesser extent gRPC-web and other web service architectures.
GraphQL allows clients to define the structure of the data required, which can be implemented to provide a common abstraction (schema) between the frontend and backend, and also to reduce the size of payloads sent from the server. According to the Wikipedia entry for GraphQL, "the flexibility and richness of the query language also adds complexity that may not be worthwhile for simple APIs."
As with all architectural considerations, there are inherent benefits and tradeoffs with using GraphQL.
GraphQL has clearly crossed the diffusion of innovation chasm, with the only debate in the InfoQ 2020 Architecture and Design trend report being how widely it is adopted within organisations that have large existing SOAP and REST API deployments.
There is still innovation occurring within this space, specifically in relation to scaling and federating GraphQL schema, and making it ubiquitous and general-purpose for large enterprises.

GraphQL on the InfoQ Architecture and Design Trends Report 2020 graph.
For architects and developers researching and exploring GraphQL, we recommend the following content:
For engineerings teams that are exploring the introduction and integration of GraphQL into their tech stack, we recommend the following:
Data modelling is a perennially difficult change, particularly at scale. GraphQL provides different options and implementations than REST or traditional SOA approaches, with a focus on modularity. The early approach of "schema stitching" has now evolved into "federation".
This content is a good primer to the benefits and challenges of data modelling with GraphQL:
The following GraphQL case studies provide best practices and warning of "gotchas" that early adopters discovered:
Netflix have been early adopters of GraphQL and have recently begun to publicly discuss how they have scaled their implementation of this. The following content provides deeper insight into their approach and also the lessons learned:
Daniel Bryant is leading change within organisations and technology. His current technical expertise focuses on ‘DevOps’ tooling, cloud/container platforms and microservice implementations. Daniel is a leader within the London Java Community (LJC), contributes to several open source projects, writes for well-known technical websites such as InfoQ, DZone and Voxxed, and regularly presents at international conferences such as QCon, JavaOne and Devoxx.

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

We protect your privacy.
You need to Register an InfoQ account or or login to post comments. But there’s so much more behind being registered.
Get the most out of the InfoQ experience.
Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

A round-up of last week’s content on InfoQ sent out every Tuesday. Join a community of over 250,000 senior developers. View an example

We protect your privacy.
Focus on the topics that matter in software development right now.
Deep-dive with 64+ world-class software leaders. Discover how they are applying emerging trends. Learn their use cases and best practices.
Stay ahead of the adoption curve and shape your roadmap with QCon Plus online software development conference.
InfoQ.com and all content copyright © 2006-2021 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we’ve ever worked with.
Privacy Notice, Terms And Conditions, Cookie Policy
Is your profile up-to-date? Please take a moment to review and update.
Note: If updating/changing your email, a validation request will be sent

source