Toward a Smarter Cloud: Self-Aware Autoscaling of Cloud Configurations and Resources

Tao Chen, Rami Bahsoon
2015 Computer  
EDITOR SAN MURUGESAN BRITE Professional Services; san@computer.org T oday's IT service providers are increasingly leveraging cloud computing to offer flexible, scalable, and cost-effective services. Typically, organizations can tune the quality of service (QoS) for cloud-based services by accessing hardware resources (such as the CPU and memory) and software configurations (such as the number of service threads) that are shared, leased, and priced as utilities. Autoscaling-an automatic, elastic
more » ... process that adjusts software configurations and hardware resources to meet changing workloads' needs-facilitates the necessary adaptive configuring and resource provisioning in the cloud. However, cloud-based services exhibit dynamics and uncertainty related to changing workloads, configurations, and demands on resources, which are hard to cope with. In addition, because many cloud services run on a shared infrastructure, the competing demands of some of the services can interfere with the QoS of others. This QoS interference has made autoscaling even more difficult to manage. We believe self-awareness can solve these problems. LIMITATIONS AND OPPORTUNITIES Current autoscaling systems have limited adaptivity. Today's cloud QoS models rely on static offline analysis. 1,2 This nondynamic approach doesn't accurately model QoS sensitivity to changing configurations, resources, and workloads or to QoS interference. Thus, it limits autoscaling quality and the cloud's promised benefit as an on-demand, shared, and elastic resource. Within a shared cloud infrastructure, the granularity of autoscaling control can affect both benefits and overhead. Currently, organizations typically don't change the level and granularity of control on an entire cloud, physical machine, virtual machine (VM), or service. Promoting self-aware autoscaling to intelligently handle the dynamics and uncertainty of changing workloads, configurations, and demands on resources at runtime can facilitate more scalable, elastic, and dependable cloud-based services.
doi:10.1109/mc.2015.278 fatcat:rhlbgs46gzhihnxn7w5yghdzky