Kerf and other rightsizing tools: details and sources¶
The table in the README is a summary of this page. Every fact about another tool comes from that tool's public docs, repository or pricing page, read on 2026-11-05. "Not stated" means we did not find it in their docs. It does not mean the tool lacks it. Products change: check the source before you rely on a cell, and open an issue or a pull request when something here is wrong or out of date.
Summary¶
| Kerf | VPA | Goldilocks | Robusta KRR | IBM Kubecost | StormForge | PerfectScale | CAST AI | |
|---|---|---|---|---|---|---|---|---|
| License | Apache-2.0 | Apache-2.0 | Apache-2.0 | MIT (CLI) | commercial; free tier up to 250 cores | commercial; 30-day trial | commercial; free tier (300 vCPU) | commercial |
| Where it runs | your clusters only | your cluster | your cluster | CLI on your machine; optional SaaS UI | self-hosted, or managed backend | agent in-cluster, metrics sent to SaaS | SaaS, or self-hosted | in-cluster agent, SaaS console |
| Recommends | requests and limits | requests (limits keep their ratio) | requests and limits (via VPA) | requests and limits | requests | requests and limits | requests and limits | requests |
| Data source | Prometheus, VictoriaMetrics, Thanos, Mimir, AMP | Metrics API, history in checkpoints or Prometheus | VPA | Prometheus, Thanos, VictoriaMetrics, Mimir, managed Prometheus | Prometheus (2.x); own agent (3.0) | own forwarder | own exporter | metrics-server and own exporter |
| Applies changes | agent, per policy: in-place, rollout, deferred | eviction and admission webhook | opt-in, through VPA ("not recommended") | optional enforcer webhook, needs a Robusta UI account | Kubescaler (alpha) | applier, or patches for CI/CD | eviction and webhook; GitOps notes | immediate or deferred |
| In-place pod resize | yes (default strategy) | InPlaceOrRecreate (GA in VPA 1.6.0) |
through VPA | not stated | not stated | yes (applier 2.12.0) | yes (default since agent 1.0.26) | yes |
| Next to an HPA on CPU/memory | yes: requests and HPA target change together | docs warn against it on the same metric | not stated | --allow-hpa flag |
not stated | yes (vendor docs) | HPA recommendations; docs advise against two vertical tools | yes |
| Fleet UI | yes | no UI | per cluster; multi-cluster in Fairwinds Insights | through the Robusta UI | Enterprise | yes | yes | yes |
| Savings in dollars | yes, per node type | not stated | not stated | not stated | yes | yes | yes | yes |
| Rollback on bad health | yes: OOM kills, restarts, CPU throttling | not stated | not stated | not stated | not stated | yes | not stated | not stated |
| Maintenance windows | yes, plus freeze windows | not stated | not stated | not stated | schedule settings | yes | yes | not stated |
| JVM heap aware | yes | not stated | not stated | not stated | not stated | yes | yes | yes |
Notes¶
- VPA. In-place pod resize is GA in Kubernetes 1.35. VPA's
InPlaceOrRecreatemode was alpha in 1.4.0, beta in 1.5.0 and GA in 1.6.0; anInPlacemode without eviction is alpha in 1.7.0.Autois deprecated and behaves likeRecreate. - Goldilocks creates VPA objects in
Offmode and shows their recommendations; it inherits VPA's behaviour. - KRR. The README's own comparison lists autoscaling as future work, while the
enforcer/directory documents a mutating webhook. We describe the enforcer. - Kubecost was acquired by IBM (announced 2024-09-17). Kubecost created OpenCost (CNCF, Apache-2.0). Kubecost 3.0 no longer needs Prometheus.
- StormForge was acquired by CloudBolt (announced 2025-03-31); the docs stay at docs.stormforge.io.
- PerfectScale was acquired by DoiT (announced 2025-02-04). Its pricing page and a cached copy differ on the free tier (300 or 200 vCPU).
- CAST AI. The JVM feature's status (early access or GA) isn't stated on the docs page.
- The HPA, JVM and in-place claims for the commercial tools come from their documentation, not from our testing.
Kerf's own claims¶
Each Kerf cell is backed by this repository: modes and strategies in api/v1alpha1/common_types.go, guardrails and
rollback thresholds in api/v1alpha1/rightsizingpolicy_types.go, HPA coordination and
pricing in docs/architecture.md, metrics sources in docs/contracts/readiness.md.
Sources¶
- VPA: features, quick start, known limitations, releases, Kubernetes 1.35: in-place pod resize GA
- Goldilocks: repository, docs, advanced usage
- Robusta KRR: repository, enforcer
- IBM Kubecost: pricing, Kubescaler, OpenCost, acquisition
- StormForge: architecture, applier events, applier 2.12.0, schedule, product page
- PerfectScale: in-place rightsizing, automation CRD, Java containers, HPA, pricing
- CAST AI: workload autoscaling, in-place resizing, JVM, savings report, pricing