You are on page 1of 9

Latency-Aware Cost-Efficient Provisioning of

Composite Applications in Multi-Provider Clouds

Keywords: Cloud, cost, heuristics, latency, service placement, simulation.

Abstract: Composite applications have the versatility of maintaining several functions and services geographically dis-
tributed but being part of the same application. This particular software architecture fits in very easily with
the model of distributed regions present in most cloud players. In this way, the search for leasing applications
at the lowest cost becomes a reality, given that the application services can be in different players at a lower
cost, as long as the performance metrics of the application as a whole are met. Someone who wants to offer
an application along these lines must take into account the sum of the latencies between the different services
in addition to the individual cost of each service that makes up the application, and in a multi-cloud environ-
ment, these decisions become even more complex. This article presents a placement heuristic that positions an
application composed of multiple services in a multi-cloud environment, seeking lower costs while meeting
the latency requirements for the application. The results showed that the proposed heuristic manages to find
the best placement of the application’s services, keeping within the acceptable latency limit.

1 Introduction an Enterprise Service Bus (EBS) (Chaudhari et al.,


2016) represented a single point of failure for the en-
In the context of cloud computing, composite ap- tire system—basically, another monolithic structure
plications (or decoupled applications) are built us- that could congest the whole development cycle. Un-
ing, in general, microservices architecture (Katsuno like services in SOA, microservices can communi-
and Takahashi, 2015). In a microservices architec- cate with each other, usually stateless, making soft-
ture (Raj et al., 2023), an application is divided into ware more fault tolerant and less dependent on a sin-
smaller, independent services that can be developed, gle ESB. In addition, microservices can communicate
deployed, and scaled independently of each other. It through application programming interfaces (APIs).
allows for greater flexibility and faster development In terms of cost and scalability, the advantage of
and deployment cycles, as each service can be up- this type of application lies on these microservices
dated or changed without affecting the other services. may be hosted on different servers, in different lo-
Figure 1 presents an evolution of software archi- cations, and may even be built using different tech-
tectures, starting from the monolith in which all soft- nologies, designed to communicate with each other
ware functions and components are compiled into a and work together to provide the desired functionality
single block, which makes maintenance and scalabil- (Blinowski et al., 2022). As this type of application
ity issues more difficult. Software-Oriented Archi- can be easily scaled and modified as needed without
tectures (SOA) allow the separation of business rules requiring a complete overhaul of the entire applica-
and interfaces so that the application is more flexible tion, it makes them well-suited for use in cloud com-
in terms of scalability and maintenance, as the com- puting environments, where resources can be added
ponents can be treated independently. Microservices or removed as needed to meet changing demand.
consist of an evolution of SOA, which operates at a Even more so, it is the ideal scenario for compos-
smaller granular level, and functions can be instanti- ite applications when we are working on cloud play-
ated and released on demand, allowing high perfor- ers that maintain data centers in geographically dis-
mance in addition to fast scalability and independent tributed regions but still maintain acceptable levels of
maintenance. performance in terms of network latency between re-
In SOA (Ilie et al., 2022), the decomposition gions, because a composite application presents a fea-
of the application into individual services now al- ture that can be used to reduce costs (Vu et al., 2019).
lows creating, testing, and tuning of services simulta- As the software architecture is decoupled, each piece
neously, eliminating monolithic development cycles. of software can be placed in a geographically differ-
The problem is that centralizing communication on ent location as long as these entities’ latencies do not
Figure 1: Software architectures.

exceed the service level agreement established to the Public cloud providers offer multiple regions that
application (Pelle et al., 2019). serve as access points distributed worldwide. These
Based on the above, this paper proposes a heuris- regions deliver for services to be in places closer
tic that seeks to place the application‘s services in to customers in order to decrease latency in access-
the cheapest possible region for each service, but ing services. However, the values for maintaining a
that still meets the latency requirements necessary for hosted service differ from region to region (Kozina
the service to maintain QoS. For that, the heuristics and Kozin, 2022).
were tested on real cost and latency data of a public It is due to the local cost of energy consumption,
cloud player and shows that it manages to find a near- air conditioning, and legislation, among others. It
optimal placement for the resource allocation prob- would always be advantageous to host services in the
lem proposed in this work. cheapest regions if not for the latency cost imposed by
The paper is organized as follows: in Section 2, the distance that the region may be from the customer.
we present a background; in Section 3, we discuss The inverse is also a problem because if the cloud op-
some related work that try to place services in cloud erators only consider the service’s latency, they may
environments and some metrics used; in Section 4, be paying more to maintain a minimum latency much
state the problem definition; in Section 5, we propose higher than that needed to offer the service.
a heuristic in order to solve the resource allocation
problem; in Section 6, we give our testbed and discus-
sions about the evaluations performed; ending with
our conclusions and future work in Section 7.

