Knative is an open-source platform built on Kubernetes that provides components for deploying, running, and managing serverless and event-driven workloads. It abstracts away Kubernetes complexity for application developers, enabling them to focus on writing code while the platform handles container building, scaling (including scale-to-zero), routing, and event delivery. Knative brings the serverless developer experience to any Kubernetes cluster, whether on-premises or in the cloud.

Knative consists of two primary components: Knative Serving and Knative Eventing. Knative Serving manages the deployment and auto-scaling of stateless workloads, providing request-driven compute that scales from zero to thousands of instances based on incoming traffic. It supports traffic splitting between revisions for blue-green and canary deployments, custom domain mapping, and automatic TLS certificate provisioning. Knative Eventing provides a declarative framework for binding event sources to services, supporting CloudEvents as the standard event format. It includes brokers and triggers for event routing, channels and subscriptions for pub/sub messaging, and sources for integrating with external systems like Kafka, GitHub, and cloud provider event buses.

Knative is used by organizations that want serverless capabilities on their existing Kubernetes infrastructure without locking into a specific cloud provider’s FaaS offering. Google Cloud Run is built on Knative Serving, and Red Hat OpenShift Serverless uses Knative as its foundation. The project is a CNCF incubating project with contributors from Google, Red Hat, IBM, VMware, and SAP.

Key Capabilities

  • Scale to Zero - Automatic scaling of workloads to zero instances when idle, eliminating costs for unused capacity
  • Traffic Management - Revision-based traffic splitting for canary deployments, blue-green rollouts, and A/B testing
  • Event-Driven Architecture - Declarative event routing with brokers, triggers, and sources supporting the CloudEvents specification
  • Kubernetes Native - Extends Kubernetes with CRDs, working with existing Kubernetes tooling, RBAC, and networking

Cloud Equivalents

Knative is the open-source alternative to AWS Lambda, Azure Functions, and Google Cloud Functions/Cloud Run. Cloud serverless platforms offer simpler setup and broader ecosystem integrations, while Knative provides serverless capabilities on any Kubernetes cluster with full portability and no vendor lock-in. Google Cloud Run is itself built on Knative.

Origins and History

Knative was announced by Google in July 2018, developed in collaboration with Pivotal, IBM, Red Hat, and SAP. The project was led by Matt Moore and Ville Aikas at Google. Knative is licensed under the Apache License 2.0. It was donated to the CNCF in March 2022 and accepted as an incubating project. Knative 1.0 was released in November 2021, marking production readiness. The project evolved from Google’s internal experience running serverless workloads on Kubernetes (Borg).

Sources

  1. https://knative.dev/
  2. https://github.com/knative