Google wants to make serverless computing easy enough for even the enterprise to use. This week, the company publicly unveiled a new project, called Knative, designed to allow organizations and service providers to set up a serverless infrastructure that can run the same containerized code across multiple public clouds or in-house, with minimal fiddling required from the developer.
“The whole point of Knative was to bring the building blocks of serverless together and give you this workload portability,” said Oren Teich, a director of product management for the Google Cloud, introducing the technology at Google Next 2018, being held this week in San Francisco.
Knative is built on the Kubernetes orchestration engine and the Istio service mesh, though the developers don’t need to understand the complexities of either to enjoy the benefits. “Knative is not designed for the end-user. It is designed for the infrastructure pieces that enable products to be built on top of it,” Teich told the audience. The software abstracts away all the steps of preparing and running an application in a cloud-native environment, including the container build process, orchestration, routing and traffic management, load-balancing and auto-scaling, and service binding.
Knative has three different components handling the following tasks: automated container builds, container serving, and event binding. The build service harnesses Kubernetes primitives to run on-cluster container builds from source. The serving component provides the middleware to rapidly deploy containers, scale the containers based on demand, routing and grabbing point-in-time snapshots of deployed code and configurations.
“Ultimately, our goal is to bring the serverless world together around this.” Teich said. “Our hope is to enable a whole ecosystem way of serverless products to come out, in a compatible, portable way.”
To this end, SAP, IBM, Red Hat, and Pivotal, among others, have all contributed to the project. SAP plans to use Knative to ease the development process for its own developers, by allowing them just to worry about the code they are crafting. Using an early, private beta of KNative, SAP built a lightweight framework, called Kyma, for extending SAP’s commerce portfolio to cloud-native environments.
Red Hat plans to combine Knative with its OpenShift commercial Kubernetes distribution and its own Operators framework to provide a multi-cloud container platform with automated operations. Pivotal is rolling Knative into its soon-to-be-launched Pivotal Function Service, with some help from the company’s Riff software for building event-driven functions.
“Knative could one day enable a developer to use Apache OpenWhisk to orchestrate all parts of a cloud app in a serverless fashion, such as running both containers and functions-as-a-service events, all on-demand and on an as-needed basis,” wrote Jason McGee, IBM fellow and IBM Cloud vice president, in a blog post about how Knative would interface with IBM’s own function-as-a-service software OpenWhisk. “This could drastically expand the scope of how serverless tools such as OpenWhisk can be used, evolving beyond functions into a complete foundation for full-scale apps in production.”
Google first developed the idea as a way to offer a serverless container service for the Google App Engine and Google Cloud Function (GCF). As defined by a Google specification, these containers do not write to local disk and work entirely on a request-response pattern.
The company previewed a new service Serverless Containers on GCF, which will run any container that matches the spec. Now, in addition to taking in code, GCF can also take in containers and execute them. The service is set to debut later this year but is open to alpha testers.
“What we realized is that containers are not just the packaging format but the interchange format as well,” Teich said. Teich demonstrated how to use a service, with a containerized version of the open-source Blender 3D rendering package.
With the release of GKE On-Prem, which also premiered are Google Next 2018, is a distribution of GKE that can be run in-house. It includes a serverless add-on, built on Knative, which allows an app containerized for GCF to run in-house, eliminating the need to eliminate duplicate code.
Google, Pivotal and Red Hat are sponsors of The New Stack.