<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Information Control Systems &amp; Technologies, September</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Architecture of intelligent system for webservices scaling</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrey Kupin</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dmytro Zubov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maxim Kosei</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vladyslav Holiver</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Kryvyi Rih National University</institution>
          ,
          <addr-line>Vitaly Matusevich 11, Kryvyi Rih, 50027</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Central Asia</institution>
          ,
          <addr-line>125/1 Toktogul Street, Bishkek, 720001</addr-line>
          ,
          <country country="KG">Kyrgyzstan</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>2</volume>
      <fpage>3</fpage>
      <lpage>25</lpage>
      <abstract>
        <p>The key aspects of web services development, administration structures, and the use of machine learning technologies for server optimization are explored. The tendencies of web services development, scaling options, importance and basic concepts of microservice architecture are considered. The article highlights the general principles of artificial intelligence, machine learning, and deep learning and their impact on the functionality of web services. To enhance the operation of web services, an architecture of an intelligent system for automatic scaling is presented and machine learning algorithms with increased reliability are elaborated. The article optimizes the performance of such a system. Methods for detecting abnormal system behavior are proposed, which allows preventing failures or a decrease in overall performance.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Microservices architecture</kwd>
        <kwd>scaling</kwd>
        <kwd>artificial intelligence</kwd>
        <kwd>machine learning</kwd>
        <kwd>deep learning</kwd>
        <kwd>pattern</kwd>
        <kwd>API</kwd>
        <kwd>DevOps</kwd>
        <kwd>CI/CD</kwd>
        <kwd>PBW</kwd>
        <kwd>PAD</kwd>
        <kwd>Docker</kwd>
        <kwd>One-Class SVM</kwd>
        <kwd>1</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>The research deals with the issue of developing effective models, methods, and algorithms for
scaling web services in modern information systems based on machine learning to ensure stable
operation of servers when the load changes.</p>
      <p>
        A detailed analysis of the relevance of the problem, the task statement, and the main research
