Cloud based resource prediction tool for development migrations for DevOps

dc.title: Cloud based resource prediction tool for development migrations for DevOps
dc.contributor.author: Ranaweera, AGNM
dc.description.abstract: Cloud computing is a promising paradigm for delivering computer services for industries, due to the advances in technologies such as virtualization, networking, web services, etc. As the cloud host providers offer an infinite amount of resources to their customers, the overhead of procuring traditional infrastructure resources has been reduced. In addition to the infinite resource offers, the dynamic resource scaling feature in the cloud allows the enterprise application owners to choose an appropriate pricing model. This feature in the cloud reduces the risk of over-provisioning and under-provisioning. Selecting an appropriate dynamic resource scaling model in the cloud platform is a tedious task as it depends on the accuracy of the forecasted resource provisioning values.
Based on this deliberate background, this research intends to model a POC (Proof of Concepts) for the future resource prediction in the cloud platform which assists the dynamic resource provisioning scaling. These resource provisioning predictions were done using the performance metrics gathered in the on-premises servers. The performance metrics gathered during 30 days were evaluated using the ARIMA (Autoregressive Integrated Moving Average) time series model. To improve the accuracy of the seasonality effects, the 30 days matrics have been gathered. Out of many ARIMA models, the best fitted ARIMA model was chosen based on the least RMSE (Root Mean Square Error).
The best fitted ARIMA model has predicted the future resource requirement of resources, by evaluating the gathered metrics. The model was trained based on the 75% data sets consisting of 22 days metrics and was tested using 25% data sets consisting of 8 days metrics. As a best practice, the data set splitting ratio has been selected as a 75:25 which consists of a higher number of data matrics for training. The resource provisioning model has been evaluated in the IaaS (Infrastructure as a Service) layer of the Amazon cloud. As the experimental cloud infrastructure, an EC2 (Elastic Cloud Compute) in the Amazon Web Services has been used. The observed values were evaluated using RMSE, MAPE (Mean Percentage Error), precision, recall, and F1 score factors as accuracy assessment criteria. The obtained accuracy percentages of CPU, RAM, Disk, and Network were respectively 84.07%, 93.13%, 90.47% and 71.16% which demonstrates a considerable accuracy for future forecast prediction. Further, visualization of the future forecasted resource provisioning results is provided in a dashboard. The developed dashboard has been evaluated through a survey comprised of a questionnaire that was distributed among a DevOps team which is consists of ten members. The sample of the survey consisted of both technical and non-technical users who have 4 to 14 years of work experience in the IT industry. The overall average satisfaction rate of the survey was 4.1 out of 5, which was a considerably acceptable result. Based on the survey results and accuracy percentages of assessment criteria, it can be concluded that the research work has been successful and the proposed dashboard will be used for resource provisioning management