At a ServiceMeshCon/KubeCon + CloudNativeCon event today, Solo.io announced it will add support for the GraphQL query language for application programming interfaces (APIs) to the Gloo Mesh platform and the Gloo Edge API gateway. That support will be added later this year.
The company is providing a GraphQL server, resolvers, a GraphQL schema generator and schema stitching for GraphQL for both its instance of the open source Istio service mesh that is deployed in Kubernetes environments as well as open source Envoy proxy software.
Fresh from raising an additional $135 million in funding, Solo.io CEO Idit Levine says that approach will eliminate the need for organizations that have implemented APIs based on GraphQL to build their own API gateways and orchestration platforms.
GraphQL is an open source data query language for APIs that organizations are adopting as a declarative alternative to REST APIs for fetching data. GraphQL, originally developed by Facebook, enables clients to specify exactly what data it needs from an API and underlying services in a way that makes it possible to federate queries across multiple backend services. GraphQL provides a complete description of the data made available via an API, and is organized in terms of types and fields rather than traditional endpoints. In addition to clarifying what data is available via that API, developers can make use of types to avoid writing parsing code.
IT teams, however, still have to create specific libraries for caching, security, rate-limiting, failover and many other functions that Levine says can now be handled by its Gloo Mesh and Gloo Edge platforms. Solo.io’s GraphQL extensions for Envoy and Istio service mesh enable developers to declaratively define GraphQL schema and server capabilities, including role-based access controls (RBAC), using the YAML programming language. It will automatically generate schema from almost any data source including REST, gRPC, SQL, SOAP and more.
The GraphQL module will also enhance the Envoy Proxy filter chain in Gloo Mesh and Gloo Edge with a resolver that gives Envoy the ability to provide a GraphQL API endpoint. Developers can also write customer resolvers with Web Assembly (Wasm).
Solo.io’s GraphQL support includes GraphQL life cycle and collaboration capabilities that allow developers to store GraphQL schemas as code, observe usage and publish information and manage schema and server changes via Gloo Portal.
REST APIs, in general, are becoming more problematic as organizations embrace microservices-based applications. It often takes minutes to refresh a simple dashboard because of the amount of data that REST APIs are trying to pull from various data sources. As organizations embrace digital business transformation, they are also encountering application latency issues that can be traced back to the amount of data being called from multiple microservices.
It’s not clear how quickly GraphQL might replace REST APIs, but DevOps teams should assume organizations will wind up employing a mix of both for years to come. The challenge is going to be determining when to make the transition, as organizations become more dependent on a mix of APIs to build and deploy microservices-based applications that are now driving most digital business transformation initiatives.