The CNCF Technical Oversight Committee (TOC) has voted to accept KEDA as a CNCF incubating project.
Kubernetes Event-Driven Autoscaling (KEDA) is a single-purpose event-driven autoscaler for Kubernetes that can be easily added to Kubernetes clusters to scale applications. It aims to simplify application autoscaling and optimize for cost by supporting scale-to-zero.
KEDA was created in May 2019 as a partnership between Microsoft and Red Hat and joined the CNCF Sandbox in March 2020. Since joining the Sandbox, the project has seen a huge growth of end users, including Alibaba, CastAI, KPMG, Meltwater, Microsoft, and many others. The project team consists of 4 maintainers from 3 organizations, Microsoft, Red Hat, and Codit.
While in Sandbox, the team also added TriggerAuthentication and ClusterTriggerAuthentication, which allow users to move authentication information out of their application, providing production-grade security and allow for re-use. With the help of the community, KEDA has gone from 12 scalers to 37 in the latest release.
“KEDA allows users to set up their Kubernetes applications to scale automatically in response to metrics from a wide variety of sources from across the Cloud Native ecosystem,” said Liz Rice, TOC chair and project sponsor. “This dynamic scaling is an important aspect of Cloud Native architectures. We look forward to continued growth and an exciting roadmap of new features and scalers.”
KEDA is well integrated into the CNCF community. It extends Kubernetes autoscaling to allow users to focus on their application rather than the autoscaling infrastructure. It works well with Virtual Kubelet to build an autoscaling sweet spot, and the community supports scaling based on CNCF projects like Prometheus and NATS. The team is looking to integrate with other projects such as SMI and CloudEvents.
“Autoscaling should be simple, not rocket science. That’s why I believe KEDA should become the standard application autoscaler in Kubernetes to make application autoscaling simple,” said Tom Kerkhove, KEDA maintainer, CNCF ambassador, and Azure architect at Codit.
“Autoscaling based on CPU and memory often lacks robustness while managing your own HPAs with Custom Metrics can introduce complexity that is difficult to maintain,’ said Zbynek Roubalik, KEDA maintainer and principal software engineer at Red Hat. “KEDA provides a comprehensive solution without the added layer.”
- Agent — KEDA activates and deactivates Kubernetes Deployments to scale to and from zero on no events. This is one of the primary roles of the keda-operator container that runs when you install KEDA.
- Metrics — KEDA acts as a Kubernetes metrics server that exposes rich event data like queue length or stream lag to the Horizontal Pod Autoscaler to drive scale out. This preserves rich event integration and enables gestures like completing or abandoning queue messages to work out of the box.
- 3.5k GitHub Stars
- ~1k closed pull requests
- 222 open & 545 closed issues
- ~140 contributors
- 15 Releases
“A key tenet of cloud native computing is elasticity, and KEDA enables teams to build event-driven applications with minimal code that can scale out and in based on demand,” said Chris Aniszczyk, CTO of the Cloud Native Computing Foundation. “Furthermore, KEDA has grown a wonderful community of scalers that support a variety of integrations, and we look forward to cultivating the continued growth of the project in CNCF.”
As an incubating project, KEDA is planning an extensive roadmap. In the future, maintainers plan to introduce new scalers and secret sources, add first-class support for HTTP-based autoscaling, introduce historical analysis and predictive scaling, improve overall performance, and more.
As a CNCF-hosted project, KEDA is part of a neutral foundation aligned with its technical interests and the larger Linux Foundation, which provides governance, marketing support, and community outreach. KEDA joins other Incubating projects, including Argo, Buildpacks, CloudEvents, CNI, Contour, Cortex, CRI-O, Dragonfly, emissary-ingress, Falco, Flux, gRPC, KubeEdge, NATS, Notary, Operator Framework, Rook, SPIFFE, SPIRE, and Thanos. For more information on maturity requirements for each level, please visit the CNCF Graduation Criteria.