|Abstract||Proactive auto-scaling techniques aim to predict the future workload of web
applications to provision the required resources, such as virtual machines (VMs), ahead
of time. Nevertheless, deciding the optimal number of resources to allocate is a
challenging task due to the dynamic nature of workload characteristics and the
difficulty of predicting them. Most of the existing workload approaches only consider
one workload feature which is typically the volume of requests to characterize and
predict the workload. In this thesis, we report the design and development of a time
aware workload prediction model that considers the request time features in order to
achieve better workload characterization and prediction. We explore two different
approaches, namely Time-Aware Single-Modeling and Time-Aware Multi-Modeling.
The Time-Aware Single-Modeling approach builds one model for the entire time-space
and has three variations: multivariate regression, univariate Long Short-Term Memory
Neural Networks (LSTM), and multivariate LSTM neural network model. While, Time
Aware Multi-Modeling approach develops a prediction model for each time partition
discovered using a periodicity detection component.
The proposed solutions are evaluated using two real workload datasets: Library
portal at Qatar University and NewsLink portal in Pakistan. The results demonstrate
that the time-aware approaches achieve more accurate predictions of the workload patterns compared to other existing approaches. Also, it has been shown that the
achieved improvements are statistically different than existing approaches.