# KEDA, HPA, and Kedify

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

## Controller ownership

| Component | Responsibility | Use it when |
| --- | --- | --- |
| Kubernetes HPA | Calculates 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. |
| KEDA | Polls 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](https://docs.kedify.io/scalers/keda-scalers/). |
| 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](https://docs.kedify.io/features/kedify-pod-autoscaler/) before selecting it.

## What Kedify adds

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

| Requirement | Documentation |
| --- | --- |
| HTTP requests, OTel metrics or forecast demand | [Scaling signals](https://docs.kedify.io/scalers/) |
| Change container CPU/memory | [Vertical scaling](https://docs.kedify.io/scalers/vertical-scalers/) |
| Review resource recommendations and costs | [Insights](https://docs.kedify.io/features/insights/) |
| Divide controller ownership by namespace | [Multi-tenant scaling](https://docs.kedify.io/features/multitenant-keda/) |
| Scale workloads across cluster APIs | [Multi-cluster scaling](https://docs.kedify.io/features/multi-cluster-scaling/) |
| Manage installations and inspect scaling health | [Operate](https://docs.kedify.io/operate/) |

[Architecture](https://docs.kedify.io/concepts/kedify-architecture/) shows where these components run. For an existing KEDA installation, use the [migration guide](https://docs.kedify.io/troubleshooting/migration-from-keda/) and [production configuration guidance](https://docs.kedify.io/best-practices/keda-best-practices/).

---
Canonical: https://docs.kedify.io/concepts/keda-hpa-and-kedify/
Source: src/content/docs/concepts/keda-hpa-and-kedify.md
Documentation index: https://docs.kedify.io/llms.txt
