Greedy Multi-Cloud Selection Approach to Deploy an Application Based on Microservices
Juliana Oliveira de Carvalho, Dário Vieira, Fernando Antonio Mota Trinta · 2019
The multi-cloud delivery model allows the deployment of a distributed application in a manner in which the software architect chooses the services that better meet the application and the software architect's requirements. However, choosing cloud services is a complex task for a software architect, as there are several cloud providers that offer many services, which makes the selection process from the user perspective a relevant research problem. Therefore, in this paper, we propose a multiple providers selection approach to host a distributed application based on microservices to facilitate the software architect's decision-making. Our approach differs from others because each microservice is deployed in a single provider that better meets requirements from the software architect's perspective. Hence, our approach selects various services of a single provider for a microservice, and a distinct provider for each microservice, which makes this a complex task. We also use multi-criteria decision-making to rank the cloud services, and we map the selection process to multi-choice knapsack problem, which we develop using a greedy algorithm. Furthermore, we implement a tool to evaluate our approach performance, and the results show our approach feasibility, varying the number of cloud providers and services, microservices and requirements.