TriggerMesh launched an open source project that stitches together Amazon Web Services’ Lambda serverless architecture with the Knative open source set of serverless components to bridge the portability gap between the two platforms. That gap between serverless platforms has been one of the main barriers to broader serverless adoption.
The TriggerMesh bridge is in the form of its Knative Lamdba Runtime (KLR, which is pronounced “clear”) project. The high-level focus of the project is to provide portability of AWS Lambda functions to Knative-enabled clusters and serverless cloud infrastructure without needing to rewrite the serverless functions.
“We just opened up every Lambda function to run on Knative,” said Mark Hinkle, co-founder of TriggerMesh. “That’s a huge ecosystem.”
The KLR platform uses a combination of the AWS Lambda custom runtime API and the Knative Build system. The KLRs are constructed as Knative build templates that can run a Lambda function in a Kubernetes cluster installed with Knative. The custom AWS runtime interface provides a clone of the Lambda cloud environment where the function runs.
“With these templates you can run your AWS Lambda functions as is in a Knative-powered Kubernetes cluster,” added TriggerMesh’s other co-founder Sebastian Goasguen.
TriggerMesh launched last November with a serverless management platform that runs on top of Knative. This allows developers to automate the deployment and management of serverless and functions-as-a-service (FaaS) across different cloud platforms.
Goasguen said that work on KLR started after AWS unveiled its customer API runtime at its recent re:Invent conference.
“We saw this as a way to run Lambda on Knative clusters,” Goasguen said. “We worked hard during Christmas and the New Year and announced the project.”
Goasguen admitted that there is still work to be done with the KLR platform. He cited the need to add support for other programming languages and the need for more thorough testing to make sure it’s production ready.
The other missing piece is eventing. Events are the thing that triggers a function to run. This is currently still siloed to specific cloud platforms. Goasguen said that he hopes to see work to expand eventing outside of those siloes over the next six months.
The KLR platform targets a significant pain point that continues to haunt the serverless space, which is that AWS’ Lambda is the most used platform for serverless deployments but is only compatible with AWS infrastructure. This ties developers that use Lambda-based serverless functions to AWS.
This model is also used by other large cloud providers and their respective hosted serverless platforms. These include Microsoft’s Azure Functions and Google’s Cloud Functions.
But, a number of efforts have popped up that allow developers to move their serverless functions between cloud providers. Knative is one of those projects.
Knative was launched last year under the notion of using Kubernetes as a portability layer for serverless. It provides a set of components that allows for the building and deployment of container-based serverless applications that can be transported between cloud providers. Basically, Knative is using the market momentum behind Kubernetes to provide an established platform on which to support serverless deployments that can run across different public clouds.
Knative’s ability to support portability across cloud platforms was mentioned several times during keynote speeches at the recent KubeCon + CloudNativeCon North America 2018 event in Seattle.
“This portability is really important and what is behind the industry aligning behind Knative,” explained Aparna Sinha, group product manager for Kubernetes at Google, during her keynote address at the KubeCon event.
Jason McGee, vice president and CTO for IBM’s Cloud Platform, told attendees that Knative was an important project in unifying the dozens of serverless platforms that have flooded the market.
“That fragmentation, I think, holds us all back from being able to really leverage functions as part of the design of our applications,” McGee said during his keynote. “I think Knative is an important catalyst for helping us come together to bring functions and applications into our common cloud native stack in a way that will allow us to move forward and collaborate together on this common platform.”