Autoscaling
NetActuate autoscaling automatically adjusts your infrastructure based on demand. You can scale horizontally by adding or removing instances, or vertically by resizing existing instances.
How Autoscaling Works
Autoscaling monitors your defined metrics and triggers scaling actions when thresholds are met. You define the scaling parameters, and the system handles provisioning and deprovisioning automatically.
Scaling Parameters
| Parameter | Description | Default |
|---|---|---|
min_instances | Minimum number of running instances | 1 |
max_instances | Maximum number of running instances | 10 |
scale_up_threshold | CPU usage percentage that triggers scale-up | 80% |
scale_down_threshold | CPU usage percentage that triggers scale-down | 20% |
cooldown_period | Seconds to wait between scaling actions | 300 |
scale_up_increment | Number of instances to add per scale-up event | 1 |
scale_down_increment | Number of instances to remove per scale-down event | 1 |
Instance Configuration
Each autoscaled instance is provisioned with the following configurable parameters:
| Parameter | Description | Required |
|---|---|---|
plan | Virtual server plan (e.g., VR2048x2x40) | Yes |
location | Deployment location identifier | Yes |
image | OS image identifier | Yes |
ssh_key | SSH key for access | Yes |
user_data | Cloud-init script for post-deploy configuration | No |
tags | Tags for instance identification | No |
Horizontal Scaling (Scale Out / Scale In)
Horizontal scaling adds or removes instances from your pool based on demand.
Scale-Up Behavior
When the average CPU usage across your instance pool exceeds the scale_up_threshold, autoscaling provisions new instances up to the max_instances limit. Each new instance is configured identically using your instance template.
Scale-Down Behavior
When the average CPU usage drops below the scale_down_threshold, autoscaling removes instances down to the min_instances floor. Instances are drained gracefully before removal.
Multi-Location Scaling
You can configure autoscaling across multiple NetActuate locations. This distributes your instances geographically for improved latency and redundancy.
Specify multiple locations in your autoscaling configuration, and the system distributes new instances across them based on your distribution policy (round-robin, weighted, or latency-based).
Monitoring and Metrics
Autoscaling decisions are based on the following collected metrics:
- CPU utilization (average across pool)
- Memory utilization
- Network throughput
- Custom metrics via API
You can view current scaling status and history through the API or the NetActuate portal.
Configuration Example
{
"autoscaling": {
"enabled": true,
"min_instances": 2,
"max_instances": 8,
"scale_up_threshold": 75,
"scale_down_threshold": 25,
"cooldown_period": 300,
"instance_template": {
"plan": "VR4096x2x60",
"location": "ashburn",
"image": "ubuntu-24.04",
"ssh_key": "my-key"
}
}
}
Note: Autoscaling requires an active API key. Generate one in the portal under Account -> API Keys.
Vertical Scaling
For resizing individual instances rather than adjusting pool size, see Vertical Scaling.
Need Help?
If you need assistance configuring autoscaling, visit our support page.