Skip to main page content
U.S. flag

An official website of the United States government

Dot gov

The .gov means it’s official.
Federal government websites often end in .gov or .mil. Before sharing sensitive information, make sure you’re on a federal government site.

Https

The site is secure.
The https:// ensures that you are connecting to the official website and that any information you provide is encrypted and transmitted securely.

Access keys NCBI Homepage MyNCBI Homepage Main Content Main Navigation
. 2023 May 12:9:e1380.
doi: 10.7717/peerj-cs.1380. eCollection 2023.

SEMGROMI-a semantic grouping algorithm to identifying microservices using semantic similarity of user stories

Affiliations

SEMGROMI-a semantic grouping algorithm to identifying microservices using semantic similarity of user stories

Fredy H Vera-Rivera et al. PeerJ Comput Sci. .

Abstract

Microservices is an architectural style for service-oriented distributed computing, and is being widely adopted in several domains, including autonomous vehicles, sensor networks, IoT systems, energy systems, telecommunications networks and telemedicine systems. When migrating a monolithic system to a microservices architecture, one of the key design problems is the "microservice granularity definition", i.e., deciding how many microservices are needed and allocating computations among them. This article describes a semantic grouping algorithm (SEMGROMI), a technique that takes user stories, a well-known functional requirements specification technique, and identifies number and scope of candidate microservices using semantic similarity of the user stories' textual description, while optimizing for low coupling, high cohesion, and high semantic similarity. Using the technique in four validation projects (two state-of-the-art projects and two industry projects), the proposed technique was compared with domain-driven design (DDD), the most frequent method used to identify microservices, and with a genetic algorithm previously proposed as part of the Microservices Backlog model. We found that SEMGROMI yields decompositions of user stories to microservices with high cohesion (from the semantic point of view) and low coupling, the complexity was reduced, also the communication between microservices and the estimated development time was decreased. Therefore, SEMGROMI is a viable option for the design and evaluation of microservices-based applications. The proposed semantic similarity-based technique (SEMGROMI) is part of the Microservices Backlog model, which allows to evaluate candidate microservices graphically and based on metrics to make design-time decisions about the architecture of the microservices-based application.

Keywords: Micro-services decompositions; Micro-services granularity; Microservices; Semantic similarity; Services computing; User stories.

PubMed Disclaimer

Conflict of interest statement

The authors declare that they have no competing interests.

Figures

Figure 1
Figure 1. Research model.
Figure 2
Figure 2. Grouping algorithm design.
Figure 3
Figure 3. Graphical results of the metrics.
Figure 4
Figure 4. Cognitive complexity analysis.
Figure 5
Figure 5. Granularity metric analysis.
Figure 6
Figure 6. Comparative analysis of the results.

References

    1. Abdullah M, Iqbal W, Erradi A. Unsupervised learning approach for web application auto-decomposition into microservices. Journal of Systems and Software. 2019;151:243–257. doi: 10.1016/j.jss.2019.02.031. - DOI
    1. Al-Debagy O, Martinek P. A new decomposition method for designing microservices. Periodica Polytechnica Electrical Engineering and Computer Science. 2019;63(4):274–281. doi: 10.3311/PPee.13925. - DOI
    1. Al-Debagy O, Martinek P. Extracting microservices’ candidates from monolithic applications: interface analysis and evaluation metrics approach. 2020 IEEE 15th International Conference of System of Systems Engineering (SoSE); Piscataway: IEEE; 2020. pp. 289–294.
    1. Baresi L, Garriga M, De Renzis A. Microservices identification through interface analysis. European Conference on Service-Oriented and Cloud Computing—Lecture Notes in Computer Science; Cham: Springer; 2017. pp. 19–33.
    1. Beck K. Extreme programming explained: embrace change. Boston: Addison Wesley; 2000.

LinkOut - more resources