directions were defined by the authors in their previous work [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In particular, this article presents
the necessary architectural and algorithmic solutions.
      </p>
      <p>The development trends of web services at the present stage have been significantly influenced
by the following events:</p>
      <p>- emergence of cloud platforms (2010s): In the 2010s, cloud-based platforms for developing web
services, such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform, were
launched. These platforms provide infrastructure and tools for deploying, managing, and scaling
web applications. Web analytics and performance optimization services, cloud storage, mobile
applications, etc. have also appeared;</p>
      <p>- spread of microservice architecture (since the 2010s): One of the current trends in web
development is the use of microservice architecture for web services. Instead of creating monolithic
applications, developers break down functionality into small, independent components that can be
deployed, scaled, and managed separately. This allows for greater flexibility, faster development
and deployment, and easier integration with other services;</p>
      <p>- expansion of the capabilities of artificial intelligence and the Internet of Things (since the
2010s): Recently, web services have started to use artificial intelligence to automate routine tasks,
analyze data, and improve user experience. Web services are also being developed to connect to the
Internet of Things, allowing physical devices to be controlled over the network.</p>
      <p>
        Preliminary analysis [
        <xref ref-type="bibr" rid="ref15 ref16 ref17 ref2 ref3 ref4 ref5 ref6 ref7 ref8">2-8, 15-17</xref>
        ] shows that there is a lack of research in this area. This is
especially true when it comes to identifying effective models, methods, techniques, and algorithmic
hardware and software for reliable management of servers on the global Internet. With this in
mind, the purpose of this article is to justify the choice of a rational architecture and develop
algorithms for an intelligent web service scaling system based on Microservices Architecture
(MSA).
      </p>
      <p>The observed literature thoroughly discusses the architectural patterns in MSA and common
machine learning models. However, there is a significant gap in research regarding the application
of machine learning techniques specifically for scaling Docker-based microservices within MSA.
This article aims to address this gap by developing and justifying an intelligent system architecture
and algorithms focused on optimizing the performance and reliability of such systems.</p>
      <p>Traditional scaling methods for web services typically rely on threshold-based policy rules.
While effective, these methods have limitations. Incorporating machine learning into the scaling
process offers significant benefits, including improved adaptability, more efficient resource
management, and better performance prediction.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Types Of Scaling</title>
      <p>There are two main types of scaling that are used to provide growth in resources and system
performance (Figure 1):</p>
      <p>- Vertical Scaling: This type of scaling involves increasing the capacity of hardware such as
processors, memory, and disk. With vertical scaling, one single server can handle more tasks or
process more data. For example, increasing the amount of RAM or upgrading to a more powerful
processor.</p>
      <p>- Horizontal Scaling: This type of scaling is adding other servers or nodes to the system. It
spreads the load across many physical or virtual servers to provide more processing power and
availability. Horizontal scaling is often used in cloud environments and distributed computing
systems.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Web Service Architecture</title>
      <p>Web service architecture can be organized using two main approaches: monolithic architecture and
microservice architecture (Figure 2). Monolithic architecture is a traditional approach to web
application development in which all application features are located in a single software module,
usually a monolithic application or a monolithic server. In a monolithic architecture, all code,
database, and logic are located in a single application, which facilitates development and
deployment.</p>
      <p>The advantages of a monolithic architecture include ease of development and testing, no
problems with interactions between components, and reduced infrastructure costs. However,
monolithic applications can become difficult to scale and develop in large projects, and they can be
less flexible in introducing new features.</p>
      <p>Microservice architecture (Figure 3) is an approach where a large web application is broken
down into small, independent services that work together using lightweight communication
mechanisms such as APIs. Each service is responsible for limited functionality and has its own
database.</p>
      <p>Microservice architecture provides greater modularity, scalability, and flexibility in web
application development. Each service can be independently developed, scaled, and maintained. In
addition, microservices can use different technologies and programming languages, which gives
developers more freedom to choose technologies.</p>
      <p>However, the microservice architecture also has its challenges, including the complexity of
interactions between services, configuration, and monitoring management, and greater complexity
in implementing and managing multiple services.</p>
      <p>The advantages and disadvantages of MSA compared to monolithic architecture are discussed in
more detail in Table 1.</p>
      <p>Table 1
Comparison of MSA with monolithic architecture</p>
      <sec id="sec-3-1">
        <title>Characte ristic</title>
        <sec id="sec-3-1-1">
          <title>Structure</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>Portability</title>
        </sec>
        <sec id="sec-3-1-3">
          <title>Reusability</title>
        </sec>
        <sec id="sec-3-1-4">
          <title>Modularity and scalability</title>
        </sec>
        <sec id="sec-3-1-5">
          <title>Time to market</title>
        </sec>
        <sec id="sec-3-1-6">
          <title>Release cycle and updates</title>
        </sec>
        <sec id="sec-3-1-7">
          <title>Initial costs Operational costs</title>
        </sec>
        <sec id="sec-3-1-8">
          <title>Complexity API control</title>
        </sec>
        <sec id="sec-3-1-9">
          <title>Structural data integrity</title>
        </sec>
        <sec id="sec-3-1-10">
          <title>Performance</title>
        </sec>
        <sec id="sec-3-1-11">
          <title>Security</title>
        </sec>
        <sec id="sec-3-1-12">
          <title>Implementation in software development organization</title>
        </sec>
        <sec id="sec-3-1-13">
          <title>Fault tolerance</title>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>MSA - architecture</title>
        <sec id="sec-3-2-1">
          <title>The high degree of autonomy. The</title>
          <p>system functions are divided into
independent, slightly connected parts
with a smaller code volume.</p>
          <p>Very high.</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Highly reusable.</title>
        </sec>
        <sec id="sec-3-2-3">
          <title>Highly modular and scalable.</title>
        </sec>
        <sec id="sec-3-2-4">
          <title>The start time to market depends on the readiness of individual services. The more code is reused, the shorter the time.</title>
          <p>If the system's microservices are
developed from scratch, the time is
usually longer than for a monolithic
architecture.</p>
          <p>Very short release cycle, rapid
implementation of changes and updates.</p>
        </sec>
        <sec id="sec-3-2-5">
          <title>Usually high. It depends on the size of the system. Initial costs are offset by operational cost savings.</title>
          <p>Low. Easier to maintain and operate.</p>
        </sec>
        <sec id="sec-3-2-6">
          <title>High</title>
        </sec>
        <sec id="sec-3-2-7">
          <title>High</title>
        </sec>
        <sec id="sec-3-2-8">
          <title>Decentralized databases, so maintaining data integrity is more challenging.</title>
        </sec>
        <sec id="sec-3-2-9">
          <title>Typically lower.</title>
        </sec>
        <sec id="sec-3-2-10">
          <title>More security issues</title>
        </sec>
        <sec id="sec-3-2-11">
          <title>Hard to implement depending on the</title>
          <p>organizational structure. Requires
adoption of flexible development and
DevOps (CI/CD, etc.). Organizational
transformation may be needed, which can
take a long time to achieve.</p>
          <p>Typically higher.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Monolithic architecture</title>
        <sec id="sec-3-3-1">
          <title>Lack of autonomy.</title>
          <p>System functions are
tightly coupled in one
large block of code.</p>
          <p>Very limited
portability.</p>
          <p>Very limited code
reusability.</p>
          <p>Limited modularity
and difficult to scale.</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>Long time to market,</title>
          <p>especially in large
systems.</p>
          <p>Shorter time to
market in small and
simple systems.</p>
        </sec>
        <sec id="sec-3-3-3">
          <title>The long and typically very laborious release cycle for new versions and updates.</title>
          <p>Typically low. They
become larger in large
corporate systems.</p>
        </sec>
        <sec id="sec-3-3-4">
          <title>High. Difficult to maintain and operate. Low Low</title>
        </sec>
        <sec id="sec-3-3-5">
          <title>Centralized database,</title>
          <p>making it easier to
maintain data integrity
throughout the system.</p>
          <p>Typically higher.</p>
        </sec>
        <sec id="sec-3-3-6">
          <title>Less security issues.</title>
        </sec>
        <sec id="sec-3-3-7">
          <title>Easy to implement. Minimal organizational transformation is required, if any at all.</title>
        </sec>
        <sec id="sec-3-3-8">
          <title>Typically lower.</title>
          <p>Microservice architecture (Figure 3) is better designed for scaling than monolithic architecture
for the following reasons:</p>
          <p>- Decentralization. Microservices are distributed across multiple servers, which makes them
more scalable than monolithic applications that run on a single server. This means that you can
easily add or remove servers as needed to maintain the desired performance.</p>
          <p>- Isolation. Each microservice is isolated from the others, which means that you don't need to
scale the entire application if there is a significant load on just one microservice. This also means
that you can scale microservices independently of each other, which can be useful for cost
optimization.</p>
          <p>- Layer architecture. Microservices are often built using a layered architecture, which allows
you to scale the application using different technologies for each layer. For example, the storage
tier can be scaled horizontally and the processing tier can be scaled vertically.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Microservice Architecture (MSA)</title>
      <p>MSA is a technique for creating a complex system from a set of smaller applications, each of which
is designed to perform a specific limited function.</p>
      <p>These minor applications (or services, or microservices) are developed independently of each
other and can function independently of each other. Each microservice has an API interface to
communicate with other microservices in the system.</p>
      <p>The way these individual microservices are organized together determines the functionality of
the larger system.</p>
      <p>To comprehend the value of microservices and the challenges that come with developing an
MSA, it is important to understand how microservices interact and communicate with each other.</p>
      <p>This interaction can be linear or non-linear.</p>
      <p>In a linear interaction (Figure 4), microservices transfer data to each other sequentially,
processing it in the system. Input data is always transferred to the first microservice, and output
data is always generated by the last microservice in the system.</p>
      <p>In almost most existing systems, the interaction is non-linear (Figure 5).</p>
      <p>In a nonlinear microservice interaction, data is distributed among different functions in the
system. Input data can be passed to any function in the system, and output data can be generated
by any function in the system.</p>
      <p>Let's consider nonlinear interaction using a practical example in a typical e-commerce system
(Figure 6).
save or
update customer information. This microservice is solely responsible for managing customer
information based on the data it receives from the API call.
microservice, depending on the type of payment specified in the API call. It's worth noting here
how the payment verification process is split into two different microservices, each of which is
specifically designed for a specific payment function.</p>
      <p>This provides flexibility and portability of these microservices to other parts of the system or
another system if necessary.</p>
      <p>After the payment is processed, other microservices in the system receive API calls to fulfill the
order.</p>
      <p>This example shows how modular and flexible the MSA system design could be.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Artificial Intelligence (AI), Machine Learning (ML) And Deep</title>
    </sec>
    <sec id="sec-6">
      <title>Learning (DL)</title>
      <p>Despite the recent rise in popularity of Artificial Intelligence (AI) and Machine Learning (ML), the
field of artificial intelligence has existed since the 60s of the XX century. With the emergence of
various AI subfields, it is important to be able to distinguish them from each other and understand
what they mean and include.</p>
      <p>First, AI is a general field that encompasses all the subfields we see today, such as ML, Deep
Learning (DL) (Figure 7), and others.</p>
      <p>Any system that perceives or receives information from the environment and performs actions
to maximize rewards or achieve its goal is considered an AI system.</p>
      <p>This is very common in robotics today. Most of our machines are designed so that they can
collect data through their sensors, such as cameras, sonars, or gyroscopes, and use the collected
data to perform a particular task efficiently.</p>
      <p>This concept is very similar to how humans behave. Humans use their senses to gather
information from the environment and, based on the information they receive, perform certain
actions.</p>
      <p>AI is a vast field, but it can be broken down into different subfields, one of which we know
today as ML. What makes ML unique is that this field works to create systems or machines that
can learn and improve their models without explicit programming.</p>
      <p>ML does this by collecting data, known as training data, and trying to find patterns and
regularities in that data to make accurate predictions without being explicitly programmed to do
so. ML uses different methods to learn from data, and these methods are chosen depending on the
problems to be dealt with.</p>
      <p>The approaches used in ML are traditionally divided into three broad categories:
1. Supervised Learning (SL);
2. Unsupervised Learning (UL);
3. Reinforcement Learning (RL).</p>
      <p>SL helps to understand the relationship between input and output data. One typical example of
SL is predicting the price of a house in a certain city.</p>
      <p>Data is collected on existing houses, namely their characteristics and current prices (training
set), and then the patterns between the characteristics of these houses and their prices are studied.</p>
      <p>After that, you can take a house that is not part of the training set and use the model you built
to predict its price based on its characteristics.</p>
      <p>UL involves learning the structure of data using grouping or clustering methods. This method is
often used for marketing purposes.</p>
      <p>For example, a store wants to divide its customers into different groups to effectively tailor its
products to different demographics.</p>
      <p>It can obtain the purchase history of its customers; study this data to determine purchase
patterns, and recommend certain products or services that might be of interest to them, thereby
maximizing its profits.</p>
      <p>Before looking at DL, which is a subfield of ML, it is important to understand what Artificial
Neural Networks (ANN) is.</p>
      <p>
        Taking the neurons in the brain as an example, ANNs are models that consist of a network of
interconnected nodes, also known as artificial neurons. They contain a set of inputs (Input), hidden
layers (Hidden Layer) connecting the neurons, and an output node (Output) (Figure 8). [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
      </p>
      <p>Each neuron has an input and an output that can be transmitted throughout the network. To
calculate the neuron's output, the weighted sum of all inputs is taken, multiplied by the neuron's
weight, and usually a shift parameter is added.</p>
      <p>This process continues until the last layer is reached, which is the output neuron. A nonlinear
activation function, such as a sigmoid function, is applied to obtain the final prediction.</p>
      <p>The resulting predicted value is input into the cost function. This function shows how well our
network is learning.</p>
      <p>The value of the cost function is used to backpropagate errors through all layers back to the
first layer by adjusting the weights of the neurons. This allows us to create powerful models that
can perform tasks such as handwriting recognition, gaming AI, etc.</p>
      <p>In some cases, ANNs can be very powerful, but there are serious drawbacks that limit their
application:</p>
      <p>- Black Box: ANNs can be hard to interpret, making it complicated to understand how they
work and why they make certain predictions. This can make it difficult to debug ANNs and trust
their results.</p>
      <p>- Computational cost: Training an ANN can be computationally expensive, especially for large
and complex networks. It may require specialized hardware such as GPUs and can take a long time
to train.</p>
      <p>- Overfitting: ANNs are prone to overlearning, which means they can learn the training data too
well and fail to generalize to new data. This can lead to poor performance on real-world examples.</p>
      <sec id="sec-6-1">
        <title>This is where DL comes into play.</title>
        <p>DL can be categorized according to the following key features:
- Hierarchical composition of layers: Instead of having only fully connected layers in the
network, we can create and combine several different layers consisting of nonlinear and linear
transformations. These different layers play a role in extracting key features in the data that would
otherwise be difficult to find in an ANN.</p>
        <p>- End-to-end training: The network starts with a method called feature extraction. It analyzes
the data and finds a way to group redundant information and identify important features of the
data. The network then uses these features to learn and make predictions or classifications using
fully connected layers.</p>
        <p>Distributed representation of neurons: With feature extraction, the network can group neurons
to encode a larger feature of the data. Unlike ANNs, no single neuron encodes everything. This
allows the model to reduce the number of parameters it has to learn from while retaining key
elements in the data.</p>
        <p>DL is widely used in computer vision. Due to advances in photo and video capture technology,
it has become very difficult for ANNs to learn and recognize images with high accuracy. The
reason is that when using an image to train a model, you need to consider each pixel as an input
parameter of the model. For example, a 256x256 image has more than 65,000 input parameters.
Depending on the number of neurons in a fully connected layer, the number of parameters can
reach millions. With such a large number of parameters, there is a chance of overfitting and
training can take a very long time. With DL, you can create a group of layers called Convolutional
Neural Networks (CNNs). These layers are responsible for reducing the number of parameters that
the model needs to learn while preserving the key features of our data. With these additional
elements, we can learn how to extract certain features and use them to train our model with high
efficiency and accuracy (Figure 9).</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>6. Algorithms of AI Web Service Scaling System Based on MSA</title>
      <p>Commonly used for web service autoscaling is the Threshold Rules Policy, which consists in
setting certain thresholds or limits that, when exceeded or reached, cause resources to
automatically scale to ensure optimal system performance and reliability.</p>
      <p>The use of ML techniques can greatly improve web service autoscaling strategies, especially for
large and complex systems, as such systems often have a large number of parameters and loads
that change in a very dynamic way.</p>
      <p>In such systems, patterns emerge that are the result of recurrence or similarity in the data,
interactions between system components, or the way the system processes the data.</p>
      <p>These patterns can be detected using various machine learning algorithms, which can
significantly improve the efficiency and scalability of the system, as well as ensure that the system
as a whole performs more optimally.</p>
      <p>As mentioned, there are many areas in the MSA system where artificial intelligence can be used.</p>
      <p>The focus will be on two main potential areas of improvement (Figure 10), which are
implemented by individual additional AI services. The first is to increase the system's response
speed in the event of microservice failure or performance degradation. The second area of
improvement is the introduction of the proactive role of the Circuit Breaker.</p>
      <p>The first AI microservice is called Performance Baseline Watchdog (PBW). PBW is an ML
microservice that determines whether the performance of each microservice in the system meets
expectations. If the performance of a microservice falls below the expected level by a certain
amount, PBW sends an alert to operations support or network management systems. If
performance falls even further, PBW sends an alert to the Operation Support System (OSS) or
Network Management System (NMS) and can take action to automatically correct the problem.</p>
      <p>The second artificial intelligence microservice is the Performance Anomaly Detector (PAD).
PAD is a machine learning service that covers the entire MSA system. It analyzes MSA
performance patterns and tries to detect any unusual behavior. PAD finds problematic patterns in
the behavior of microservices, automatically detects problems before they occur, and proactively
acts to resolve them.</p>
      <p>The PBW algorithm calculates the expected performance based on the collected performance
statistics. The collected performance statistics include API response time statistics, errors or error
rates of individual microservices, API response codes, and the load applied to the microservice
itself. Predefined actions are triggered depending on how much the microservice deviates from the
calculated performance indicator. Based on the PBW configuration, the larger the deviation, the
more likely it is that a proactive action will be initiated to try to self-heal. However, in the case of a
minor deviation, no self-healing action should be triggered - a system warning informing the
system administrator is sufficient.
Scaling microservice vertically or horizontally or restarting</p>
      <p>microservice</p>
      <sec id="sec-7-1">
        <title>Checking the status of Apache, Flask, JVM, Docker volumes, SQL service, etc. Restarting the service if necessary. Restarting the microservice container.</title>
        <p>
          Table 2 shows some of the possible system problems [
          <xref ref-type="bibr" rid="ref11 ref12">11-12</xref>
          ] that can be encountered during
system operation and the actions that the PBW service will take to try to fix the problem, and
Figure 11 and Table 3 show the microservice self-healing algorithm.
        </p>
        <p>State of the microservice where only the self-healing algorithm</p>
        <p>can interact with the problematic microservice.</p>
        <p>The time to wait when a treatment fails before retrying. The</p>
        <p>default timeout period before retrying is 2 minutes.</p>
        <p>The state in which the microservice is marked as unhealable after</p>
        <p>its failed attempt to heal itself.</p>
        <p>The maximum number of attempts made to rectify the</p>
        <p>microservice before marking it as unhealable.</p>
        <p>
          PBW uses a linear regression model for training and prediction, while PAD uses a One-Class
Support Vector Machine (One-Class SVM [
          <xref ref-type="bibr" rid="ref13 ref14">13-14</xref>
          ]).
        </p>
        <p>
          Compared to traditional support vector machines, which are used for classification tasks where
the data is labeled, One-Class SVM is designed for situations where only one class of data is
available (unlabeled data). Its main goal is to identify and classify normal data points from outliers
or anomalies [
          <xref ref-type="bibr" rid="ref15 ref16 ref17">15-17</xref>
          ].
        </p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>Conclusion</title>
      <p>The paper researches the main aspects of web services development, their structure, and the
impact of ML on this field. In particular, the paper considers web services development trends,
scaling options, importance, and basic concepts of MSA architecture.</p>
      <p>The general principles of artificial intelligence, machine learning, and deep learning and their
impact on the functionality of web services are also covered. This helps to understand what
technological innovations are used to improve the performance of web services and how machine
learning changes their capabilities.</p>
      <p>The described approach provides a general idea of the basic principles and trends of web
services development and the impact of machine learning on this industry. This is an important
basis for further research and implementation of innovations in the field of web services and their
connection with machine learning.</p>
      <p>Implementation of ML methods in web service autoscaling can provide significant benefits and
improve the efficiency of the MSA system.</p>
      <p>ML is especially useful for large and complex systems, as it enables the detection of patterns in
data and the interaction of system components.</p>
      <p>The proposed PBW and PAD algorithms provide the following advantages:
1. Improved system reliability: These algorithms allow the system to respond to deviations in
microservice performance and detect anomalies, even before they occur. This allows system
operators to take action to fix problems faster and more efficiently, increasing overall system
reliability.</p>
      <p>2. Performance optimization: Rapid problem detection and automatic correction avoids loss of
productivity. Timely response to abnormalities helps maintain system stability and optimal
performance, which in turn improves productivity.</p>
      <p>3. Preliminary detection of problems: PAD helps detect anomalous patterns or unusual
behavior before they can cause serious problems. This allows the system to prevent failures or
performance degradation, enabling operators to prepare for potential problems and prevent them
from spreading.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Semerikov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zubov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kupin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kosei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Holiver</surname>
          </string-name>
          ,
          <article-title>Models and Technologies for Autoscaling Based on Machine Learning for Microservices Architecture (</article-title>
          <year>2024</year>
          ),
          <source>in: CEUR Workshop Proceedings</source>
          ,
          <year>2024</year>
          ,
          <volume>3664</volume>
          , pp.
          <fpage>316</fpage>
          <lpage>330</lpage>
          . URL: https://ceur-ws.org/Vol3664/paper22.pdf
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>P.</given-names>
            <surname>Raj</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Raman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Subramanian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Architectural</given-names>
            <surname>Patterns</surname>
          </string-name>
          .
          <source>Packt Publishing</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>S.</given-names>
            <surname>Newman</surname>
          </string-name>
          , Building microservices: Designing fine,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Bruce</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Pereira</surname>
          </string-name>
          , Microservices in action. Shelter Island, NY: Manning Publications Co.,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Müller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Guido</surname>
          </string-name>
          ,
          <article-title>Introduction to machine learning with python: A guide for data scientists</article-title>
          . ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Mueller</surname>
          </string-name>
          ,
          <article-title>Machine learning security principles: Use various methods to keep data, networks, users, and applications safe from Prying eyes</article-title>
          .
          <source>Birmingham: Packt Publishing</source>
          ,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Raschka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Mirjalili</surname>
          </string-name>
          .
          <article-title>Machine learning with pytorchand Scikit-Learn: Develop machine learning and deep learning models with python</article-title>
          .
          <source>Birmingham: Packt Publishing</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Abouahmed</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Ahmed</surname>
          </string-name>
          .
          <article-title>Machine learning in microservices: Productionizing Microservices Architecture for Machine Learning Solutions</article-title>
          . Birmingham: Packet Publishing,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Ubuntu</surname>
          </string-name>
          server - for
          <source>scale out workloads Ubuntu</source>
          ,
          <year>2023</year>
          . URL: https://ubuntu.com/server/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kupin</surname>
          </string-name>
          .
          <article-title>Application of neurocontrol principles and classification optimisation in conditions of sophisticated technological processes of beneficiation complexes (</article-title>
          <year>2014</year>
          ), in: Metallurgical and
          <string-name>
            <given-names>Mining</given-names>
            <surname>Industry</surname>
          </string-name>
          ,
          <year>2014</year>
          ,
          <volume>6</volume>
          (
          <issue>6</issue>
          ), pp.
          <fpage>16</fpage>
          <lpage>24</lpage>
          . ISSN:
          <volume>20760507</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Brains</surname>
          </string-name>
          ,
          <article-title>PyCharm: The python IDE for professional developers by jetbrains</article-title>
          ,
          <source>JetBrains</source>
          ,
          <year>2021</year>
          . URL: https://www.jetbrains.com/pycharm/
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>DBeaver</given-names>
            <surname>Community</surname>
          </string-name>
          ,
          <year>2023</year>
          . URL: https://dbeaver.io/
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>MySQL</surname>
          </string-name>
          ,
          <year>2023</year>
          . URL: https://www.mysql.com/
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Accelerated</given-names>
            <surname>Container Application Development</surname>
          </string-name>
          ,
          <year>2023</year>
          Docker. URL: https://www.docker.com/
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Davis</surname>
          </string-name>
          ,
          <article-title>Bootstrapping Microservices with Docker, Kubernetes, and Terraform: A projectbased guide</article-title>
          .
          <source>Manning</source>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>S.</given-names>
            <surname>Wells</surname>
          </string-name>
          , Enabling Microservice Success: Managing Technical, Organizational, and Cultural
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Richardson</surname>
          </string-name>
          , Microservices Patterns:
          <article-title>With examples in Java</article-title>
          . Manning,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>