On the feasibility of using SOA metrics to assess cohesion during microservices evolution

Mateus Gabi Moreira · 2023

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, LOC message 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.

Read the paper · More papers on PaperTik