Docs
Wave Autoscale
Overview

Autopilot Overview

Autopilot is Wave Autoscale's intelligent horizontal pod autoscaling solution that dynamically adjusts the number of pod replicas in response to real-time workload demands. Unlike traditional Horizontal Pod Autoscaler (HPA), Autopilot uses machine learning to learn individual workload patterns and responds to scaling events.

What is Autopilot?

Autopilot is an ML-driven horizontal scaling system that automatically manages pod replica counts based on real-time metrics and workload patterns. It replaces manual HPA configuration with autonomous scaling decisions that adapt to your application's unique behavior.

How Autopilot Works

Autopilot continuously evaluates each workload and combines real-time metrics with machine learning to make smart scaling decisions:

Autopilot Pipeline Diagram
  1. Collect Metrics: Gathers current CPU, memory, network, and request data, ensuring it's recent and accurate
  2. Safety Checks: Waits for cooldown periods to complete and verifies settings to prevent rapid back-and-forth scaling
  3. Analyze & Predict: Checks if metrics exceed thresholds while the ML service predicts the best replica count based on historical patterns, current metrics, and your optimization mode (Performance vs Cost)
  4. Make Decision: Combines rule-based logic with ML predictions, with fallback calculations for safety
  5. Scale: Adjusts the number of pods in your Kubernetes cluster

Autopilot vs Traditional HPA

FeatureTraditional HPAAutopilot
Response Time30 seconds - 5 minutes< 10 seconds
ConfigurationManual threshold tuning per serviceWorkload behaviour based learning
MetricsBasic CPU/MemoryNetwork, Requests, PSI
Scaling ApproachReactive to current loadPerformance model based
AdaptationStatic thresholdsContinuously learning
Over/Under ProvisioningCommon due to conservative marginsMinimized through pattern learning

Core Features

1. Strategy-Based Optimization

Autopilot provides two optimization strategies:

Performance: Conservative scaling optimized for maximum responsiveness

  • Rounds up replica calculations to ensure sufficient capacity
  • Higher CPU/memory target thresholds (90% CPU, 95% memory)
  • Prioritizes availability over cost

Cost: Balanced scaling optimized for resource efficiency

  • Rounds replica calculations normally
  • Lower CPU/memory target thresholds (70% CPU, 85% memory)
  • Balances performance with cost savings

2. ML-Driven Scaling (Autopilot ML Model)

Uses the Autopilot ML model that learns the relationship between workload load and performance:

  • Training: Analyzes historical metrics (default: 14 days) to build workload-specific models
  • Prediction: Predicts optimal replica count based on:
    • Current load (network traffic or request count)
    • Performance metrics (CPU usage, memory usage, latency)
    • Target performance thresholds from strategy
    • Resource requests (CPU cores, memory)
  • Fallback: Falls back to HPA-style utilization-based scaling when ML model unavailable

3. Predictive Scaling with Forecasting

Proactive scaling using time-series forecasting:

  • Forecast Horizon: Looks ahead (configurable minutes) to predict future load
  • Load Forecasting: Uses statistical models to forecast load metrics
  • Early Scaling: Scales up before traffic arrives to prevent latency spikes

4. Timing Controls

Fine-grained control over scaling behavior:

  • Cooldown Period: Prevents rapid successive scaling actions (default configurable per workload)
  • Stabilization Window: Additional delay before scaling down to prevent flapping
  • Ignore Initial Metrics: Skips metrics during workload startup phase
  • Gradual Scaling: Implements gradual scale-in protection. After a scaling action, prevents rapid scale-in for the configured duration.

5. Core Configuration

Comprehensive per-workload settings:

Application Type Profiles:

  • CPU Intensive: Optimizes for CPU-bound workloads
  • Memory Intensive: Optimizes for memory-bound workloads

Load Tracking:

  • Network In: Scales based on incoming network traffic
  • Requests: Scales based on request count
  • Custom PromQL: Scales based on custom Prometheus queries

Threshold Configuration:

  • CPU percentage threshold
  • Memory percentage threshold
  • Request count threshold

Resource Boundaries:

  • Min replicas (lower bound)
  • Max replicas (upper bound)
  • Fallback CPU utilization target
  • Fallback memory utilization target

Performance Objectives:

  • Latency targets (optional)
  • Forecast horizon for predictive scaling

6. Autopilot Scheduler

Time-based configuration management:

Schedule Types:

  • Period: Recurring schedules with day-of-week selection (Sun-Sat)
  • Once: One-time schedule execution

Features:

  • Multiple Configurations: Apply different autopilot configs at different times (e.g., aggressive scaling during business hours, conservative at night)
  • Config Swapping: Automatically switches between different strategy/threshold combinations based on schedule

7. Operating Modes

Two flags control autopilot behavior:

  • Monitoring: When enabled, autopilot runs the full pipeline
  • Autopilot Enabled: When enabled with simulation mode, actually applies scaling decisions
MonitoringAutopilot EnabledBehavior
✅ true✅ trueFull Autopilot - Makes predictions and applies scaling
✅ true❌ falseMonitoring Only - Makes predictions but doesn't scale
❌ false(any)Disabled - No processing
Autopilot Monitoring Toggle

This allows safe testing (monitoring mode) before enabling full autopilot.

Integration with Other Wave Features

Autopilot works seamlessly with:

  • Smart Sizing: Vertical optimization complements horizontal scaling
  • Autopilot Scheduler: Time-based policies for predictable scaling events

Learn More