Much has been reported on the millions of jobs artificial intelligence (AI) and machine learning will replace over the coming years, with a recent forecast suggesting that automated software could handle half of all workplace tasks by 2025. But the news isn’t all bad: this so-called “Fourth Industrial Revolution” will be a boon to the cloud and data center industry as more tasks, including cloud scaling, are augmented by machine learning.
To that end, Amazon Web Services (AWS) – which is hosting its annual re:Invent conference in Las Vegas through Friday – recently introduced predictive cloud scaling for EC2 instances that use machine learning models to help customers predict expected traffic and usage. AWS said the goal is to improve overall user experience and help customers avoid over-provisioning, which can cost enterprises money and DevOps resources.
AWS has offered Auto Scaling since 2009, which uses data from Amazon CloudWatch to dynamically scale EC2 instances. Auto Scaling enables users to define cloud scaling policies, so EC2 instances can scale automatically. Automatic scaling for cloud instances is a common feature across public clouds, with all the major vendors including Microsoft Azure and Google Cloud Platform offering their own version of the capability.
Predictive scaling takes Auto Scaling further by using data collected from actual EC2 usage and “billions of data points” drawn from AWS. According to a blog post by AWS evangelist Jeff Barr, the machine learning models trained on this data can predict traffic and EC2 usage, including daily and weekly patterns. The model can start making predictions after just one day of historical data and re-evaluates its predictions every 24 hours to create a forecast for the next 48 hours.
“We’ve done our best to make this really easy to use. You enable it with a single click, and then use a 3-step wizard to choose the resources that you want to observe and scale,” Barr said. “You can configure some warm-up time for your EC2 instances, and you also get to see actual and predicted usage in a cool visualization! The prediction process produces a scaling plan that can drive one or more groups of Auto Scaled EC2 instances.”
While this predictive cloud scaling capability is only useful for AWS customers, research is being done in this area to provide a more standard way to support predictive scaling for cloud instances regardless of the cloud environment they are hosted in.
In a paper published in October 2018, researchers from the Technical University of Munich explore use cases for PASSA, a cloud-native user-side tool that automates deployment and termination of VMs and creation and deletion of microservices according to a predefined schedule. A major disadvantage of existing solutions is they are native to some specific cloud service provider, but PASSA is open source so it can be applied across different cloud service providers.
There are also other third-party tools available that are focused on cloud costs savings, including Spotinist, which raised $35 million in September for its solution that uses predictive algorithms to automatically swap applications between spot, reserved and on-demand cloud instances to take advantage of the best pricing and performance. ParkMyCloud is another tool in this category.