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...
Main Authors: | , |
---|---|
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 |