If you’re interested in simplifying the delivery of serverless, event-driven applications on Kubernetes in your enterprise, you’ll be pleased to hear that Knative – an open-source platform for simplifying and automating serverless deployments on Kubernetes – was announced yesterday by the Cloud Native Computing Foundation (CNCF) accepted as incubation project.
Knative (pronounced “kay-native”) was originally developed by Google in 2018 to simplify the deployment and management of serverless and event-driven applications on Kubernetes, the container orchestration software that Google released as open source back in 2014. While Kubernetes has proven to be a popular way to scale containers up and down – in fact, more than 96% of companies say they use or evaluate it in a recent CNCF survey – K8S itself is a complex technology that’s difficult to master mastered, and Knative is helping to ease adoption for two popular types of applications: serverless and event-driven.
The software consists of two main components: Knative Serving and Knative Eventing. Knative Serving allows users to run serverless containers on Kubernetes and automate much of the work revolving around networking, autoscaling, and revision tracking. Knative eventing, on the other hand, provides a way to automate the deployment of an event-driven architecture and makes it easy for developers to attach even-numbered streams of data (perhaps from Apache Kafka or a similar event broker) to Knative apps. The two systems can be used independently, but are typically deployed together.
Datanami Recently, Naina Singh, a principal product manager for serverless at Red Hat – which is a key player in the Knative project along with Google, IBM, VMware and SAP – met to get an overview of this new and important infrastructure technology.
“Knative is one such technology that provides a layer of abstraction that can simplify many concerns for a developer or even the operator as to what the Ops worker is going through when using Kubernetes,” says Singh. “I would say that the abstraction layer is so awesome that you can even call it ‘Kubernetes-Plus’ because it offers tons of features like on-demand autoscaling. It gives you concurrency control.”
Knative also produces reproducible deployments, called commissions, that can simplify the management of serverless applications, Singh says. For example, it offers traffic splitting capabilities and rollbacks, as well as canary deployments. It also supports so-called “green-blue” deployments, where an administrator deploys new changes to the green side of the cluster and then slowly turns off the blue side of the cluster and keeps the green one, she says.
“All of these things make Knative very easy,” says Singh. “It makes it very easy for operators not to get caught in the Kubernetes weeds either, because they can try to control it at a serverless level.”
Any organization looking to build event-driven, serverless applications that run distributed in the cloud would do well to learn about Knative and its capabilities, says Singh.
“What it brings to you are distributed applications, loosely coupled, reactive,” she continues. Knative helps “solve all your modern day challenges that you get from cloud native. Because in this global world you always have to be online. It has to be highly available.”
Knative version 1.0 was released in October 2021, marking the first time the code was widely available. It’s being adopted by vendors like Red Hat, who offer Knative as part of their OpenShift package. VMware and Google also use Knative to automate the deployment of serverless, event-driven applications on Kubernetes.
However, if customers were to deploy these types of applications on AWS or Microsoft Azure, they would not use Knative as those clouds do not yet support it. That limits the ability for customers to easily move their event-based serverless applications to other environments, Singh says.
“Let’s say you are now using Red Hat OpenShift Serverless which is Knative 1.0 compliant and tomorrow you want to switch to another vendor that also says we have KNative 1.0 you should be able to run your workload because that’s the promise it is,” she explains. “What I see in open source and in the community is that we’re working very hard to keep this democratization of serverless. For example, if you’re using the AWS Lambda solution or an Azure function solution or their container services – those are proprietary solutions.”
Knative is currently in version 1.2, with a new release expected approximately every six weeks. The Knative community consists of more than 1,800 people with 94 voting contributors. According to the CNCF, the project’s governance structure includes 17 working group leaders working in 11 working groups; five members of the Knative Steering Committee (KSC), five members of the Technical Oversight Committee (TOC) and three members of the Knative Trademark Committee (KTC).
Carlos Santana, Knative Steering Committee and DOCS-UX lead, says that deploying Knative 1.0 and joining the CNCF will allow the project to grow.
“Becoming an incubation project will encourage other companies to adopt, contribute to, and evangelize the project,” Santana said in a press release. “It will also bring the Knative community closer to other cloud-native projects in the ecosystem—including all the projects it builds on—and help establish a virtuous cycle of feedback and features.”
Kubernetes Adoption Widespread for Big Data, But Monitoring and Tuning Are Problems, Survey Finds
Most AWS Analytics customers are going serverless, says VP
Become an event-driven company