journal article·2021-04-23Open access

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

Nhat-Minh Dang-Quang, Myungsik Yoo

Applied Sciences· Volume 11· Issue 9

Abstract

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.
Source: crossref · Quality: baseline

Research context

OpenAlex topics: Cloud Computing and Resource Management · Traffic Prediction and Management Techniques · Data Stream Mining Techniques

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

Affiliations

Department of Information Communication Convergence Technology, Soongsil University, Seoul 06978, Korea

School of Electronic Engineering, Soongsil University, Seoul 06978, Korea

Funding

ITRC (Information Technology Research Center) support program

References (53)

Show source-provided references
1. Elasticity in Cloud Computing: State of the Art and Research Challenges10.1109/TSC.2017.2711009 ↗
2. Next generation cloud computing: New trends and research directions10.1016/j.future.2017.09.020 ↗
3. Pahl, C., Brogi, A., Soldani, J., and Jamshidi, P. (2017). Cloud Container Technologies: A State-of-the-Art Review. IEEE Trans. Cloud Comput.
4. Fernandez, H., Pierre, G., and Kielmann, T. (2014, January 11–14). Autoscaling Web Applications in Heterogeneous Cloud Infrastructures. Proceedings of the 2014 IEEE International Conference on Cloud Engineering, Boston, MA, USA.10.1109/IC2E.2014.25 ↗
5. Adaptive Microservice Scaling for Elastic Applications10.1109/JIOT.2020.2964405 ↗
6. Zhang, H., Jiang, G., Yoshihira, K., Chen, H., and Saxena, A. (2009, January 6–10). Intelligent Workload Factoring for a Hybrid Cloud Computing Model. Proceedings of the 2009 Congress on Services—I, Los Angeles, CA, USA.10.1109/SERVICES-I.2009.26 ↗
7. Workload Prediction Using ARIMA Model and Its Impact on Cloud Applications’ QoS10.1109/TCC.2014.2350475 ↗
8. Prachitmutita, I., Aittinonmongkol, W., Pojjanasuksakul, N., Supattatham, M., and Padungweang, P. (2018, January 29–31). Auto-scaling microservices on IaaS under SLA with cost-effective framework. Proceedings of the 2018 Tenth International Conference on Advanced Computational Intelligence (ICACI), Xiamen, China.10.1109/ICACI.2018.8377525 ↗
9. Qu, C., Calheiros, R.N., and Buyya, R. (2018). Auto-Scaling Web Applications in Clouds: A Taxonomy and Survey. ACM Comput. Surv., 51.10.1145/3148149 ↗
10. Dynamic Multi-level Auto-scaling Rules for Containerized Applications10.1093/comjnl/bxy043 ↗
11. Al-Dhuraibi, Y., Paraiso, F., Djarallah, N., and Merle, P. (2017, January 25–30). Autonomic Vertical Elasticity of Docker Containers with ELASTICDOCKER. Proceedings of the 2017 IEEE 10th International Conference on Cloud Computing (CLOUD), Honolulu, HI, USA.10.1109/CLOUD.2017.67 ↗
12. (2020, August 01). Horizontal Pod Autoscaler. Available online: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale.
13. Fang, W., Lu, Z., Wu, J., and Cao, Z. (2012, January 24–29). RPPS: A Novel Resource Prediction and Provisioning Scheme in Cloud Data Center. Proceedings of the 2012 IEEE Ninth International Conference on Services Computing, Honolulu, HI, USA.10.1109/SCC.2012.47 ↗
14. Ciptaningtyas, H.T., Santoso, B.J., and Razi, M.F. (2017, January 31). Resource elasticity controller for Docker-based web applications. Proceedings of the 2017 11th International Conference on Information Communication Technology and System (ICTS), Surabaya, Indonesia.10.1109/ICTS.2017.8265669 ↗
15. Combining time series prediction models using genetic algorithm to autoscaling Web applications hosted in the cloud infrastructure10.1007/s00521-015-2133-3 ↗
16. Machine learning-based auto-scaling for containerized applications10.1007/s00521-019-04507-z ↗
17. Tang, X., Liu, Q., Dong, Y., Han, J., and Zhang, Z. (2018, January 11–13). Fisher: An Efficient Container Load Prediction Model with Deep Neural Network in Clouds. Proceedings of the 2018 IEEE Intl Conf on Parallel Distributed Processing with Applications, Ubiquitous Computing Communications, Big Data Cloud Computing, Social Computing Networking, Sustainable Computing Communications (ISPA/IUCC/BDCloud/SocialCom/SustainCom), Melbourne, Australia.10.1109/BDCloud.2018.00041 ↗
18. Paszkiel, S. (2020). Using Neural Networks for Classification of the Changes in the EEG Signal Based on Facial Expressions. Analysis and Classification of EEG Signals for Brain–Computer Interfaces, Springer.10.1007/978-3-030-30581-9_7 ↗
19. Pouyanfar, S., Sadiq, S., Yan, Y., Tian, H., Tao, Y., Reyes, M.P., Shyu, M.L., Chen, S.C., and Iyengar, S.S. (2018). A Survey on Deep Learning: Algorithms, Techniques, and Applications. ACM Comput. Surv., 51.10.1145/3234150 ↗
20. Bidirectional recurrent neural networks10.1109/78.650093 ↗
21. (2021, March 03). Time Series Analysis. Available online: https://en.wikipedia.org/wiki/Time_series.
22. Research on Auto-Scaling of Web Applications in Cloud: Survey, Trends and Future Directions10.12694/scpe.v20i2.1537 ↗
23. Borkowski, M., Schulte, S., and Hochreiner, C. (2016, January 6–9). Predicting Cloud Resource Utilization. Proceedings of the 2016 IEEE/ACM 9th International Conference on Utility and Cloud Computing (UCC), Shanghai, China.10.1145/2996890.2996907 ↗
24. HANSEL: Adaptive horizontal scaling of microservices using Bi-LSTM10.1016/j.asoc.2021.107216 ↗
25. Toka, L., Dobreff, G., Fodor, B., and Sonkoly, B. (2020, January 11–14). Adaptive AI-based auto-scaling for Kubernetes. Proceedings of the 2020 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID), Melbourne, Australia.10.1109/CCGrid49817.2020.00-33 ↗
26. (2020, August 01). Page View Statistics for Wikimedia Projects. Available online: http://dumps.wikimedia.org/other/pagecounts-raw.
27. (2020, August 01). Two Month’s Worth of All HTTP Requests to the NASA Kennedy Space Center, Available online: fttp://ita.ee.lbl.gov/html/contrib/NASA-HTTP.html.
28. Automatic Time Series Forecasting: The forecast Package for R10.18637/jss.v027.i03 ↗
29. Cardiac Arrhythmia Disease Classification Using LSTM Deep Learning Approach
30. (2020, August 01). The Reliable, High Performance TCP/HTTP Load Balancer. Available online: http://www.haproxy.org/.
31. (2020, August 01). Prometheus-Monitoring System & Time Series Database. Available online: https://prometheus.io/.
32. (2020, August 01). Kubernetes. Available online: https://kubernetes.io/.
33. (2020, August 01). Empowering App Development for Developers | Docker. Available online: https://www.docker.com/.
34. Hochreiter, S., and Schmidhuber, J. (1996, January 2–5). LSTM can solve hard long time lag problems. Proceedings of the 9th International Conference on Neural Information Processing, Denver, CO, USA.
35. Ng, W.K., Kitsuregawa, M., Li, J., and Chang, K. (2006). Multistep-Ahead Time Series Prediction. Advances in Knowledge Discovery and Data Mining, Springer.10.1007/11731139 ↗
36. Sundermeyer, M., Schlüter, R., and Ney, H. (2012, January 9–13). LSTM Neural Networks for Language Modeling. Proceedings of the 13th Annual Conference of the International Speech Communication Association, Portland, OR, USA.10.21437/Interspeech.2012-65 ↗
37. Pascanu, R., Mikolov, T., and Bengio, Y. (2013, January 16–21). On the Difficulty of Training Recurrent Neural Networks. Proceedings of the 30th International Conference on International Conference on Machine Learning, Atlanta, GA, USA.
38. Ramakrishnan, L., and Plale, B. (2010, January 6–10). A multi-dimensional classification model for scientific workflow characteristics. Proceedings of the ACM SIGMOD International Conference on Management of Data, Indianapolis, Indiana.10.1145/1833398.1833402 ↗
39. Meng, Y., Rao, R., Zhang, X., and Hong, P. (2016, January 23–25). CRUPA: A container resource utilization prediction algorithm for auto-scaling based on time series analysis. Proceedings of the 2016 International Conference on Progress in Informatics and Computing (PIC), Shanghai, China.10.1109/PIC.2016.7949546 ↗
40. (2020, August 01). 1998 Worldcup Website Access Logs, Available online: fttp://ita.ee.lbl.gov/html/contrib/WorldCup.html.
41. Ye, T., Guangtao, X., Shiyou, Q., and Minglu, L. (2017, January 10–11). An Auto-Scaling Framework for Containerized Elastic Applications. Proceedings of the 2017 3rd International Conference on Big Data Computing and Communications (BIGCOM), Chengdu, China.10.1109/BIGCOM.2017.40 ↗
42. Auto-scaling web applications in clouds: A cost-aware approach10.1016/j.jnca.2017.07.012 ↗
43. Roy, N., Dubey, A., and Gokhale, A. (2011, January 4–9). Efficient Autoscaling in the Cloud Using Predictive Models for Workload Forecasting. Proceedings of the 2011 IEEE 4th International Conference on Cloud Computing, Washington, DC, USA.10.1109/CLOUD.2011.42 ↗
44. Chameleon: A Hybrid, Proactive Auto-Scaling Mechanism on a Level-Playing Field10.1109/TPDS.2018.2870389 ↗
45. (2020, December 27). Tensorflow. Available online: https://www.tensorflow.org.
46. (2020, December 27). Statistical Models, Hypothesis Tests, and Data Exploration. Available online: https://www.statsmodels.org/stable/index.html.
47. (2020, December 27). Google Colab. Available online: https://colab.research.google.com.
48. (2021, March 03). How to Create an ARIMA Model for Time Series Forecasting in Python. Available online: https://machinelearningmastery.com/arima-for-time-series-forecasting-with-python/.
49. (2021, March 03). How to Develop LSTM Models for Time Series Forecasting. Available online: https://machinelearningmastery.com/how-to-develop-lstm-models-for-time-series-forecasting/.
50. (2021, March 03). Apache JMeter. Available online: https://github.com/apache/jmeter.
51. (2021, March 03). The Prometheus Monitoring System and Time Series Database. Available online: https://github.com/prometheus/prometheus.
52. Bauer, A., Grohmann, J., Herbst, N., and Kounev, S. (2018, January 26–28). On the Value of Service Demand Estimation for Auto-scaling. Proceedings of the MMB 2018: Measurement, Modelling and Evaluation of Computing Systems, Erlangen, Germany.10.1007/978-3-319-74947-1_10 ↗
53. Herbst, N., Krebs, R., Oikonomou, G., Kousiouris, G., Evangelinou, A., Iosup, A., and Kounev, S. (2016). Ready for Rain? A View from SPEC Research on the Future of Cloud Metrics. arXiv.