TY - JOUR
T1 - Microservices backlog -- a genetic programming technique for identification and evaluation of microservices from user stories.
AU - Vera-Rivera, Fredy H.
AU - Puerto, Eduard
AU - Astudillo, Hernan
AU - Gaona, Carlos
N1 - Publisher Copyright:
Author
PY - 2021/8/20
Y1 - 2021/8/20
N2 - The microservice granularity directly affects the quality attributes and usage of computational resources of the system, determining optimal microservice granularity is an open research topic. Microservices granularity is defined by the number of operations exposed by the microservice, the number of microservices that compose the whole application, and its complexity and dependencies. This paper describes "Microservice Backlog (MB)", a semiautomatic model for defining and evaluating the granularity of microservice-based applications; MB uses genetic programming technique to calculate at design time the granularity of each microservice from the user stories in the "product backlog" or release planning; the genetic algorithm combined coupling, cohesion, granularity, semantic similarity, and complexity metrics to define the number of microservices, and the user stories associated with each microservice. MB decomposes the candidate microservices, allowing to analyze graphically the size of each microservice, as well as its complexity, dependencies, coupling, cohesion metrics, and the number of calls or requests between microservices. The resulting decomposition (number of microservices and their granularity) performed by MB shows less coupling, higher cohesion, less complexity, fewer user stories associated with each microservice, and fewer calls among microservices. MB was validated against three existing methods, using two state-of-the-art applications (Cargo Tracking and JPet-Store), and one real-life applications (Foristom Conferences). The development team and/or architect can use metrics to identify the critical points of the system and determine at design time how the microservice-based application will be implemented.
AB - The microservice granularity directly affects the quality attributes and usage of computational resources of the system, determining optimal microservice granularity is an open research topic. Microservices granularity is defined by the number of operations exposed by the microservice, the number of microservices that compose the whole application, and its complexity and dependencies. This paper describes "Microservice Backlog (MB)", a semiautomatic model for defining and evaluating the granularity of microservice-based applications; MB uses genetic programming technique to calculate at design time the granularity of each microservice from the user stories in the "product backlog" or release planning; the genetic algorithm combined coupling, cohesion, granularity, semantic similarity, and complexity metrics to define the number of microservices, and the user stories associated with each microservice. MB decomposes the candidate microservices, allowing to analyze graphically the size of each microservice, as well as its complexity, dependencies, coupling, cohesion metrics, and the number of calls or requests between microservices. The resulting decomposition (number of microservices and their granularity) performed by MB shows less coupling, higher cohesion, less complexity, fewer user stories associated with each microservice, and fewer calls among microservices. MB was validated against three existing methods, using two state-of-the-art applications (Cargo Tracking and JPet-Store), and one real-life applications (Foristom Conferences). The development team and/or architect can use metrics to identify the critical points of the system and determine at design time how the microservice-based application will be implemented.
KW - Complexity theory
KW - Couplings
KW - Genetic algorithms
KW - Heuristic algorithms
KW - Measurement
KW - Micro-services granularity
KW - Microservices decompositions
KW - Scalability
KW - Semantics
KW - Service computing
KW - Service-oriented systems engineering
KW - Software
KW - Software architecture
KW - Software design
KW - Software metrics
KW - Web services
UR - http://www.scopus.com/inward/record.url?scp=85113289108&partnerID=8YFLogxK
U2 - 10.1109/ACCESS.2021.3106342
DO - 10.1109/ACCESS.2021.3106342
M3 - Article
AN - SCOPUS:85113289108
SN - 2169-3536
JO - IEEE Access
JF - IEEE Access
ER -