Skip to content

KEDA, HPA, and Kedify

HPA, KEDA and KPA have different responsibilities in the replica control loop.

ComponentResponsibilityUse it when
Kubernetes HPACalculates a replica count from resource, custom or external metrics and updates the workload’s scale subresource.CPU/memory or an existing metrics adapter provides your demand signal.
KEDAPolls event sources, handles activation and scale to zero, and supplies metrics to a generated HPA. A ScaledJob creates Jobs instead.Demand comes from queues, streams, schedules or other event sources.
Kedify Pod Autoscaler (KPA)Optional tenant-scoped replacement for the HPA 1 ↔ N loop on selected ScaledObjects; reads external metrics directly from KEDA.You need namespace-scoped controller ownership or to distribute autoscaling-controller load.

With KPA enabled, KEDA still handles polling, activation, fallback metrics, cooldown and scale to zero. KPA reuses the ScaledObject model; it does not replace the scalers. See KPA enablement and scope before selecting it.

Kedify distributes KEDA and adds controllers, scalers and management components. Select a capability for the requirement you have:

RequirementDocumentation
HTTP requests, OTel metrics or forecast demandScaling signals
Change container CPU/memoryVertical scaling
Review resource recommendations and costsInsights
Divide controller ownership by namespaceMulti-tenant scaling
Scale workloads across cluster APIsMulti-cluster scaling
Manage installations and inspect scaling healthOperate

Architecture shows where these components run. For an existing KEDA installation, use the migration guide and production configuration guidance.