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.
| Aspect | HPA | Wave Autoscale |
|---|---|---|
| Response time | 30s to 5min | < 10s (Autopilot) |
| Scaling logic | Static CPU/memory thresholds | ML per workload (Autopilot) with HPA-formula fallback before training |
| Min/max bounds | Manual guesswork | Data-driven recommendation (Min/Max Recommendation) |
| Schedule-based scaling | None; requires cron + manual edits | Autopilot Scheduler, UI-driven |
| Safety / monitoring mode | None | Side-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).
| Aspect | VPA | Wave Sizing |
|---|---|---|
| Cadence | Static periodic recommendations | Continuous (10-minute analysis cycle) |
| Apply mechanism | Evict-and-recreate Pods | In-place patch of requests/limits |
| HPA compatibility | Conflicts with HPA on CPU | Pairs 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.
| Aspect | Prometheus + HPA | Wave |
|---|---|---|
| Collection footprint on workloads | Prometheus scraper + node-exporter | WA Metrics Agent (~75% lighter) |
| Forecasting horizon | Reactive (now) | 7-30 day forecasts (Wave Diagnosis) |
| Decision layer | Manual rules + HPA reaction | One ML-driven decision layer |
| Dashboards | Grafana | Keep 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.
| Aspect | Bare Istio / Envoy | Wave Flow |
|---|---|---|
| Priority shaping | Custom Envoy filters per service | WASM-based, configured per route class |
| Request-class awareness | None by default | Yes (checkout vs analytics, etc.) |
| Behavior under overload | Drop or queue uniformly | Preserve 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
- Important: Before You Begin: operational behaviors to know before installing.
- Quick Start: pick your platform and install.
- Architecture: how Wave's components run inside your cluster.