Scaledynamics caas provides an autoscaling feature that adapts dynamically the infrastructure according to runner state. This is particularly usefull when traffic can change according to traffic.
ScaleDynamics Auto Scaling monitors your infrastructure and automatically adjusts capacity to maintain steady, predictable performance at the lowest possible cost.
It’s easy to get started with ScaleDynamics Auto Scaling using the ScaleDynamics Console. ScaleDynamics Auto Scaling is available at no additional charge.
Principle of auto scaling is to define some events to minitor during a period of time to scale-up (move containers running on the current runner to a higher runner configuration), or scale-down (move containers running on the current runner to a smaller runner configuration). The runners will be allocated on the same provider and region of the first runner you selected.
On the 'Runners' page that show all runner, you will see on which runners the auto scaling is enabled. To enable or disable the auto scaling, click on 'view' runner to access auto scaling settings.
When enabling or setting the runner configuration, you have to configure events for scaling up. The interface provides a predefined configuration.
You have to define on which CPU and RAM threshold during a period of time is met on the current runner to realize a scale up. For example, scale up when CPU of the current runner is higher or equals to 75% during 2 seconds. You also have to indicate which maximum runner configuration you can allocate in term of cpu, ram or disk to have a cost control of your infrastructure.
Scale up configuration
As for the scale-up, you have to define on which CPU and RAM threshold during a period of time is met on the current runner to realize a scale down. For example, scale down when CPU of the current runner is smaller or equals to 20% during 60 seconds. You also have to indicate which minimum runner configuration you can allocate in term of cpu, ram or disk.
Scale down configuration
When scaling-up the platform allocate a higher runner and move containers on the new runner, and DNS is changed to redirect the traffic to the new runner. That means that until the DNS is updated, the previous traffic still goes on the previous runner for a period a time, which is in general 60 minutes. So during that time the previous runner is kept alive before shutdown. This is why you have to set the old runner deallocation time for auto-scaling.
Note that when scaling-down, the platform reuses old runners still alive to move containers on it.
Runner deallocation time