247 research outputs found
Identification of microservices from monolithic applications through topic modelling
Dissertaçã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
Identification of microservices from monolithic applications through topic modelling
Microservices 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 paper proposes a new approach on microservice 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. A 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.
Our first results are positive demonstrating beneficial identification of services due to overall metrics’ resultsNational Funds through the Portuguese
funding agency, FCT - Fundação para a Ciência e a Tecnologia
within project UIDB/50014/202
- …