Last week, at Google Cloud Next 2018, Google, in partnership with Pivotal, IBM, Red Hat, and SAP, announced the release of Knative, their new Kubernetes-based open-source platform to build, deploy, and manage serverless workloads. We at Solo.io are excited by the potential Knative has to enhance Gloo, our flagship Function Gateway.
Knative, engineered by industry heavyweights, is the latest project in a rapidly evolving serverless ecosystem. Knative provides a complete platform for managing serverless workloads, providing building, scaling, and event sourcing out-of-the-box. After a long period without a clear winner, we believe Knative will become the definitive solution for serverless workloads. Knative has the potential to define the interfaces and operations surrounding serverless infrastructure for years to come, in much the same way that Kubernetes today sets the beat to which container infrastructure marches.
Knative is composed of three loosely coupled components: building, serving, and eventing. Building uses Cloud Foundry buildpacks to produce executable Docker images from function source code. Serving deploys and scales Kubernetes infrastructure for functions in proportion to network traffic. Eventing subscribes functions to user-defined event sources, orchestrating event-driven architectures. Together, these three services provide a workflow the Knative docs describe as a “source-to-URL” experience: push code to GitHub, get a URL-addressable endpoint for invoking a function.
For organizations interested in serverless computing with Kubernetes, Knative presents the most mature, well-supported, and feature-complete serverless platform available today. Deploying new serverless applications to Kubernetes has never felt more “native”. However Knative does not address migrating between serverless platforms or extending existing monolith-microservice architecture to a hybrid model that includes serverless. Addressing this use case is our mission at Solo.io.
Solo.io’s flagship product Gloo was designed to specifically target this problem. Gloo is a Kubernetes-native Function Gateway and Ingress Controller built on top of the Envoy Proxy. Gloo provides a platform for building user-facing APIs agnostic of platform and application architectures. Gloo provides the means to migrate application architecture between microservices, monoliths, and serverless functions, as well as compose hybrid applications that bridge all three. A number of Gloo’s features (described in our recent blogs) specifically target the serverless ecosystem: function invocation (Lambda, Azure, GCF, OpenFaaS), function discovery (auto-register on/off-prem functions with Gloo), and function routing (route API requests directly to functions).
In accordance with Solo.io’s vision to support any platform and any architecture, today we are excited to announce the release of Knative support in Gloo. This integration offers a new set of features extending Gloo’s supported serverless runtimes to include Knative, “glueing” Knative into the ever-growing collection of backends which Gloo supports. Knative serverless apps can be discovered and invoked through Gloo, allowing users to gradually migrate or augment existing applications with serverless functionality brought by Knative.
The new features in Gloo provided by the Knative plugin are:
- Invoke and Scale: leverage Knative autoscaling functions by making requests through the Gloo gateway
- Traffic Control: Load balance, traffic shift, and blue-green deploy from non-Knative to Knative apps.
- Function Discovery: Automatically discover Knative functions for simplified routing and management.
- API Management: Add Gloo’s entire suite of API features on top of Knative, including TLS with cert-manager, caching, request transformation, authentication, rate limiting, retries, and more.
We encourage you to get the latest version of Gloo with built-in Knative support. Check out our Getting Started tutorial and supercharge your serverless experinece with Gloo and Knative today. Thanks and happy Glooing!