What is GraphQL?
GraphQL is a query language for your APIs with a server for fulfilling queries from your user interfaces. GraphQL provides a more powerful and flexible alternative to REST for pulling data from your microservices.
GraphQL enables declarative data fetching where a client specifies exactly what data it needs from an API and underlying services. Instead of multiple endpoints that return fixed data structures, a GraphQL server only exposes a single endpoint and responds with precisely the data a client requested.
The declarative model creates a consistent, predictable API. Even as your backend services and data sources change, the API doesn’t change from the client’s perspective.
Bringing GraphQL to Istio and Envoy Proxy
The Gloo GraphQL module embeds a GraphQL server natively into Gloo Mesh and Gloo Edge enabling federated GraphQL queries of your APIs using your service mesh and API gateways. No additional GraphQL servers required!
GraphQL meets Istio and Envoy
Combine the developer-friendly GraphQL query language for APIs with Istio’s ability to secure, manage, and observe application traffic across microservices. This eliminates the need for a distinct system of servers and schema libraries of parsers and resolvers for GraphQL; all of your policies and requests can be managed in Envoy Proxy filters. Leveraging the existing capabilities Solo.io provides via Envoy, you can scale from single, monolithic GraphQL APIs to a federated graph spanning multiple clusters. Leveraging the existing capabilities Solo.io provides via Envoy, you can scale from single, monolithic GraphQL APIs to a federated graph spanning multiple clusters.
GraphQL runs together to Envoy Proxy in Gloo Edge
No need to integrate with third-party libraries. If you have existing REST and gRPC APIs, we make it easier to build on a solid foundation. This is much simpler than tying into your own APIs which you will have to manage indefinitely.
Performance, Scalability & Reliability
Solo.io’s GraphQL extension leverages Envoy for its network performance and minimal footprint, and it scales independently of your services. Run GraphQL as federated filters in Envoy sidecars efficiently handling the queries, directing the data requests to the appropriate microservices, and coordinating responses. You can automatically leverage Gloo’s infrastructure for routing, rate limiting, load balancing, and global failover. Eliminating the additional network hop to a separate GraphQL server improves performance and avoids an extra failure mode on the data path.
Monitoring & Insights
Integrated monitoring provides access to key metrics for GraphQL requests, query execution and upstream resolvers to monitor performance and debug issues. Export metrics with Prometheus and Grafana.
Manage GraphQL lifecycle and collaborate across teams
Develop GraphQL with 100% GitOps-compatible declarative configurations. Leverage a friendly UI for app dev teams to boost productivity in GraphQL API development.
Security, Authentication and Authorization
GraphQL simplifies developer access to APIs, but what about the underlying authorization and authentication for data and services. Gloo Mesh and Gloo Edge offer comprehensive security capabilities, providing safe and granular role-based access to data. Integrated DLP and WAF provide a more secure infrastructure for GraphQL. Consistent policies across GraphQL, service mesh, and API gateways makes compliance easier. Single API end points and schemas also help lock down your apps.
CODELESS GRAPHQL API
Seamlessly deploy a federated GraphQL server and connect it to your APIs and data sources with a declarative configuration. No need to program separate API query management for your microservices, and your developers don’t need to know how microservices connect behind the scenes.
DECLARATIVE CONFIGURATION WITH FEDERATION AND RBAC
Declaratively define GraphQL schema and server capabilities, including role-based access control (RBAC) using familiar YAML. Advanced federation allows teams to operate independently while contributing to the overall graph.
ORCHESTRATION, DATA AGGREGATION, AND EXTENSIBILITY
Gloo Mesh and Gloo Edge will orchestrate your queries for scale, can gather responses across microservices. You can also write customer resolvers with Web Assembly (Wasm) to extend your API infrastructure to meet your specific needs.
Get your hands on GraphQL
The Gloo GraphQL add-on module is available now with Gloo Edge! (Gloo GraphQL for Gloo Mesh is coming soon)
- For Producers
- For Consumers
- For Platform Operators
- Provide a unified endpoint for accessing all your services and data
- Seamlessly provide caching, security, rate-limiting and RBAC capabilities to your GraphQL API without writing GraphQL libraries
- Use YAML to define the behavior of your GraphQL API
- Evolve your APIs without worrying about versions or breaking clients
- Leverage GraphQL for service-to-service communication, not just for clients
- GraphQL provides a complete and understandable description of the data in your API
- Clients can ask for exactly what they need and efficiently receive just that
- Retrieve the data from single endpoint vs. multiple services
- Automatically aggregate, join, and transform data responses
- Use GraphQL alongside an Istio-native developer portal for GitOps and CI/CD
- Don’t need to build an extra layer of GraphQL servers or manage libraries
- Leverage your existing scalable and secure Envoy and Istio infrastructure
- Deliver GraphQL consistently and reliably to all your developers
- Monitor performance and troubleshoot issues with deep observability
- Use built-in advanced security capabilities to protect sensitive application data