Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for Kubernetes

Presently, the cloud computing environment attracts many application developers to deploy their web applications on cloud data centers. Kubernetes, a well-known container orchestration for deploying web applications on cloud systems, offers an automatic scaling feature to meet clients’ ever-changing...

Full description

Bibliographic Details
Main Authors: Nhat-Minh Dang-Quang, Myungsik Yoo
Format: Article
Language:English
Published: MDPI AG 2021-04-01
Series:Applied Sciences
Subjects:
Online Access:https://www.mdpi.com/2076-3417/11/9/3835
_version_ 1797536577436516352
author Nhat-Minh Dang-Quang
Myungsik Yoo
author_facet Nhat-Minh Dang-Quang
Myungsik Yoo
author_sort Nhat-Minh Dang-Quang
collection DOAJ
description Presently, the cloud computing environment attracts many application developers to deploy their web applications on cloud data centers. Kubernetes, a well-known container orchestration for deploying web applications on cloud systems, offers an automatic scaling feature to meet clients’ ever-changing demands with the reactive approach. This paper proposes a system architecture based on Kubernetes with a proactive custom autoscaler using a deep neural network model to handle the workload during run time dynamically. The proposed system architecture is designed based on the Monitor–Analyze–Plan–Execute (MAPE) loop. The main contribution of this paper is the proactive custom autoscaler, which focuses on the analysis and planning phases. In analysis phase, Bidirectional Long Short-term Memory (Bi-LSTM) is applied to predict the number of HTTP workloads in the future. In the planning phase, a cooling-down time period is implemented to mitigate the oscillation problem. In addition, a resource removal strategy is proposed to remove a part of the resources when the workload decreases, so that the autoscaler can handle it faster when the burst of workload happens. Through experiments with two different realistic workloads, the Bi-LSTM model achieves better accuracy not only than the Long Short-Term Memory model but also than the state-of-the-art statistical auto-regression integrated moving average model in terms of short- and long-term forecasting. Moreover, it offers 530 to 600 times faster prediction speed than ARIMA models with different workloads. Furthermore, as compared to the LSTM model, the Bi-LSTM model performs better in terms of resource provision accuracy and elastic speedup. Finally, it is shown that the proposed proactive custom autoscaler outperforms the default horizontal pod autoscaler (HPA) of the Kubernetes in terms of accuracy and speed when provisioning and de-provisioning resources.
first_indexed 2024-03-10T12:01:44Z
format Article
id doaj.art-49c18189a30942c6bcafa77966cabdde
institution Directory Open Access Journal
issn 2076-3417
language English
last_indexed 2024-03-10T12:01:44Z
publishDate 2021-04-01
publisher MDPI AG
record_format Article
series Applied Sciences
spelling doaj.art-49c18189a30942c6bcafa77966cabdde2023-11-21T16:53:19ZengMDPI AGApplied Sciences2076-34172021-04-01119383510.3390/app11093835Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for KubernetesNhat-Minh Dang-Quang0Myungsik Yoo1Department of Information Communication Convergence Technology, Soongsil University, Seoul 06978, KoreaSchool of Electronic Engineering, Soongsil University, Seoul 06978, KoreaPresently, the cloud computing environment attracts many application developers to deploy their web applications on cloud data centers. Kubernetes, a well-known container orchestration for deploying web applications on cloud systems, offers an automatic scaling feature to meet clients’ ever-changing demands with the reactive approach. This paper proposes a system architecture based on Kubernetes with a proactive custom autoscaler using a deep neural network model to handle the workload during run time dynamically. The proposed system architecture is designed based on the Monitor–Analyze–Plan–Execute (MAPE) loop. The main contribution of this paper is the proactive custom autoscaler, which focuses on the analysis and planning phases. In analysis phase, Bidirectional Long Short-term Memory (Bi-LSTM) is applied to predict the number of HTTP workloads in the future. In the planning phase, a cooling-down time period is implemented to mitigate the oscillation problem. In addition, a resource removal strategy is proposed to remove a part of the resources when the workload decreases, so that the autoscaler can handle it faster when the burst of workload happens. Through experiments with two different realistic workloads, the Bi-LSTM model achieves better accuracy not only than the Long Short-Term Memory model but also than the state-of-the-art statistical auto-regression integrated moving average model in terms of short- and long-term forecasting. Moreover, it offers 530 to 600 times faster prediction speed than ARIMA models with different workloads. Furthermore, as compared to the LSTM model, the Bi-LSTM model performs better in terms of resource provision accuracy and elastic speedup. Finally, it is shown that the proposed proactive custom autoscaler outperforms the default horizontal pod autoscaler (HPA) of the Kubernetes in terms of accuracy and speed when provisioning and de-provisioning resources.https://www.mdpi.com/2076-3417/11/9/3835cloud computingweb applicationautoscalingtime-series analysisresource estimationKubernetes
spellingShingle Nhat-Minh Dang-Quang
Myungsik Yoo
Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for Kubernetes
Applied Sciences
cloud computing
web application
autoscaling
time-series analysis
resource estimation
Kubernetes
title Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for Kubernetes
title_full Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for Kubernetes
title_fullStr Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for Kubernetes
title_full_unstemmed Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for Kubernetes
title_short Deep Learning-Based Autoscaling Using Bidirectional Long Short-Term Memory for Kubernetes
title_sort deep learning based autoscaling using bidirectional long short term memory for kubernetes
topic cloud computing
web application
autoscaling
time-series analysis
resource estimation
Kubernetes
url https://www.mdpi.com/2076-3417/11/9/3835
work_keys_str_mv AT nhatminhdangquang deeplearningbasedautoscalingusingbidirectionallongshorttermmemoryforkubernetes
AT myungsikyoo deeplearningbasedautoscalingusingbidirectionallongshorttermmemoryforkubernetes