Skip to main content

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

ParameterDescriptionDefault
min_instancesMinimum number of running instances1
max_instancesMaximum number of running instances10
scale_up_thresholdCPU usage percentage that triggers scale-up80%
scale_down_thresholdCPU usage percentage that triggers scale-down20%
cooldown_periodSeconds to wait between scaling actions300
scale_up_incrementNumber of instances to add per scale-up event1
scale_down_incrementNumber of instances to remove per scale-down event1

Instance Configuration

Each autoscaled instance is provisioned with the following configurable parameters:

ParameterDescriptionRequired
planVirtual server plan (e.g., VR2048x2x40)Yes
locationDeployment location identifierYes
imageOS image identifierYes
ssh_keySSH key for accessYes
user_dataCloud-init script for post-deploy configurationNo
tagsTags for instance identificationNo

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.