An Auto-Scaling Approach using Load Prediction for IoT-based Cloud Application
Loading...
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Cloud Computing enables a dynamic platform for deploying numerous internet applications
by offering services such as software, and infrastructure. The Internet of Things
(IoT) offers a variety of potential opportunities and applications, including smart grids,
smart cities, intelligent transportation systems, e-health, and more, to fulfill various Cloud
services. Thus, to address the current and future needs of end users, IoT and cloud computing
are merged for the overall growth and organization of such applications.
In addition to the advantages, complex cloud scenarios provide several challenges for IoT
applications, such as scalability, reliability, heterogeneity, security, and privacy. One of
the emerging issues for different IoT-based Cloud applications is auto-scaling. These days,
many applications benefit from the auto-scaling capability, which allows them to scale
up and down resources automatically. For efficient and autonomic scaling, predicting the
future load on the host is recommended. This is because the load fluctuations may occur
due to the dynamic resource usage among Cloud tenants. The over-utilized or underutilized
status of the host can be monitored based on the predicted resource utilization,
and the migration process can be performed to maintain the load on that host.
In this research work, an auto-scaling technique has been proposed using load prediction
for IoT-based Cloud application. First, an extensive literature survey of existing
Cloud-based IoT applications has been done to achieve the objectives. Furthermore,
state-of-the-art auto-scaling techniques have been surveyed, and necessary Quality of
Service (QoS) parameters have been keyed out. From the literature, it can be inferred
that load prediction-based auto-scaling is a challenging issue that must be handled intelligently.
For dynamic load prediction, an Ensemble Time-Series Approach for Load Prediction
(ETSA-LP) has been proposed which integrates five time-series analysis techniques (ARIMA,ANN, SVM, LSTM & ES) for predicting CPU and memory utilization. To evaluate
the efficiency of the proposed approach, a series of experiments on Google and Planet-
Lab traces have been conducted in a real Cloud environment. The proposed ensemble
approach gives the best performance over the existing models by showing remarkable
accuracy improvement and reducing the error rate and execution time.
Further, an efficient auto-scaling approach for predicting host load through Virtual Machine
(VM) migration has been proposed. Different algorithms have been devised to
detect over-utilized and under-utilized hosts based on the predicted resource utilization.
Also, a VM migration algorithm has been deployed that helps to choose the appropriate
VM to be migrated. The designed approach has been validated by experimentation
on a real-time Google cluster dataset. The proposed technique significantly improves
average CPU utilization and reduces over-utilization and under-utilization. It also minimizes
response time, SLA violations, and the slighter number of migrations and scaling
overhead.
For testing and validating the proposed approach, actual cloud platforms, GCP (Google
Cloud Platform) and AWS (AmazonWeb Services) have been used. In this research work,
heterogeneous VMs (Virtual Machines) are created for parallel execution and validating
the performance of the proposed approach. The average load variations and status of
VMs at different time intervals have been monitored.
A case study based on a fog platform for IoT applications has also been considered for
further enhancement. A Fog-Enabled Auto-Scaling Technique (FEAST) has been proposed
to predict resource usage concerning CPU, memory, disk, and network utilization
using the deep learning model. Several experiments have been conducted to evaluate
performance and validate several indicators related to resource usage, scaling overhead,
delay, and SLA violations, etc.
