Last week, the Cloud Native Computing Foundation (CNCF) announced that it is accepting Knative as an incubating project joining the likes of Cilium, Crossplane, Dapr, and Flux projects.
In November 2021, Google, one of the key founding members of Knative, decided to donate the project to CNCF. This caught the attention of the cloud native community since Google earlier decided to move some of its key open source projects, such as Istio and Angular, to Open Usage Commons (OUC). The new OUC organization manages the trademark of open source projects while continuing to encourage collaboration and contributions from the community.
Though Knative was not officially a part of Open Usage Commons, Istio, a project heavily contributed by Google, was moved to OUC. The community expected Google to add Knative to the mix of OUC projects. But this was strongly discouraged by Red Hat, IBM, SAP, VMware, and other contributors of Knative. Google’s decision to make Knative a part of CNCF came as a relief to the contributors and the consumers of the project.
The acceptance of Knative by CNCF is a critical milestone in the evolution of the project. It will fuel the development and adoption of serverless technologies in the cloud native ecosystem.
Serverless deployments are based on event-driven and scale-to-zero execution models. The microservices running on Kubernetes are executed in response to internal or external events. They automatically scale in and scale out based on the demand. When there are no clients consuming the microservice, the environment automatically scales it to zero, which frees all the resources allocated. This results in efficient resource utilization.
MORE FOR YOU
AWS was one of the first to introduce a serverless platform in 2014 in the form of AWS Lambda. Knative brings the ability to build and deploy serverless components in the context of Kubernetes.
Knative has two building blocks – Serving and Eventing. The serving layer provides the plumbing for networking, autoscaling, and hosting multiple revisions of microservices. The eventing layer brings the publish/subscribe pattern to Kubernetes to enable event-driven execution. The combination of serving and eventing enables powerful scenarios to implement sophisticated serverless patterns.
Knative is a meta platform – a platform of platforms. It is meant for platform companies to build an additional application layer exposed to developers. While Knative comes with the core building blocks and the infrastructure needed for serverless, it lacks the developer experience layer.
Platform companies including Google, IBM, VMware, and Red Hat built additional tooling on top of Knative to enhance the developer experience. Google Cloud Run for Anthos, IBM Cloud Code Engine, Red Hat OpenShift Serverless, Cloud Native Runtimes for VMware Tanzu are examples of platforms powered by Knative.
TriggerMesh, a North Carolina-based startup, offers a fully-managed Knative for cloud and on-premises environments. It enables developers to easily consume events triggered by cloud-based resources within microservices deployed in Kubernetes clusters.
With the project moving to CNCF, the community will confidently embrace Knative resulting in the accelerated adoption of serverless technologies. Platform vendors will tap into it to add scale-to-zero capabilities to their software. KServe, an open source, cloud native machine learning inference platform, relies on Knative to add autoscaling to the models. This is an example of how Knative will drive serverless implementation.
Though many implementations of serverless platforms for Kubernetes exist, Knative stands out for its robustness, maturity, and extensibility. It’s one of the first serverless platforms to become a part of the Cloud Native Computing Foundation.
CNCF’s acceptance of Knative opens up exciting avenues for the cloud native ecosystem.