2 Background

Cloud environments (De Donno et al., 2019) have be-


come a de facto standard in providing services via
the Internet. Services are distributed via the Internet
through a cloud services platform with per-use pric-
ing. Paying only for what the customer uses helps to
reduce operating costs, run processes more efficiently,
and make changes as the business needs evolve.
One of the most important benefits supplied by
cloud computing is the capacity to scale elastically, Figure 2: Comparison of QoS requirements (bandwidth and
regardless of geographic origin (Liu et al., 2018). It delay) for different cloud services.
can provide a much better experience to your cus-
tomers simply and quickly. But it is not always of- Therefore, a balance between cost and latency
fering a minimal cost, as it could be. Depending on is necessary for cost-benefit in the pay-per-use idea.
the choices made by the cloud operators, whoever Figure 2 reinforces our argument. Many services are
deployed the service may be paying more than they delay tolerant as long as there is sufficient bandwidth.
should. In this way, applications can be placed in many ser-
vices, and their services could be placed in different 2020) delivers an arrangement strategy that assigns
cheaper regions that are further away from the cus- microservice-based applications on federated cloud
tomers so that the quality of service would not be de- environments based on topological sorting techniques
graded. that determine the order in which microservices are
This distribution of the application at different allocated by their function in their application’s work-
points of the infrastructure is possible based on com- flow.
posite applications. As we can see in Figure 1, soft- For administrators offering their applications,
ware models and architectures that separate frontends choosing the right place to host them is essential
and backends into distinct elements of the same appli- to balancing allocation cost and application perfor-
cation have benefited from the multi-region environ- mance. Whereas allocating applications closer to the
ment of cloud players. customers guarantees low latency, high prices can
Applications developed under frameworks such be imposed, and places with low costs can impose
as model-view-controler (MVC) (Mufid et al., 2019) high latencies. In such a scenario, the work (Mah-
or model-view-viewmodel (MVVM) (Sheikh and mud et al., 2020) presents an allocation procedure that
Sheikh, 2020), and more recently Microservices, can specifies whether applications should be hosted by the
be hosted in physically distributed locations but still cloud resources to improve the profit while supplying
be logically composed. acceptable performance levels for end-users.
The work (Anglano et al., 2020) discusses an al-
location scheme where cloud providers collaborate to
3 Related Work maximize their profit by sharing resources to process
time-varying workloads. The work (Li et al., 2022)
gives a placement and scheduling framework, which
Composite applications in cloud environments con-
leverages the collaboration between multiple cloud
nect several smaller services into a larger and more
players to handle applications according to their dead-
complex application. The deployment of composite
line and allocation cost.
applications that maintain an excellent quality of ser-
The review of the papers mentioned above indi-
vice is a very complex action. Several works have
cates a need to investigate the service deployment
been studying the problem of placement of decom-
problem considering the response time of composite
posed applications in several services (Wen et al.,
applications to accurately measure their real perfor-
2017) (Mao et al., 2013).
mance in multi-cloud.
These composite applications can be deployed and
operate in the cloud, taking advantage of the scala-
bility, flexibility, and other advantages cloud comput-
ing offers. Application decoupling is a microservices 4 System Model
design pattern that increases application scalability,
availability, and efficiency is more resilient to failures This section describes the composite application pro-
and can be scaled more efficiently by splitting an ap- visioning scenario approached in this work. First, we
plication into minor services that can be deployed in- present the attributes and behaviors of the infrastruc-
dependently (Shi et al., 2020). ture’s elements. Then, we detail our optimization ob-
One offering an application over multi-region jective. Table 1 summarizes the notations.
cloud environments also has the choice over which The network infrastructure comprises a set of ge-
cloud player their application will be deployed (War- ographically distributed regions, following the global
ren et al., 2016). Generally, this choice falls on just infrastructure model employed by large-scale cloud
one player, which offers the lowest price with accept- providers such as Amazon Web Services. The net-
able latency. It is a good practice when the applica- work infrastructure is represented by an undirected
tion is not composed of different entities. In compos- graph G = (R , L ), where R represents the set of re-
ite applications, the choice of cloud player or players gions and L denotes the set of network links that in-
becomes more granular and can further improve the terconnect the different regions. In this setting, a net-
cost of application maintenance by distributing ser- work link is modeled as L f = {g f }, where g f repre-
vices across different cloud players. sents L f ’s latency.
In situations like that, one of the main goals is To facilitate the computation of network opera-
finding the provisioning plan that incurs the small- tions, let us define three generic helper functions. The
est amount of different cloud players’ resources so first function, λ(E ), encapsulates the Dijkstra algo-
that the allocation cost is as low as possible. To rithm (Dijkstra et al., 1959) for finding the shortest
handle such a scenario, The work (Faticanti et al., network path interconnecting a vector E represent-
Table 1: Summary of notations used in this paper.
where A j ’s services are provisioned. The shortest
Symbol Description network path connecting the elements in n j is found
G Network infrastructure through λ(n j ) and z j is calculated through ψ(λ(n j )).
R Set of regions In this context, β(A j ), described in Eq. 2, determines
L Set of network links whether A j experiences an SLA violation based on
P Set of infrastructure providers its SLA and its actual latency. Although this model-
D Set of data centers ing has certain simplifications (e.g., each user access-
A Set of applications ing a single application, as in (Souza et al., 2022)),
S Set of services
it can represent several provisioning scenarios since
U Set of users
applications can be composed of single or multiple
gf L f ’s latency
services with diverse communication patterns.
uj A j ’s user
wj A j ’s services (
zj A j ’s latency 1 if z j > s j
β(A j ) = (2)
sj A j ’s latency SLA 0 otherwise.
nj A j ’s communication path The application provisioning consists of mapping
hk Sk ’s demand a set of services S to a set of data centers D owned
tk Sk ’s features specification by a set of providers P . We represent a service
ci Di ’s capacity as Sk = {hk ,tk }, where hk is the computational de-
di Di ’s demand mand required to provision Sk and tk is the specifica-
ri Di ’s region
tion of Sk ’s features. A data center is represented as
xi,k Service placement matrix
λ(E ) Shortest path finder
Di = {ci , di , ri }, where attributes ci , di , and ri repre-
ψ(F ) Path’s accumulated delay sent Di ’s capacity, demand, and region, respectively.
ξ(E1, E2, T ) Delay threshold compliance test Based on this, the service placement is represented by
α(Di , Sk ) Cost for hosting Sk on Di xi,k (Eq. 3).
β(A j ) A j ’s SLA compliance
φ(Di ) Di ’s capacity limit compliance
(
1 if data center Di hosts Sk
xi,k = (3)
0 otherwise.
ing any two or more elements within the infrastruc-
ture (e.g., users, services, regions, etc.). The second As providers can define different cost policies
function, ψ(F ), calculates the accumulated delay of according to the specifications of hosted services,
any network path F found with λ(E ). The third func- α(Di , Sk ) represents the cost to host a service Sk in
tion, ξ(E1, E2, T ) (Eq. 1), checks whether the delay a data center Di . In addition, as data centers have
between two elements (E1 and E2) is less than equal limited capacity, the helper function φ(Di ), described
a given threshold T . in Eq. 4, checks whether a given placement scheme
respects the capacity constraints of a data center Di
( (i.e., if services are not provisioned in such a way that
1 if ψ(λ([E1, E2])) ⩽ T
ξ(E1, E2, T ) = (1) Di ’s demand does not exceed its capacity).
0 otherwise. (
|S |
1 if ∑k=1 hk · xi,k > ci
In our modeling, the computing infrastructure φ(Di ) = (4)
hosts a set of applications A , which are accessed 0 otherwise.
by a set of users U , distributed across the vari- We consider a twofold objective function (Eq. 5),
ous existing regions. An application is denoted as which minimizes the number of SLA violations of ap-
A j = {u j , w j , z j , s j , n j }. This structure carries two at- plications in A while reducing the allocation cost of
tributes referencing other model components: u j ref- services in S , subject to two constraints. While the
erences A j ’s user, and w j references A j ’s list of ser- first constraint (Eq. 6) ensures that each service is pro-
vices. Complementarily, z j represents A j ’s latency in- visioned only in one data center, the second constraint
curred in the communication between the services in (Eq. 7) ensures that the data centers’ demands do not
w j , and s j denotes A j ’s latency Service Level Agree- exceed their capacity.
ment (SLA), which indicates the maximum accept-
able latency. |A |
!
|D | |S |
!
The inter-service communication related to an ap-
plication A j is represented by a list n j populated by
Min: norm ∑ β(A j ) + norm ∑ ∑ α(Di , Sk ) · xi,k
j=1 i=1 k=1
the region where A j ’s user is located and the regions (5)
Subject to: The second application sorting criterion (Eq. 10) aims
to reduce the applications’ allocation cost. First, Clover
|D | prioritizes applications composed of services whose alloca-
∑ xi,k = 1, ∀k ∈ {1, ..., |S |} (6) tion costs vary significantly from one data center to another
i=1 (Eq. 11), as prioritizing them can lead to higher cost savings
φ(Di ) = 0, ∀i ∈ {1, ..., |D |} (7) than applications whose allocation costs are similar for all
data centers. In addition, this sorting criterion considers the
number of data centers with the lowest cost (Eq. 12) since
the smaller the number of cheap data centers, the greater the
5 Clover Design risk of losing potential profit if other applications use their
resources.
This section presents Clover, an algorithm that performs
cost and latency optimized decisions while provisioning θ(A j ) = ∑ ν(Sk ) · µ(Sk ) (10)
composite applications in geo-distributed data centers. Sk ∈w j

Algorithm 1: Clover algorithm.



ν(Sk ) = max(1, max(γ(Sk )) − min(γ(Sk ))) (11)
1 A = Applications sorted by Eq. 8 (desc.)

2 foreach A j ∈ A do
3 foreach Sk ∈ w j do
4 D ′ = Data centers sorted by Eq. 15 (desc.) µ(Sk ) =
1
5 foreach Di ∈ D ′ do |[b | b ∈ γ(Sk ) ∧ χ(b, γ(Sk )) = 1]| · min(γ(Sk ))
6 if ci ≥ di + hk then (12)
7 Provision Sk on Di
break
(
8
1 if A = min(B)
9 end χ(A, B) = (13)
0 otherwise.
10 end
11 end
12 end γ(Sk ) = {α(Di , Sk ) | Di ∈ D } (14)

After sorting applications, Clover iterates over the list


Clover employs a depth mapping approach, provision- of services of each application to host them within the in-
ing all the services of a given application before moving frastructure (Alg. 1, lines 3–10). At this point, Clover em-
on to the services owned by the others. Consequently, one ploys a score function (Eq. 15) that ranks candidate data
of Clover’s main decisions is to define the application pro- centers to host each service (Alg. 1, line 4). Clover’s data
visioning order since a careless application arrangement center sorting approach is based on two criteria: (i) whether
might cause applications to be improperly provisioned, oc- the data center is close enough to the application’s user and
cupying resources that others could better use. Clover em- any previously provisioned application service to respect
ploys a score function (Eq. 8) that defines the application the application SLA, and (ii) the cost charged by the data
provisioning order based on two factors: (i) the network center to host the service. Clover assumes that data centers
proximity of an application’s user to the data centers and cannot host services whose demand exceeds their capacity.
(ii) the potential allocation cost reduction achieved by pri- Therefore, when iterating over the sorted list of candidate
oritizing an application’s provisioning (Alg. 1, line 1). data centers to host a given service, it first checks whether
it has sufficient available capacity to host the service before
∂(A j ) = norm(ρ(A j )) + norm(θ(A j )) (8) starting the provisioning procedure (Alg. 1, line 6).
The first application sorting criterion (Eq. 9) aims to
reduce SLA violations. For this, applications with fewer  
1
nearby resources are prioritized since postponing their pro- ℵ(Di , A j , Sk ) = ξ(ri , w j,k−1 , s j ) + norm
visioning increases the chances of other applications using α(Di , Sk )
those resources, forcing them to be provisioned in distant (15)
data centers that would violate the SLAs. Although sim-
ply counting the number of data centers whose latency does
not violate the SLAs could work in homogeneous infras-
tructures, geo-distributed environments can comprise data
6 Performance Evaluation
centers with different capacities—as such, solely looking at
the number of nearby data centers could bring misleading This section details the experiments conducted to assess
insights. Therefore, Clover’s sorting criterion evaluates the Clover while provisioning composite applications on geo-
amount of resources close enough to the application’s user distributed cloud data centers. First, we describe our re-
to couple with the application’s latency SLA. search methodology (§6.1). Then, we present a sensitiv-
ity analysis that calibrates the configurable parameters of
1 NSGA-II—one of the baseline strategies (§6.2). Finally, we
ρ(A j ) = |D |
(9)
∑i=1 (ci − di ) · ξ(ri , u j , s j ) discuss the obtained results (§6.3).
6.1 Experiments Description optimal solutions. We chose NSGA-II over other algo-
rithms that find Pareto-optimal solutions as its efficiency has
We consider a geo-distributed infrastructure composed of been shown in many multi-objective problems (Deb et al.,
nine regions interconnected by network links whose la- 2002; Aral et al., 2021).
tency values are specified in Figure 3. Latency values are We compare the analyzed strategies regarding latency
provided by CloudPing1 and represent the 50th percentile SLA violations and allocation cost (see Section 4 for de-
among annual observations of latency between Amazon tails). Our simulations are primarily based on features pro-
Web Services regions. vided by NetworkX (Hagberg et al., 2008), a well-known
Python library that allows modeling large-scale network
topologies. Our research strives to follow open science prin-
146 198
ciples. Therefore, companion material publicly available on
Region 7 Region 8 Region 9 GitHub2 contains the dataset, source code, and instructions
11 18
9
for reproducing our results.
9
78 146 150

30 122 6.2 NSGA-II’s Sensitivity Analysis


Region 4 Region 5 Region 6

38
8
45
We conducted a sensitivity analysis to determine the best
39 10 0
13 parameters for the NSGA-II algorithm. Without loss of gen-
267 53
erality, we define the population size as 400 and crossover
Region 1 Region 2 Region 3
probability to 100%. The algorithm was configured with
the Uniform Crossover and Polynomial Mutation meth-
ods (Blank and Deb, 2020). The initial population was set
Figure 3: Network Latency between regions.
using a Random-Fit Algorithm (Souza et al., 2022). Our
In our dataset, three infrastructure providers manage six analysis evaluates different population sizes = {100, 200,
data centers each. Data centers are evenly positioned across 300, ..., 1500} and mutation probabilities = {0%, 10%,
the nine regions, with capacity = {60, 120}—we consider 20%, 30%, ..., 100%}.
such abstract units to represent data center capacities as real Each parameter combination ω was accessed by a cost
values could not be found publicly. Data centers must host function ∆ (Eq. 16), which considers both the normalized
60 composite applications totaling 132 services. The sam- number of SLA violations and the allocation cost achieved
ple application workflow specifications used in the experi- by the solutions. In total, we evaluated 165 parameter com-
ments are presented in Figure 4. In this setting, applications binations. As indicated in Figure 5, the NSGA-II algorithm
have three distinct SLAs = {100, 150, 200}, and services achieved the lowest cost ∆ with 1200 generations and muta-
have heterogeneous demands = {2, 4, 6, 8}, both uniformly tion probability = 10%—accordingly, we used this configu-
distributed. ration in the evaluation of Section 6.3.
   
ID Application Workflow ∆(ω) = norm ωSLAViolations + norm ωallocationCost
(16)
1 Web Server

2 Web Server File Storage 1500 0.105 0.026 0.237 0.566 0.669 1.018 0.927 0.905 1.002 1.151 1.132
1400 0.105 0.026 0.237 0.566 0.669 1.018 0.927 0.905 1.002 1.151 1.132 1.4
1300 0.105 0.026 0.454 0.566 0.592 1.018 0.927 0.905 1.002 1.151 1.132
Number of Generations

3 Web Server Database 1200 0.105 0.019 0.454 0.566 0.592 1.018 0.927 0.905 1.002 1.175 1.153 1.2
1100 0.105 0.053 0.368 0.566 0.592 1.151 0.927 0.905 1.002 1.175 1.153
1000 0.105 0.053 0.274 0.515 0.623 1.151 0.927 0.905 1.030 1.175 1.153 1.0
4 Web Server File Storage Database 900 0.105 0.024 0.329 0.515 0.623 1.151 0.927 0.905 1.199 1.175 1.186
800 0.105 0.057 0.303 0.525 0.623 1.151 0.927 0.905 1.199 1.175 1.181 0.8
5 Web Server Database File Storage 700 0.105 0.055 0.339 0.544 0.623 1.037 0.927 1.254 1.417 1.145 1.181
600 0.105 0.084 0.370 0.789 0.692 1.037 0.967 1.021 1.417 1.198 1.416 0.6
500 0.105 0.079 0.415 0.647 0.855 1.025 1.044 1.021 1.417 1.138 1.416
Figure 4: Application workflows used in the evaluation. 400 0.105 0.081 0.415 0.616 0.749 1.025 1.044 1.127 1.417 1.312 1.416 0.4
300 0.105 0.103 0.681 0.685 0.899 1.065 1.146 1.163 1.417 1.312 1.416
200 0.105 0.256 0.567 0.673 0.942 1.024 1.292 1.237 1.373 1.516 1.406 0.2
We compare Clover against three approaches. The 100 0.105 0.413 0.795 0.874 1.216 1.189 1.282 1.334 1.346 1.477 1.506
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
first two baseline strategies, Best Fit and Worst Fit, al- Mutation Probability
low us to evaluate the impact of extreme provisioning de-
cisions on the infrastructure. While Best Fit focuses on Figure 5: NSGA-II sensitivity analysis results.
consolidating services on a subset of data centers, Worst
Fit does the opposite, distributing services across the in-
frastructure as much as possible. As both Best Fit and 6.3 Results and Discussion
Worst Fit are naive strategies that make no optimized de-
cision for the addressed scenario, our evaluation also con- 6.3.1 Latency SLA Violations
siders a metaheuristic called Non-Dominated Sorting Ge-
netic Algorithm II (NSGA-II) (Deb et al., 2002), which em- Figures 6 (a) and (b) present the number of SLA violations
ploys a population-based search procedure to find Pareto- during the execution of the evaluated placement strategies.
1 https://www.cloudping.co/ 2 Omitted for double blind review.
1 2 3 W o r s t F it B e s t F it N S G A - II C lo v e r
7 0 0
5 0
6 0 0
4 0 5 0 0
S L A V io la t io n s
3 0 4 0 0

L a te n c y
3 0 0
2 0
2 0 0
1 0 1 0 0
0 0
W o r s t F it B e s t F it N S G A - II C lo v e r 1 0 0 1 5 0 2 0 0

A lg o r it h m L a te n c y S L A

(a) SLA Violations per Chain Size (b) Latency per SLA

W o r s t F it B e s t F it N S G A - II C lo v e r

1 × 1 0 5
9 6 7 0 0 2 0 0
9 6 0 0 0
A llo c a tio n C o s t

A llo c a t io n C o s t
7 5 4 0 0 7 6 2 0 0 1 5 0
7 × 1 0 4

1 0 0
4 × 1 0 4
5 0

0 0
W o r s t F it B e s t F it N S G A - II C lo v e r W e b S e rv e r F ile S t o r a g e D a ta b a s e

A lg o r ith m S e r v ic e T y p e

(c) Overall Allocation Cost (d) Allocation Cost per Service Type
Figure 6: Experimental results comparing the evaluated strategies.

As expected, the naive algorithms (Worst Fit and Best Fit) deviation related to allocation cost per service, as they over-
showed the worst results, with roughly 4x more SLA vi- look this target metric (Figure 6 (d)). Best Fit’s slightly
olations than Clover and NSGA-II. Although Best Fit and higher overall cost allocation probably comes from its con-
Worst Fit do not incorporate SLA-optimized allocations, we solidation approach. If Worst Fit decides to allocate a ser-
can make some observations about the impact of certain re- vice in an expensive data center, chances are that it will not
source management decisions based on such results. use that data center excessively, given its demand-spreading
As shown in Figure 6 (a), Best Fit’s consolidation led to approach. Conversely, a careless decision in terms of allo-
better outcomes than Worst Fit’s spread strategy, especially cation cost performed by Best Fit can cause a more signifi-
for applications with larger service sets. While demand dis- cant impact, as it tends to host as many services as possible
tribution brings several benefits (e.g., high availability and in the same data center.
mitigation of saturations at specific points in the infrastruc- As shown in Figure 6 (c), Clover’s provisioning deci-
ture), if not accompanied by SLA-aware policies, it can sig- sions resulted in an allocation cost increase of only 1.06%
nificantly degrade users’ experience due to excessively long compared to NSGA-II’s Pareto-optimal outcome. This pos-
response times, which nullify any other potential benefits. itive result derives primarily from two resource manage-
As the number of SLA violations is computed per appli- ment decisions. First, Clover prioritizes applications with
cation, preventing violations from applications with fewer greater cost-saving potential and with a smaller number of
services is easier since they naturally have lower overall de- cheap data centers. Consequently, it avoids wasting (po-
mand than applications with more services. That being said, tentially scarce) cheap resources with applications whose
while Worst Fit and Best Fit had a balanced number of SLA probable cost reduction is negligible. Second, Clover’s data
violations regardless of the application size (i.e., number of center sorting scheme prioritizes hosting services in data
services), we can observe that Clover benefited from this, centers with the lowest allocation cost as long as they don’t
achieving results closer to NSGA-II’s Pareto -optimal out- meet latency SLAs.
come. Figure 6 (a) shows that Clover could reduce the num-
ber of SLA violations of smaller applications, completely
mitigating the violations from applications with a single ser-
vice. In addition, Figure 6 (b) shows that Clover provides 7 Conclusion and Future Work
more steady latency for applications, reaching outcomes
close to NSGA-II’s, unlike the naive algorithms, which dis- A software architecture that allows decomposing the appli-
played a high standard deviation. cation into pieces of software, such as microservices, con-
sists of an organization that is very well suited to the con-
6.3.2 Allocation Cost text of cloud computing. It occurs because using multiple
cloud providers in several locations, especially when de-
Figures 6 (c) and (d) present the application cost alloca- ploying composite applications like microservices, can de-
tion results. Like the SLA violation analysis, Worst Fit and liver many cost benefits.
Best Fit delivered the worst outcomes. Unlike Clover and First, it enables excellent flexibility in selecting cost-
NSGA-II, Best Fit and Worst Fit exhibited a high standard effective alternatives for specific microservices or geo-
graphic regions. Each microservice may have distinct re- Nsga-ii. IEEE Transactions on Evolutionary Compu-
source requirements and performance needs, so using dif- tation, 6(2):182–197.
ferent providers for different microservices can be more Dijkstra, E. W. et al. (1959). A note on two problems
cost-efficient. in connexion with graphs. Numerische mathematik,
Then, using multiple cloud providers in different re- 1(1):269–271.
gions can also help optimize data transfer and reduce egress Faticanti, F., Savi, M., Pellegrini, F. D., Kochovski, P.,
costs, which can be a high cost when transferring data be- Stankovski, V., and Siracusa, D. (2020). Deployment
tween different regions. This article proposed to analyze the of application microservices in multi-domain feder-
cost reduction to maintain composite applications. There- ated fog environments. In 2020 International Con-
fore, we simulate applications composed of multiple ser- ference on Omni-layer Intelligent Systems (COINS),
vices, which could be held in different locations as long as pages 1–6.
the sum of the latencies of these locations does not exceed
Hagberg, A., Swart, P., and S Chult, D. (2008). Explor-
the defined service level agreement.
ing network structure, dynamics, and function using
The results showed that the heuristic is specialized networkx. Technical report, Los Alamos National
enough to seek the ideal place for each service that supports Lab.(LANL), Los Alamos, NM (United States).
the application, always looking for the lowest cost within
Ilie, L., Pop, E., Caramihai, S. I., and Moisescu, M. A.
a minimum latency. Furthermore, the heuristic is generalist
(2022). A soa based e-health services framework.
enough to scale to applications with more than two services,
In 2022 E-Health and Bioengineering Conference
as was the case with the proof of concept of this work.
(EHB), pages 1–4.
As future work, we must consider that having a multi-
cloud strategy can provide redundancy and failover pro- Katsuno, Y. and Takahashi, H. (2015). An automated par-
tection in case of a service disruption or outage with one allel approach for rapid deployment of composite ap-
provider. It can minimize the risk of business interruption plication servers. In 2015 IEEE International Confer-
and ensure the continuity of operations. Also, using multi- ence on Cloud Engineering, pages 126–134.
ple cloud providers can mitigate vendor lock-in, which can Kozina, O. and Kozin, M. (2022). Simulation model of data
be a significant cost consideration when dedicating to a sin- consistency protocol for multicloud systems. In 2022
gle provider long-term. It, similarly, can be modeled and IEEE 3rd KhPI Week on Advanced Technology (KhPI-
included in future cost calculations. Week), pages 1–4.
Li, Y., Dai, W., Gan, X., Jin, H., Fu, L., Ma, H., and
Wang, X. (2022). Cooperative service placement
and scheduling in edge clouds: A deadline-driven ap-
REFERENCES proach. IEEE Transactions on Mobile Computing,
21(10):3519–3535.
Anglano, C., Canonico, M., Castagno, P., Guazzone, M., Liu, J., Qiao, J., and Zhao, J. (2018). Femcra: Fine-grained
and Sereno, M. (2020). Profit-aware coalition forma- elasticity measurement for cloud resources allocation.
tion in fog computing providers: A game-theoretic ap- In 2018 IEEE 11th International Conference on Cloud
proach. Concurrency and Computation: Practice and Computing (CLOUD), pages 732–739.
Experience, 32(21):e5220. e5220 cpe.5220. Mahmud, R., Srirama, S. N., Ramamohanarao, K., and
Aral, A., Demaio, V., and Brandic, I. (2021). Ares: Re- Buyya, R. (2020). Profit-aware application place-
liable and sustainable edge provisioning for wireless ment for integrated fog–cloud computing environ-
sensor networks. IEEE Transactions on Sustainable ments. Journal of Parallel and Distributed Comput-
Computing, pages 1–12. ing, 135:177–190.
Blank, J. and Deb, K. (2020). Pymoo: Multi-objective op- Mao, Z., Yang, J., Shang, Y., Liu, C., and Chen, J. (2013).
timization in python. IEEE Access, 8:89497–89509. A game theory of cloud service deployment. In 2013
IEEE Ninth World Congress on Services, pages 436–
Blinowski, G., Ojdowska, A., and Przybyłek, A. (2022). 443.
Monolithic vs. microservice architecture: A perfor- Mufid, M. R., Basofi, A., Al Rasyid, M. U. H., Rochiman-
mance and scalability evaluation. IEEE Access, syah, I. F., and rokhim, A. (2019). Design an mvc
10:20357–20374. model using python for flask framework development.
Chaudhari, N., Bhadoria, R. S., and Prasad, S. (2016). In- In 2019 International Electronics Symposium (IES),
formation handling and processing using enterprise pages 214–219.
service bus in service-oriented architecture system. In Pelle, I., Czentye, J., Dóka, J., and Sonkoly, B. (2019). To-
2016 8th International Conference on Computational wards latency sensitive cloud native applications: A
Intelligence and Communication Networks (CICN), performance study on aws. In 2019 IEEE 12th Inter-
pages 418–421. national Conference on Cloud Computing (CLOUD),
De Donno, M., Tange, K., and Dragoni, N. (2019). Founda- pages 272–280.
tions and evolution of modern computing paradigms: Raj, P., Vanga, S., and Chaudhary, A. (2023). Design,
Cloud, iot, edge, and fog. IEEE Access, 7:150936– Development, and Deployment of Eventx2010;Driven
150948. Microservices Practically, pages 129–142.
Deb, K., Pratap, A., Agarwal, S., and Meyarivan, T. (2002). Sheikh, W. and Sheikh, N. (2020). A model-view-
A fast and elitist multiobjective genetic algorithm: viewmodel (mvvm) application framework for hear-
ing impairment diagnosis - type dependency architec- ment and observation of cross-provider cross-region
ture. In 2020 Intermountain Engineering, Technology latency for cloud-based iot systems. In 2019 IEEE
and Computing (IETC), pages 1–6. World Congress on Services (SERVICES), volume
Shi, T., Ma, H., Chen, G., and Hartmann, S. (2020). 2642-939X, pages 364–365.
Location-aware and budget-constrained service de- Warren, M. S., Skillman, S. W., Chartrand, R., Kelton, T.,
ployment for composite applications in multi-cloud Keisler, R., Raleigh, D., and Turk, M. (2016). Data-
environment. IEEE Transactions on Parallel and Dis- intensive supercomputing in the cloud: Global analyt-
tributed Systems, 31(8):1954–1969. ics for satellite imagery. In 2016 Seventh International
Souza, P., Ângelo Crestani, Rubin, F., Ferreto, T., and Workshop on Data-Intensive Computing in the Clouds
Rossi, F. (2022). Latency-aware privacy-preserving (DataCloud), pages 24–31.
service migration in federated edges. In International Wen, Z., Cała, J., Watson, P., and Romanovsky, A. (2017).
Conference on Cloud Computing and Services Sci- Cost effective, reliable and secure workflow deploy-
ence, pages 288–295. ment over federated clouds. IEEE Transactions on
Vu, T., Mediran, C. J., and Peng, Y. (2019). Measure- Services Computing, 10(6):929–941.

You might also like