Abstract

AbstractIn the process of migrating a monolith to a microservice architecture, functionalities which execute on top of a single database as ACID transactions, have their execution split between several databases, one for each microservice. Therefore, the complexity of functionality migration increases, because of the lack of isolation of the functionality execution, which has to be handled by following an eventual consistency model. On the other hand, the object‐oriented approach, commonly followed in the development of monolith systems, promotes fine‐grained interactions in the functionalities implementation, which further increases the migration effort due to the large number of remote invocations between microservices, because it increases the number of microservices transactions that have to eventually be consistent. The main contribution of this paper is a heuristic method to help the software architect on the identification of functionality refactorings, to reduce the effort required to migrate the functionality to microservices when applying the SAGA pattern in the functionality microservices implementation. The heuristic accuracy and efficiency of the method is evaluated using a dataset extracted from 78 codebases and by comparing the results with expert refactorizations. Additionally, a performance analysis of the heuristic implementation is done.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call