Gloo is a function gateway built on top of the Envoy Proxy. Gloo provides a unified entry point for access to all services and serverless functions, translating from any interface spoken by a client to any interface spoken by a backend. Gloo aggregates REST APIs and events calls from clients, "glueing" together services in-cluster, out of cluster, across clusters, along with any provider of serverless functions.
What makes Gloo special is its use of function-level routing, which is made possible by the fact that Gloo intimately knows the APIs of the upstreams it routes to. This means that the client and server do not have to speak the same protocol, the same version, or the same language. Users can configure Gloo (or enable automatic discovery services) to make Gloo aware of functional back-ends (such as AWS Lambda, Google Functions, or RESTful services) and enable function-level routing. Gloo features an entirely pluggable architecture, providing the ability to extend its configuration language with plugins which add new types of upstreams and route features.
It is entirely possible to run Gloo as a traditional API gateway, without leveraging function-level capabilities. Gloo can be configured as a fully-featured API gateway, simply by using upstreams that don't support functions.
- 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
- Installing on Kubernetes: Installation guide for Kubernetes (recommended)
- Installing on OpenShift: Installation guide for OpenShift
- Getting Started on Kubernetes: Getting started with Kubernetes (recommended for first time users)
- Function Routing on Kubernetes: Introduction to Function Routing with Gloo
- Getting Started on OpenShift: Getting started with OpenShift
- Function Routing on OpenShift: Introduction to Function Routing with Gloo (OpenShift version)
- AWS Lambda: Basic AWS Lambda with Gloo
- Refactoring Monoliths with Gloo: Using Gloo to refactor monolithic apps
- Converting webhooks to NATS Messages with Gloo: Using Gloo to convert webhooks to NATS messages for event-driven architectures.
- 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
- Upstreams: API Specification for the Gloo Upstream Config Object
- Virtual: API Specification for the Gloo Virtual Host Config Object
- Metadata: API Specification for Gloo Config Object Metadata
- Status: API Specification for Gloo Config Object Status
Join us on our slack channel: https://slack.solo.io/
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.