On the feasibility of using SOA metrics to assess cohesion during microservices evolution [recurso eletrônico] = Sobre a viabilidade de usar métricas SOA para avaliar a coesão durante a evolução dos microsserviços
Mateus Gabi Moreira
DISSERTAÇÃO
Inglês
T/UNICAMP M813o
[Sobre a viabilidade de usar métricas SOA para avaliar a coesão durante a evolução dos microsserviços]
Campinas, SP : [s.n.], 2023.
1 recurso online (55p.) : il., digital, arquivo PDF.
Orientador: Breno Bernard Nicolau de França
Dissertação (mestrado) – Universidade Estadual de Campinas, Instituto de Computação
Resumo: CONTEXTO: A Arquitetura de Microsserviços (MSA) oferece benefícios como complexidade reduzida, mas também desafios como complexidade de operação e manutenção. O monitoramento da qualidade do software é crucial para evitar aplicações com baixa coesão e altamente acopladas. Métricas podem...
Ver mais
Resumo: CONTEXTO: A Arquitetura de Microsserviços (MSA) oferece benefícios como complexidade reduzida, mas também desafios como complexidade de operação e manutenção. O monitoramento da qualidade do software é crucial para evitar aplicações com baixa coesão e altamente acopladas. Métricas podem ajudar a medir a manutenibilidade, mas precisam de ampla validação empírica antes de serem usadas para tomar decisões. Métricas de manutenibilidade específicas para MSA são desconhecidas, e métricas propostas para Arquitetura Orientada a Serviços (SOA) não foram avaliadas para o contexto de MSA. OBJETIVO: Dadas essas questões e a evidência empírica limitada, o problema abordado neste trabalho é a validação empírica das métricas projetadas para SOA aplicadas para medir a coesão de MSA. MÉTODO: Realizamos dois estudos principais. Primeiro, revisamos a literatura para identificar métricas para medir coesão em aplicações com arquitetura MSA. No segundo estudo mineramos repositórios de software, incluindo vários microsserviços e suas versões estáveis. Para isso, selecionamos o repositório a ser minerado; escolhemos uma aplicação MSA de código aberto para avaliar o procedimento de análise proposto. Em seguida, desenvolvemos uma ferramenta de apoio à coleta e análise de dados. Por fim, realizamos uma análise quantitativa (baseada em séries temporais) e qualitativa (baseada em código fonte). RESULTADOS: Nossos resultados sugerem que é possível visualizar a evolução da coesão em arquiteturas de microsserviços usando as métricas SOA selecionadas. No entanto, identificamos que diferentes perspectivas (controladores x microsserviço) usando as mesmas métricas podem apresentar resultados diferentes. O procedimento seguido em nosso método de pesquisa apoiou o monitoramento e a análise da coesão durante a evolução dos microsserviços, que as equipes de software podem usar para rastrear problemas de manutenibilidade durante todo o ciclo de vida do desenvolvimento de software. CONCLUSÃO: Nosso estudo indica que as métricas SOA (SIDC1, LOCmessage e SIIC) podem ser usadas para analisar a evolução de aplicações MSA. Quando aplicadas a controladores, essas métricas geralmente exibem um nível estável de coesão, mas a coesão diminui ao avaliar microsserviços inteiros
Ver menos
Abstract: CONTEXT: Microservices Architecture (MSA) offers benefits like reduced structural complexity and maintainability and operational complexity challenges. Monitoring software quality is crucial to prevent low-cohesion and highly coupled applications. Metrics can help assess maintainability...
Ver mais
Abstract: CONTEXT: Microservices Architecture (MSA) offers benefits like reduced structural complexity and maintainability and operational complexity challenges. Monitoring software quality is crucial to prevent low-cohesion and highly coupled applications. Metrics can help assess maintainability but need wide empirical validation before using them in decision-making. Maintainability metrics specific to MSA are unknown, and metrics proposed for Service-Oriented Architecture (SOA) have not been evaluated for MSA. OBJECTIVE: Given these issues and the limited empirical evidence, the problem addressed in this work is the empirical validation metrics designed for SOA applied to measure MSA cohesion. METHOD: We conducted two major studies. First, we reviewed the literature to identify metrics for assessing cohesion in MSA applications. Second, we mined software repositories, including various microservices and their releases. For that, we selected a repository to be mined; we chose an open-source MSA application to assess the proposed analysis procedure. Then, we developed a tool to support data collection and analysis. Finally, we performed a quantitative (based on time series) and qualitative analysis (based on source code). RESULTS: Our results suggest it is possible to visualize the evolution of cohesion in microservices architectures using the selected SOA metrics. However, we identified that different perspectives (controllers vs. microservice) using the same metrics may present different results. Generally, the procedure followed in our research method supported the monitoring and analysis of cohesion during microservices’ evolution, which software teams may use to track maintainability issues during the whole software development life cycle. CONCLUSION: Our study indicates that SOA metrics (SIDC1, LOCmessage, and SIIC) can be used to analyze the evolution of MSA applications. When applied to Web controllers, these metrics generally exhibit a stable level of cohesion, but cohesion decreases when evaluating entire microservices from a higher-level perspective
Ver menos
Requisitos do sistema: Software para leitura de arquivo em PDF
On the feasibility of using SOA metrics to assess cohesion during microservices evolution [recurso eletrônico] = Sobre a viabilidade de usar métricas SOA para avaliar a coesão durante a evolução dos microsserviços
Mateus Gabi Moreira
On the feasibility of using SOA metrics to assess cohesion during microservices evolution [recurso eletrônico] = Sobre a viabilidade de usar métricas SOA para avaliar a coesão durante a evolução dos microsserviços
Mateus Gabi Moreira