Proactive automatic up-scaling for Kubernetes

Modern challenges in microservice architecture requires autoscaling (upscaling and down-scaling). As an example Black Friday can be considered when load to system increases significantly and obviously more computing capabilities are need to serve it. Automatic up-scaling can allow devops team work a...

Full description

Bibliographic Details
Main Authors: D. Gutman, O. Syrota
Format: Article
Language:English
Published: Igor Sikorsky Kyiv Polytechnic Institute 2023-05-01
Series:Adaptivni Sistemi Avtomatičnogo Upravlinnâ
Subjects:
Online Access:http://asac.kpi.ua/article/view/278925
_version_ 1827378582839623680
author D. Gutman
O. Syrota
author_facet D. Gutman
O. Syrota
author_sort D. Gutman
collection DOAJ
description Modern challenges in microservice architecture requires autoscaling (upscaling and down-scaling). As an example Black Friday can be considered when load to system increases significantly and obviously more computing capabilities are need to serve it. Automatic up-scaling can allow devops team work as normal even in situations of extreme load to the system. Up-scaling and spinning up of new instance can take a while and make user wait for better system’s performance until new instance is be up and running. That is why up-scaling activities should be started as early as possible. The only solution is to use prediction on load and start up-scaling earlier having prediction of future load trend. In this article automatic up-scaling is for Kubernetes in focus as Kubernetes is defacto a standard for container orchestration. Authors propose solution, providing git-reference to source code. Solution is implemented as Java-based application which uses time-series database (InfluxDB in this case) to understand microservice load. Solution utilizes two prediction models - Exponential Smoothing (ES) and Double Exponential Smoothing (DES). Two models are used to compare with each other. Performance tests are conducted to analyze two main use-cases – use case of slow load growth and case of rapid load growth. Based on experiments it is found that for all cases pro-active up-scaling works better than reactive one. Value from pro-active approach is more visible for case of rapid load growth. If to compare ES and DES between each other, in both cases DES showed better results. Future improvement of the solution could be to make a solution as extension to Kubernetes eco-system for easy plugging-in to Kubernetes infrastructure. Also one of the improvement could be supporting of Prometheus as timeseries database. Ref. 20, pic. 3, tabl. 2
first_indexed 2024-03-08T12:59:04Z
format Article
id doaj.art-1e323589892443e7b2dc179cd1c44fa4
institution Directory Open Access Journal
issn 1560-8956
2522-9575
language English
last_indexed 2024-03-08T12:59:04Z
publishDate 2023-05-01
publisher Igor Sikorsky Kyiv Polytechnic Institute
record_format Article
series Adaptivni Sistemi Avtomatičnogo Upravlinnâ
spelling doaj.art-1e323589892443e7b2dc179cd1c44fa42024-01-19T12:06:18ZengIgor Sikorsky Kyiv Polytechnic InstituteAdaptivni Sistemi Avtomatičnogo Upravlinnâ1560-89562522-95752023-05-01142323810.20535/1560-8956.42.2023.278925317121Proactive automatic up-scaling for KubernetesD. Gutman0O. Syrota1Igor Sikorsky Kyiv Polytechnic InstituteIgor Sikorsky Kyiv Polytechnic InstituteModern challenges in microservice architecture requires autoscaling (upscaling and down-scaling). As an example Black Friday can be considered when load to system increases significantly and obviously more computing capabilities are need to serve it. Automatic up-scaling can allow devops team work as normal even in situations of extreme load to the system. Up-scaling and spinning up of new instance can take a while and make user wait for better system’s performance until new instance is be up and running. That is why up-scaling activities should be started as early as possible. The only solution is to use prediction on load and start up-scaling earlier having prediction of future load trend. In this article automatic up-scaling is for Kubernetes in focus as Kubernetes is defacto a standard for container orchestration. Authors propose solution, providing git-reference to source code. Solution is implemented as Java-based application which uses time-series database (InfluxDB in this case) to understand microservice load. Solution utilizes two prediction models - Exponential Smoothing (ES) and Double Exponential Smoothing (DES). Two models are used to compare with each other. Performance tests are conducted to analyze two main use-cases – use case of slow load growth and case of rapid load growth. Based on experiments it is found that for all cases pro-active up-scaling works better than reactive one. Value from pro-active approach is more visible for case of rapid load growth. If to compare ES and DES between each other, in both cases DES showed better results. Future improvement of the solution could be to make a solution as extension to Kubernetes eco-system for easy plugging-in to Kubernetes infrastructure. Also one of the improvement could be supporting of Prometheus as timeseries database. Ref. 20, pic. 3, tabl. 2http://asac.kpi.ua/article/view/278925autoscalingcloud computingkubernetesproactive scalingreactive scaling
spellingShingle D. Gutman
O. Syrota
Proactive automatic up-scaling for Kubernetes
Adaptivni Sistemi Avtomatičnogo Upravlinnâ
autoscaling
cloud computing
kubernetes
proactive scaling
reactive scaling
title Proactive automatic up-scaling for Kubernetes
title_full Proactive automatic up-scaling for Kubernetes
title_fullStr Proactive automatic up-scaling for Kubernetes
title_full_unstemmed Proactive automatic up-scaling for Kubernetes
title_short Proactive automatic up-scaling for Kubernetes
title_sort proactive automatic up scaling for kubernetes
topic autoscaling
cloud computing
kubernetes
proactive scaling
reactive scaling
url http://asac.kpi.ua/article/view/278925
work_keys_str_mv AT dgutman proactiveautomaticupscalingforkubernetes
AT osyrota proactiveautomaticupscalingforkubernetes