Scaling and Auto-Scaling

A major advantage of container technology has been the ability to easily scale up applications and services to meet demand. The Cycle platform makes it easy to scale containers and infrastructure, both manually and automatically based on various thresholds.

Manual Scaling

On Cycle, stateless containers can be manually scaled via the portal, CLI, or API, with some exceptions. Manually scaling a container will increase or decrease the number of instances to match the desired amount, following the container's deployment strategy.

Some deployment strategies will not support scaling, such as the node strategy.

Auto-Scaling

Auto-scaling leaves the decision to scale up or down to the platform, based on user-defined criteria set on the container. There are two halves to auto-scaling on Cycle - instance auto-scaling and infrastructure auto-scaling.

Instance Auto-Scaling

When configured, Cycle will use thresholds to decide whether or not to scale the instances of a container. The instances can be scaled up to the resource limits of the cluster. Cycle has various options for setting the minimum and maximum number of instances, the number of instances to add or remove when a scaling threshold is met, and the minimum TTL of auto-scaled instances.

Auto-scaling decisions are made within a window. Every interval, the current thresholds will be reevaluated and adjustments made if necessary.

Newly scaled instances will have auto-scaling thresholds applied as well. As long as the demand is not being met and the thresholds continue to be crossed, Cycle will scale out instances until an equilibrium is achieved.

Infrastructure Auto-Scaling

Containers can be configured to scale up additional infrastructure during auto-scaling if cluster resource limits are met. This is done by assigning an auto-scale group. When an auto-scale group is assigned to a container, it dictates what servers and in what order Cycle can deploy in order to meet the container's scale demands. Once these thresholds are no longer being met, Cycle will scale down the infrastructure in reverse order.

Auto-scale groups are not limited to a single datacenter or provider. The auto-scale group can define infrastructure spanning multiple cloud providers, as long as they are configured on the hub.

To get started with auto-scale groups on Cycle, follow the interface-specific documentation below:

Scaling Thresholds

There are several different thresholds a container can define for auto-scaling.

CPU Threshold

The CPU threshold is triggered when the average utilization of the CPU is over the set value during the window, accounting for the container's CPU limits.

RAM Threshold

The RAM threshold is triggered when the average RAM usage of the instance is over the set value during the window, accounting for the container's RAM limits

Network Connections Threshold

The network connection threshold is triggered when the total number of unique connections exceeds the set value during the window.

Network Requests Threshold

The network requests threshold is triggered when the total number of requests exceeds the set value during the window.

Network Requests Throughput

The network throughput threshold is triggered when the total amount of traffic over the chosen interface exceeds the set value during the window.

Set up Auto-Scaling on Cycle

See our dedicated, interface-specific documentation for setting up auto-scaling: