# Horizontal scaling and demand signals

Horizontal scaling changes replica count or creates jobs from demand. KEDA evaluates triggers and activation; HPA or KPA controls the active replica loop. Choose a signal and workload shape before tuning polling intervals.

## Choose a demand signal

| Signal / requirement | Capability or task |
| --- | --- |
| Queue, stream, event source or known schedule | [Built-in KEDA scalers](https://docs.kedify.io/scalers/keda-scalers/) |
| HTTP rate or concurrency | [HTTP scaling and integrations](https://docs.kedify.io/scalers/http-scaler/) |
| Application metric | [OTel scaling](https://docs.kedify.io/scalers/otel-scaler/) · [General OTel tutorial](https://docs.kedify.io/how-to/scale-with-otel/) |
| Useful historical pattern | [Predictive scaling](https://docs.kedify.io/scalers/predictive-scaler/) |

Use a **ScaledObject** for a long-running Deployment or StatefulSet; use a **ScaledJob** when each unit of work runs as a Kubernetes Job. The queue’s acknowledgement, retry and visibility rules still govern delivery.

## Controllers and shared capacity

KEDA scalers supply demand signals; the controller determines active replica count. [HPA and KPA ownership](https://docs.kedify.io/concepts/keda-hpa-and-kedify/) explains the control loops. Use [Kedify Pod Autoscaler (KPA)](https://docs.kedify.io/features/kedify-pod-autoscaler/) for Kedify’s horizontal controller and [Scaling Groups](https://docs.kedify.io/features/scaling-groups/) for a shared replica budget.

## Activation and ownership

For zero-to-one activation, the signal must remain observable while workload pods are stopped. CPU/memory emitted only by those pods cannot supply that evidence. Keep one writer for target replicas and configure generated HPA/KPA behavior through the ScaledObject. Use [horizontal tuning](https://docs.kedify.io/best-practices/keda-best-practices/) and [workload diagnostics](https://docs.kedify.io/troubleshooting/workload-scaling/) to verify demand, desired capacity, ready pods and application outcome.

Return to the [horizontal scaling family](https://docs.kedify.io/features/#horizontal-and-events) for direct capability discovery.

---
Canonical: https://docs.kedify.io/scalers/
Source: src/content/docs/scalers/index.md
Documentation index: https://docs.kedify.io/llms.txt
