carloscastilla - Fotolia


AWS predictive scaling boosts cloud's resource management

AWS Auto Scaling offers adjustable resources for workloads with fluctuations in demand. With predictive scaling, AWS applies machine learning to anticipate spikes in capacity needs.

AWS developed a feature for AWS Auto Scaling groups called predictive scaling that can improve the efficiency of enterprise cloud environments. AWS deployments commonly include these groups, which give customers scalability and elasticity when they work with EC2 resources.

AWS predictive scaling capabilities

Predictive scaling is meant to remove the manual adjustments cloud administrators make to set up Auto Scaling. It relies on forecasted demand input from machine learning algorithms to automate instance provisioning. Because it analyzes daily and weekly patterns, predictive scaling brings up new instances in advance of demand surges to match traffic needs. It identifies regularly occurring spikes, but not irregular ones -- for instance, increased requests to your WordPress site at a particular time every evening, but not huge traffic that randomly hits your servers throughout the week.

Predictive scaling increases the efficiency of AWS Auto Scaling groups by making them more responsive and reducing overall AWS costs. It is not meant to replace AWS users' scaling policies, but it is quite possible that it will in most cases.

How to use predictive scaling

To use predictive scaling, simply go to the AWS Auto Scaling console and click "Get started." You must choose which resources to scale. Either pick AWS Auto Scaling groups, search with tags or select CloudFormation stacks.

You'll need to devise a scaling strategy, which you can optimize for cost, availability or a bit of both. Enable AWS predictive scaling by simply checking a box, and it will start to forecast and provision the minimum necessary capacity for the deployment you've selected. You can also enable dynamic scaling, which uses target-tracking policies -- based on values and limits you set for your Auto Scaling group -- to scale capacity up and down as needed.

How to enable scaling
Select a strategy to set predictive scaling priorities.

AWS cloud admins have the option to forego predictive scaling for production. If you do not enable the predictive scaling option, it won't auto scale your compute resources. But the analytics and predictions will still be there. Use this for testing purposes to analyze the workload's instance consumption data and create a forecast. AWS predictive scaling needs at least one day's worth of data in order to make predictions. It will re-evaluate a data set again each day and create a forecast for the next 48 hours. The longer the analytics run, the more precise the model will be.

When to use predictive scaling

Predictive scaling with AWS Auto Scaling groups can pay off in a few key ways. For example, some AWS customers need to scale proactively, as they can't afford to start scaling late. Their businesses can't afford the implication that they're short on resources. Others might want to reduce cloud spending by finely optimizing when and how a workload scales to use more instances. Many cloud administrators experience frequent and regular spikes in traffic and want to ensure the environments are up to the task of handling them.

This application of machine learning enables organizations to accurately automate resource scaling at no additional cost. AWS also plans to apply these principles to other resource types over time. So if your cloud environment relies on AWS Auto Scaling groups, give predictive scaling a go.
The capability is available now in AWS' U.S. East (North Virginia), U.S. East (Ohio), U.S. West (Oregon), Europe (Ireland) and Asia Pacific (Singapore) regions.

Dig Deeper on AWS infrastructure

App Architecture
Cloud Computing
Software Quality