vide support to build applications in which each part
is independently scalable and deployed. To achieve
its goals, PacificClouds must select the providers and
services to host all application microservices.
A cloud selection process must require several mi-
croservices to build an application, and each of them
needs various cloud services to compose your activ-
ities. Besides, a cloud selection process for Pacific-
Clouds must select among available cloud providers,
which one better meets the needs of the software ar-
chitect and the microservice, observing the function-
alities and requirements of each service required to
compose each microservice. Further, PacificClouds
must deploy each microservice in a distinct single
cloud provider.
The unlinked microservice mapped to quota
(UM
2
Q) approach described in this work uses a
multi-criteria decision-making (MCDM) method to
rank all cloud services that meet all requirements in
each provider. Also, UM
2
Q selects providers observ-
ing each microservice needs regardless of the other
microservices that compose an application. In this pa-
per, we only address applications based on microser-
vices, which have low communication cost among
microservices. We described the entire the proposed
selection process in Section 3. In addition, the ap-
proach proposed in this paper is part of the Pacific-
Cloud project (Carvalho et al., 2018b), which encom-
passes two other approaches to solve the problem of
selecting multiple cloud providers (Carvalho et al.,
2018a), (Carvalho et al., 2019). We compare them
in Section 5.
While our work addresses the multi-cloud selec-
tion process to deploy microservices from the soft-
ware architect’s perspective, there are other works in
the literature that also deal with the cloud selection
problem, but they focus on other issues: some select
services in a single cloud provider, e.g., Chen et al.,
2016 and Hongzhen et al., 2016, while others deal
with the problem using cloud federation, e.g., Thomas
and Chandrasekaran, 2017 and Panda et al., 2018;
some rank cloud services, e.g., Ding et al., 2017 and
Jatoth et al., 2018, and others address the cloud se-
lection to compose services, e.g., Bharath Bhushan
and Pradeep Reddy, 2016 and Mezni and Sellami,
2017; some focus on a trust evaluate, e.g.,Tang et al.,
2017 and Somu et al., 2018, and other works focus
on cloud manufacturing, e.q., Zheng et al., 2016 and
Zhou et al., 2018. In Section 5, we describe and com-
pare some of these research works.
In pursuance of addressing the issues described
above, we propose UM
2
Q, a multi-cloud selection
process which will be used by PacificClouds to de-
ploy the application microservices. The main contri-
butions of this work are as follows:
1. UM
2
Q selects one provider for each application
microservice from the software architect perspec-
tive, in which each provider selects all necessary
cloud services to meet every microservice.
2. We propose a formal description of the selection
process in Subsection 3.1, which describes how to
select each cloud service for each microservice.
3. UM
2
Q uses a multi-criteria decision-making
(MCDM) method to rank the cloud services in
each available provider and considers the software
architect requirements and its priorities. We de-
scribed the method in Subsection 3.2.
4. In Subsection 3.2, UM
2
Q selects providers by
individually observing each microservice, which
avoids the need for a global combination of can-
didate services and consequently consumes less
time during providers selection.
5. In Section 4, we performed an evaluation of the
selection process performance and the outcome
shows the feasibility of U M
2
Q regardless of the
application requirements, number of microser-
vices, and number of providers.
6. We performed a comparison of UM
2
Q with other
works that address the cloud selection problem
from the software architect perspective. For this,
we proposed Providers and Services Granularity
(PSG), which is a taxonomy to deal with issues
regarding the number of providers in the selection
process, the number of services in each provider,
and the selection process result (Section 5).
2 MOTIVATION
As aforementioned, the primary goal of this work is to
lead the multiple clouds selection process for Pacific-
Clouds. In this section, we show how PacificClouds
should select multiple clouds for each microservice.
Besides, as PacificClouds intends to manage the de-
ployment and execution process of an application
based on microservices in multi-cloud, we present
the definitions of multiple clouds and microservices
adopted in our work.
Figure 1 shows the deployment plan generation
service (DPGS) to PacificClouds, which is responsi-
ble for selecting the cloud providers and services to
host the microservices. We observe that the cloud
providers selection has three steps: first, it receives all
requirements from the SLA service; then, it receives
the cloud providers capabilities from the Adapter; and
finally, it selects a provider for each microservice
UM2Q: Multi-cloud Selection Model based on Multi-criteria to Deploy a Distributed Microservice-based Application
57