# Scaling

Choose what to scale and the signal that should drive it. Keep one controller responsible for each replica or resource field.

## Horizontal scaling

[KEDA scalers](https://docs.kedify.io/scalers/keda-scalers/) read queues and other event sources. [KPA](https://docs.kedify.io/features/kedify-pod-autoscaler/) provides a horizontal control loop; [Scaling Groups](https://docs.kedify.io/features/scaling-groups/) share a replica budget.

Choose an [event-source scaler](https://docs.kedify.io/scalers/keda-scalers/). [Replica and job scaling](https://docs.kedify.io/scalers/) explains the workload choice.

## HTTP

[HTTP scaler](https://docs.kedify.io/scalers/http-scaler/) scales from request rate or concurrency and supports activation from zero. [Envoy HTTP scaler](https://docs.kedify.io/scalers/http-envoy-scaler/) uses an existing Envoy metrics pipeline and requires warm replicas.

Choose a [routing integration](https://docs.kedify.io/scalers/http-scaler/#choose-an-http-integration), including Gateway API and Istio, or use the [inference routing](https://docs.kedify.io/scalers/http-scaler-for-inference/).

## OpenTelemetry

[OpenTelemetry scaler](https://docs.kedify.io/scalers/otel-scaler/) scales replicas or jobs from application metrics. Start with an [OTel metric](https://docs.kedify.io/how-to/scale-with-otel/), then choose an [ingestion method](https://docs.kedify.io/how-to/otel-scaler-integrations/). Recipes cover [Prometheus migration](https://docs.kedify.io/how-to/otel-scaler-migrate/), [Ingress NGINX](https://docs.kedify.io/how-to/otel-scaler-ingress-nginx/) and [vLLM](https://docs.kedify.io/how-to/otel-scaler-general/).

## Predictive and scheduled scaling

[Predictive scaler](https://docs.kedify.io/scalers/predictive-scaler/) uses historical demand. [ScalingPolicy](https://docs.kedify.io/features/scaling-policy/) changes scaling configuration during scheduled windows. [Compare forecasts, Cron and policies](https://docs.kedify.io/guides/prepare-for-demand/).

## Vertical scaling

[Pod Resource Autoscaler](https://docs.kedify.io/features/pod-resource-autoscaler/) changes resources from utilization. [Pod Resource Profiles](https://docs.kedify.io/features/pod-resource-profiles/) applies explicit resource profiles. Compare their [requirements and ownership](https://docs.kedify.io/scalers/vertical-scalers/).

## Multi-cluster

[Register member clusters](https://docs.kedify.io/how-to/multicluster-gitops/), then distribute [replicas](https://docs.kedify.io/how-to/multicluster-dso/) or [jobs](https://docs.kedify.io/how-to/multicluster-dsj/). [vCluster scaling](https://docs.kedify.io/how-to/vcluster-scaling/) centralizes scaling for virtual-cluster workloads.

## Custom targets and node capacity

[ScaleAdapter](https://docs.kedify.io/features/scale-adapter/) exposes custom replica fields. [Node capacity buffers](https://docs.kedify.io/capabilities/node-capacity/) prepare capacity using Karpenter, Cluster Autoscaler or GKE.

## Related tasks

[Insights](https://docs.kedify.io/features/insights/) recommends resource changes to review. [Operate](https://docs.kedify.io/operate/) covers fleet and tenant management. Use [Best Practices](https://docs.kedify.io/best-practices/) to tune and validate production behavior, or [Reference](https://docs.kedify.io/reference/) for exact configuration fields.

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