Identification of microservices from monolithic applications through topic modelling

Detalhes bibliográficos
Autor(a) principal: Brito, Miguel António Ferrão
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: https://hdl.handle.net/1822/84137
Resumo: Dissertação de mestrado em Informatics Engineering
id RCAP_2a5b45e79e95bfa155d0e594c5bf80a8
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/84137
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Identification of microservices from monolithic applications through topic modellingMicroservice architectureMonolithic decompositionTopic modellingSoftware clusteringArquitetura de microserviçosDecomposição de monólitosModelação de tópicosClustering de softwareEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Informatics EngineeringMicroservices emerged as one of the most popular architectural patterns in the recent years given the increased need to scale, grow and flexibilize software projects accompanied by the growth in cloud computing and DevOps. Many software applications are being submitted to a process of migration from its monolithic architecture to a more modular, scalable and flexible architecture of microservices. This process is slow and, depending on the project’s complexity, it may take months or even years to complete. This dissertation proposes a new approach on microservices identification by resorting to topic modelling in order to identify services according to domain terms. This approach in combination with clustering techniques produces a set of services based on the original software. The proposed methodology is implemented as an open-source tool for exploration of monolithic architectures and identification of microservices. An extensive quantitative analysis using the state of the art metrics on independence of functionality and modularity of services was conducted on 200 open-source projects collected from GitHub. Cohesion at message and domain level metrics showed medians of roughly 0.6. Interfaces per service exhibited a median of 1.5 with a compact interquartile range. Structural and conceptual modularity revealed medians of 0.2 and 0.4 respectively. Further analysis to understand if the methodology works better for smaller/larger projects revealed an overall stability and similar performance across metrics. Our first results are positive demonstrating beneficial identification of services due to overall metrics’ results.Os microserviços emergiram como um dos padrões arquiteturais mais populares na atualidade dado o aumento da necessidade em escalar, crescer e flexibilizar projetos de software, acompanhados da crescente da computação na cloud e DevOps. Muitas aplicações estão a ser submetidas a processos de migração de uma arquitetura monolítica para uma arquitetura mais modular, escalável e flexivel de microserviços. Este processo de migração é lento, e dependendo da complexidade do projeto, poderá levar vários meses ou mesmo anos a completar. Esta dissertação propõe uma nova abordagem na identificação de microserviços recorrendo a modelação de tópicos de forma a identificar serviços de acordo com termos de domínio de um projeto de software. Esta abordagem em combinação com técnicas de clustering produz um conjunto de serviços baseado no projeto de software original. A metodologia proposta é implementada como uma ferramenta open-source para exploração de arquiteturas monolíticas e identificação de microserviços. Uma análise quantitativa extensa recorrendo a métricas de independência de funcionalidade e modularidade de serviços foi conduzida em 200 aplicações open-source recolhidas do GitHub. Métricas de coesão ao nível da mensagem e domínio revelaram medianas em torno de 0.6. Interfaces por serviço demonstraram uma mediana de 1.5 com um intervalo interquartil compacto. Métricas de modularidade estrutural e conceptual revelaram medianas de 0.2 e 0.4 respetivamente. Uma análise mais aprofundada para tentar perceber se a metodologia funciona melhor para projetos de diferentes dimensões/características revelaram uma estabilidade geral do funcionamento do método. Os primeiros resultados são positivos demonstrando identificações de serviços benéficos tendo em conta que os valores das métricas são de uma forma global positivos e promissores.Cunha, JácomeSaraiva, JoãoUniversidade do MinhoBrito, Miguel António Ferrão2020-12-222020-12-22T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/84137eng203254481info:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2024-05-11T04:51:08Zoai:repositorium.sdum.uminho.pt:1822/84137Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-28T15:00:19.320848Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Identification of microservices from monolithic applications through topic modelling
title Identification of microservices from monolithic applications through topic modelling
spellingShingle Identification of microservices from monolithic applications through topic modelling
Brito, Miguel António Ferrão
Microservice architecture
Monolithic decomposition
Topic modelling
Software clustering
Arquitetura de microserviços
Decomposição de monólitos
Modelação de tópicos
Clustering de software
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Identification of microservices from monolithic applications through topic modelling
title_full Identification of microservices from monolithic applications through topic modelling
title_fullStr Identification of microservices from monolithic applications through topic modelling
title_full_unstemmed Identification of microservices from monolithic applications through topic modelling
title_sort Identification of microservices from monolithic applications through topic modelling
author Brito, Miguel António Ferrão
author_facet Brito, Miguel António Ferrão
author_role author
dc.contributor.none.fl_str_mv Cunha, Jácome
Saraiva, João
Universidade do Minho
dc.contributor.author.fl_str_mv Brito, Miguel António Ferrão
dc.subject.por.fl_str_mv Microservice architecture
Monolithic decomposition
Topic modelling
Software clustering
Arquitetura de microserviços
Decomposição de monólitos
Modelação de tópicos
Clustering de software
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Microservice architecture
Monolithic decomposition
Topic modelling
Software clustering
Arquitetura de microserviços
Decomposição de monólitos
Modelação de tópicos
Clustering de software
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Informatics Engineering
publishDate 2020
dc.date.none.fl_str_mv 2020-12-22
2020-12-22T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/84137
url https://hdl.handle.net/1822/84137
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203254481
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833595038407327744