Docs
Wave vs HPA, VPA, and Prometheus

Wave vs HPA, VPA, and Prometheus

Open source primitives like HPA, VPA, and Prometheus (and the managed autoscalers in Amazon EKS and OpenShift) cover the basics of Kubernetes scaling and observability. Wave fills the gaps they leave open: it advises and automates the manual loops you'd otherwise build on top of them, diagnosing issues and recommending the right configuration before applying ML-driven Day 2 operations.

vs HPA

Wave's Wave Autoscale sub-brand replaces and extends HPA. Three Wave Autoscale features map to common HPA pain points:

  • Autopilot replaces HPA's static-threshold scaling.
  • Autopilot Scheduler replaces cron-based manual HPA edits for known events.
  • Min/Max Recommendation replaces guesswork on minReplicas / maxReplicas.
AspectHPAWave Autoscale
Response time30s to 5min< 10s (Autopilot)
Scaling logicStatic CPU/memory thresholdsML per workload (Autopilot) with HPA-formula fallback before training
Min/max boundsManual guessworkData-driven recommendation (Min/Max Recommendation)
Schedule-based scalingNone; requires cron + manual editsAutopilot Scheduler, UI-driven
Safety / monitoring modeNoneSide-by-side ML vs HPA chart, no scaling impact

vs VPA

Wave's Wave Sizing sub-brand replaces VPA with a Pod-aware right-sizer (Smart Sizing).

AspectVPAWave Sizing
CadenceStatic periodic recommendationsContinuous (10-minute analysis cycle)
Apply mechanismEvict-and-recreate PodsIn-place patch of requests/limits
HPA compatibilityConflicts with HPA on CPUPairs cleanly with Autopilot

vs the "Prometheus + HPA" pattern

Wave does NOT replace Prometheus. Wave uses its own metrics collection (the WA Metrics Agent, ~75% lighter than Prometheus collection on workloads), and you keep Prometheus / Grafana for dashboards via Wave's Prometheus export.

What Wave replaces is the pattern of "scrape Prometheus → write a custom rule → HPA reacts to a scalar." That pattern is reactive and brittle. Wave's ML decisions consume the same metrics directly.

AspectPrometheus + HPAWave
Collection footprint on workloadsPrometheus scraper + node-exporterWA Metrics Agent (~75% lighter)
Forecasting horizonReactive (now)7-30 day forecasts (Wave Diagnosis)
Decision layerManual rules + HPA reactionOne ML-driven decision layer
DashboardsGrafanaKeep Grafana; Wave exports Prometheus metrics

vs default traffic protection

Wave's Wave Flow sub-brand layers priority-based traffic shaping on top of Istio via WASM. Without it, an Istio cluster has uniform queueing behavior under load.

AspectBare Istio / EnvoyWave Flow
Priority shapingCustom Envoy filters per serviceWASM-based, configured per route class
Request-class awarenessNone by defaultYes (checkout vs analytics, etc.)
Behavior under overloadDrop or queue uniformlyPreserve high-priority traffic, shed bulk

Where Wave does NOT replace

  • CNI (Cilium, Calico, AWS VPC CNI, etc.): Wave is not a network plugin.
  • Control plane: Wave does not modify kube-apiserver, etcd, or scheduler.
  • Service mesh itself: Wave Flow runs on top of Istio; you still need Istio installed.
  • Container runtime, OS, registry: Wave is application-layer.

Where to go next