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...
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 |