GraphQL for Monolith, Microservices, and Serverless
What is Sqoop?
Sqoop leverages Gloo's function registry and Envoy's advanced HTTP routing features to provide a GraphQL frontend for REST/gRPC applications and serverless functions. Sqoop routes requests to data sources via Envoy, leveraging Envoy HTTP filters for security, load balancing, and more.
Workflow with Sqoop
- Register or Discovery API Endpoints and Serverless Functions with Gloo
- Upload a GraphQL schema
- Connect Functions to your Schema's fields in a Sqoop ResolverMap
- Codeless GraphQL API: Instantly deploy a GraphQL server and connect it to your data sources with configuration, zero code required.
- Dynamic Load Balancing: Load balance traffic across multiple data sources.
- Health Checks: Active and passive monitoring of your data sources.
- OpenTracing: Monitor GraphQL requests using the well-supported OpenTracing standard
- Monitoring: Export HTTP metrics to Prometheus or Statsd
- Client SSL: Communicate with Data Sources using TLS encryption
- Declarative API: Sqoop features a declarative YAML-based API; store your configuration as code and commit it with your projects.
- Scalability: Sqoop scales independently of your data sources and scales infinitely.
- Performance: Sqoop leverages Envoy for its high network performance and low footprint.
- Plugins: Sqoop leverage's Gloo's plugin ecosystem to enable extending the types of data sources Sqoop can connect to.
- JSON-to-gRPC transcoding: Connect GraphQL JSON clients to gRPC data sources.
Service Discovery: Kubernetes OpenShift HashiCorp Stack (Vault, Consul, Nomad) Cloud Foundry
Function Discovery: AWS Lambda Microsoft Azure Functions Google Cloud Platform Functions Fission OpenFaaS ProjectFn Swagger/REST gRPC
- Installing locally Docker-Compose: Installation guide for Docker-Compose (easiest way to get started)
- Installing on Kubernetes: Installation guide for Kubernetes
- Getting Started on Docker-Compose: Getting started with Docker (recommended for first time users)
- Getting Started on Kubernetes: Getting started with Kubernetes (recommended for first time users)
v1 API reference:
- Schemas: API Specification for proving your GraphQL Schemas to Sqoop
- ResolverMaps: API Reference for ResolverMaps, which map your data sources to your Schemas
Blogs & Demos
Join us on our slack channel: https://slack.solo.io/