Skip to content

Latest commit

 

History

History
140 lines (116 loc) · 6.53 KB

README.md

File metadata and controls

140 lines (116 loc) · 6.53 KB

Gloo
The Function Gateway

What is Gloo?

Gloo is a high-performance, plugin-extendable, platform-agnostic function Gateway built on top of Envoy. Gloo is designed for microservice, monolithic, and serverless applications. By employing function-level routing, Gloo can completely decouple client APIs from upstream APIs at the routing level. Gloo serves as an abstraction layer between clients and upstream services, allowing front-end teams to work independently of teams developing the microservices their apps connect to.


Gloo


Features

Microservice Platform Integrations with Service Discovery:

  • Kubernetes
  • OpenShift
  • HashiCorp Stack (Vault, Consul, Nomad)
  • Cloud Foundry

Serverless Platform Integrations with Function Discovery:

  • AWS Lambda
  • Microsoft Azure Functions
  • Google Cloud Platform Functions
  • Fission
  • OpenFaaS
  • ProjectFn

Routing Features:

  • Dynamic Load Balancing: Load balance traffic across multiple upstream services.
  • Health Checks: Active and passive monitoring of your upstream services.
  • OpenTracing: Monitor requests using the well-supported OpenTracing standard
  • Monitoring: Export HTTP metrics to Prometheus or Statsd
  • SSL: Highly customizable options for adding SSL encryption to upstream services with full support for SNI.
  • Transformations: Add, remove, or manipulate HTTP requests and responses.
  • Automated API Translation: Automatically transform client requests to upstream API calls using Gloo’s Function Discovery
  • CLI: Control your Gloo cluster from the command line.
  • Declarative API: Gloo features a declarative YAML-based API; store your configuration as code and commit it with your projects.
  • Failure Recovery: Gloo is completely stateless and will immediately return to the desired configuration at boot time.
  • Scalability: Gloo acts as a control plane for Envoy, allowing Envoy instances and Gloo instances to be scaled independently. Both Gloo and Envoy are stateless.
  • Performance: Gloo leverages Envoy for its high performance and low footprint.
  • Plugins: Extendable architecture for adding functionality and integrations to Gloo.
  • Tooling: Build and Deployment tool for customized builds and deployment options
  • Events: Invoke APIs using CloudEvents.
  • Pub/Sub: Publish HTTP requests to NATS
  • JSON-to-gRPC transcoding: Connect JSON clients to gRPC services

Documentation

About gloo:

  • Introduction: Introduction to Gloo with a basic overview of Gloo itself and its use cases
  • Concepts: Explanation of the key concepts used in Gloo.
  • Architecture: Overview of Gloo's architecture. Covers architecture at a high level, and the component architecture

Installation:

Getting Started:

Tutorials

Plugins:

  • AWS Lambda Plugin: Description of the AWS Lambda Plugin and config rules for AWS Lambda Upstreams and Functions
  • Kubernetes Plugin: Description of the Kubernetes Plugin and config rules for Kubernetes Upstreams
  • Service Plugin: Description of the Service Plugin and config rules for Service Upstreams
  • Request Transformation Plugin: Description of the Request Transformation Plugin and config rules for Request Transformation Routes and Functions

v1 API reference:

  • Upstreams: API Specification for the Gloo Upstream Config Object
  • Virtual: API Specification for the Gloo Virtual Service Config Object
  • Metadata: API Specification for Gloo Config Object Metadata
  • Status: API Specification for Gloo Config Object Status

Blogs & Demos

Community

Join us on our slack channel: https://slack.solo.io/


Thanks

Gloo would not be possible without the valuable open-source work of projects in the community. We would like to extend a special thank-you to Envoy.