API SLICER: Uma Abordagem Baseada em Features para Decomposição de APIs monolíticas em Microsserviços

Abstract

Muitas abordagens relacionados a decomposição de aplicações monolíticas foram propostas em estudos recentes. Entretanto tais estudos não são sensíveis a decomposição de APIs monolíticas em microsserviços, resultando na decomposição manual das APIs monolíticas, com base apenas na experiência dos desenvolvedores. Este artigo apresenta a API Slicer, uma abordagem baseada no nível de similaridade entre features, que utiliza o rastro de execução para entender a API monolítica e gerar sugestões de microsserviços. A API Slicer se destaca por: (1) mostrar quais funcionalidades devem se transformar em microsserviços e quais devem permanecer na API monolítica; (2) ser agnóstica a tecnologia, contanto que a aplicação alvo seja orientada a objetos; e (3) a similaridade ser feita com base na lista de pacotes que o usuário fornece no início do processo de recomendação. A abordagem API Slicer tenta resolver através da decomposição, o problema que toda a aplicação monolítica sofrerá com o tempo: crescer de forma indeterminada, até se tornar complexa, de difícil manutenção e evolução. Os desenvolvedores vão se beneficiar com a API Slicer, por ela permitir a decomposição semiautomática de uma API monolítica, além de sua decomposição ter sido criado com base em um estudo empírico. A abordagem foi avaliada por meio de um estudo de caso, onde 3 aplicações alvo foram testadas para verificar a efetividade da recomendação de microsserviços. Para cada aplicação alvo, foram criados dois cenários, um mostrando as recomendações de microsserviços e outro indicando quais serviços deveriam permanecer na API monolítica. Além disso, em cada um dos cenários, o nível de similaridade variou de 10% a 90%, para verificar a partir de qual porcentagem, as abordagens API Slicer e Monólise alcançariam o resultado desejado. A Monólise é uma abordagem de decomposição de aplicações monolíticas em microsserviços, proposta na literatura. As métricas utilizadas para comparar o resultado gerado com o ideal, foram a precision e recall. E os resultados indicaram que a abordagem API Slicer teve o maior nível de precisão em duas das três aplicações alvo utilizadas por este estudo, se mostrando uma alternativa viável.

Publication
Graduation Work, Information Systems, Universidade do Vale do Rio do Sinos (Unisinos), São Leopoldo, Brazil, December
Date
Links