Git Product home page Git Product logo

gloo's Introduction

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.

gloo's People

Contributors

ilackarms avatar yuval-k avatar axhixh avatar ilevine avatar talnordan avatar anton-st avatar gaberger avatar raindev avatar ericmand avatar peterj avatar andrewmelis avatar sufuf3 avatar

Watchers

James Cloos avatar Alex Ellis avatar  avatar

Forkers

linus5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.