Web-application Architecture for the Kubernetes Cluster at the Google Cloud Platform with Horizontal Automatic Scaling

The article is devoted to the development of the Web application architecture with the distribution of the application by components into 2 tiers connected by the messaging system, and using of load balancing by horizontal scaling in the Kubernetes cloud cluster. Queue length in the message broker i...

Full description

Bibliographic Details
Main Authors: С. Теленик, В. Войналович, Д. Смаковський
Format: Article
Language:English
Published: Igor Sikorsky Kyiv Polytechnic Institute 2021-12-01
Series:Adaptivni Sistemi Avtomatičnogo Upravlinnâ
Subjects:
Online Access:http://asac.kpi.ua/article/view/247417
_version_ 1818901834715103232
author С. Теленик
В. Войналович
Д. Смаковський
author_facet С. Теленик
В. Войналович
Д. Смаковський
author_sort С. Теленик
collection DOAJ
description The article is devoted to the development of the Web application architecture with the distribution of the application by components into 2 tiers connected by the messaging system, and using of load balancing by horizontal scaling in the Kubernetes cloud cluster. Queue length in the message broker is used for scaling as critirea. This approach allows to increase resource usage efficiency of the system. The relevance of the topic is due to the widespread use of various web services and web applications. When the load of web applications increases it can lead to delays or even failure of these services. Therefore, the issues of creating reliable, fault-tolerant, and scalable systems become extremely important. If the load is greater than the system or service can withstand, it may result in denial of service or termination of service. Also, the load can be unevenly distributed to services over a period of time, and therefore, even if the system has enough resources to withstand high loads, during periods of low load, these resources will not be used, resulting in problems of inefficient use of resources and overspending. The proposed system was deployed in the Google Cloud environment. The components of the server part of the Web application are grouped into 2 tiers. The microlayer components of the first layer analyze HTTP client requests and transmit messages to the components of the second layer using the Google Pub-Sub messaging system. It is proposed to make all relatively "difficult" operations on the components of the second layer. For the numerical experiment, a system was implemented using an algorithm for horizontal scaling of microservices based on the current number of messages in the queue. Load testing of the system was performed, which showed that the created system is capable of processing more than 2 times more requests for the same period of time compared to the system without scaling. Ref. 6, pic. 7, tabl. 1.
first_indexed 2024-12-19T20:26:03Z
format Article
id doaj.art-fb05f7926a724538904d30670f160dcc
institution Directory Open Access Journal
issn 1560-8956
2522-9575
language English
last_indexed 2024-12-19T20:26:03Z
publishDate 2021-12-01
publisher Igor Sikorsky Kyiv Polytechnic Institute
record_format Article
series Adaptivni Sistemi Avtomatičnogo Upravlinnâ
spelling doaj.art-fb05f7926a724538904d30670f160dcc2022-12-21T20:06:50ZengIgor Sikorsky Kyiv Polytechnic InstituteAdaptivni Sistemi Avtomatičnogo Upravlinnâ1560-89562522-95752021-12-0123910.20535/1560-8956.39.2021.247417Web-application Architecture for the Kubernetes Cluster at the Google Cloud Platform with Horizontal Automatic ScalingС. Теленик0В. Войналович1Д. Смаковський2Igor Sikorsky Kyiv Polytechnic InstituteIgor Sikorsky Kyiv Polytechnic InstituteIgor Sikorsky Kyiv Polytechnic InstituteThe article is devoted to the development of the Web application architecture with the distribution of the application by components into 2 tiers connected by the messaging system, and using of load balancing by horizontal scaling in the Kubernetes cloud cluster. Queue length in the message broker is used for scaling as critirea. This approach allows to increase resource usage efficiency of the system. The relevance of the topic is due to the widespread use of various web services and web applications. When the load of web applications increases it can lead to delays or even failure of these services. Therefore, the issues of creating reliable, fault-tolerant, and scalable systems become extremely important. If the load is greater than the system or service can withstand, it may result in denial of service or termination of service. Also, the load can be unevenly distributed to services over a period of time, and therefore, even if the system has enough resources to withstand high loads, during periods of low load, these resources will not be used, resulting in problems of inefficient use of resources and overspending. The proposed system was deployed in the Google Cloud environment. The components of the server part of the Web application are grouped into 2 tiers. The microlayer components of the first layer analyze HTTP client requests and transmit messages to the components of the second layer using the Google Pub-Sub messaging system. It is proposed to make all relatively "difficult" operations on the components of the second layer. For the numerical experiment, a system was implemented using an algorithm for horizontal scaling of microservices based on the current number of messages in the queue. Load testing of the system was performed, which showed that the created system is capable of processing more than 2 times more requests for the same period of time compared to the system without scaling. Ref. 6, pic. 7, tabl. 1.http://asac.kpi.ua/article/view/247417microservices architectureKuberneteshorizontal scalingGoogle Cloud PlatformGoogle Pub-SubSpring Boot
spellingShingle С. Теленик
В. Войналович
Д. Смаковський
Web-application Architecture for the Kubernetes Cluster at the Google Cloud Platform with Horizontal Automatic Scaling
Adaptivni Sistemi Avtomatičnogo Upravlinnâ
microservices architecture
Kubernetes
horizontal scaling
Google Cloud Platform
Google Pub-Sub
Spring Boot
title Web-application Architecture for the Kubernetes Cluster at the Google Cloud Platform with Horizontal Automatic Scaling
title_full Web-application Architecture for the Kubernetes Cluster at the Google Cloud Platform with Horizontal Automatic Scaling
title_fullStr Web-application Architecture for the Kubernetes Cluster at the Google Cloud Platform with Horizontal Automatic Scaling
title_full_unstemmed Web-application Architecture for the Kubernetes Cluster at the Google Cloud Platform with Horizontal Automatic Scaling
title_short Web-application Architecture for the Kubernetes Cluster at the Google Cloud Platform with Horizontal Automatic Scaling
title_sort web application architecture for the kubernetes cluster at the google cloud platform with horizontal automatic scaling
topic microservices architecture
Kubernetes
horizontal scaling
Google Cloud Platform
Google Pub-Sub
Spring Boot
url http://asac.kpi.ua/article/view/247417
work_keys_str_mv AT stelenik webapplicationarchitectureforthekubernetesclusteratthegooglecloudplatformwithhorizontalautomaticscaling
AT vvojnalovič webapplicationarchitectureforthekubernetesclusteratthegooglecloudplatformwithhorizontalautomaticscaling
AT dsmakovsʹkij webapplicationarchitectureforthekubernetesclusteratthegooglecloudplatformwithhorizontalautomaticscaling