Monólise: Uma técnica para decomposição de aplicações monolíticas em microsserviços
A recorrente necessidade de as empresas entregarem seus softwares em curto espaço de tempo e de forma contínua, combinada ao alto nível de exigência dos usuários, está fazendo a indústria, de um modo geral, repensar como devem ser desenvolvidas as aplicações para o mercado atual. Nesse cenário, micr...
| Author: | |
|---|---|
| Format: | master thesis |
| Status: | Published version |
| Publication Date: | 2018 |
| Country: | Brasil |
| Institution: | Universidade do Vale do Rio dos Sinos (UNISINOS) |
| Repository: | Repositório Institucional da UNISINOS (RBDU Repositório Digital da Biblioteca da Unisinos) |
| Language: | Portuguese |
| OAI Identifier: | oai:www.repositorio.jesuita.org.br:UNISINOS/7489 |
| Online Access: | http://www.repositorio.jesuita.org.br/handle/UNISINOS/7489 |
| Access Level: | Open access |
| Keyword: | ACCNPQ::Ciências Exatas e da Terra::Ciência da Computação Microsserviços Aplicação monolítica Decomposição aplicação Granularidade de microsserviços Microservices Monolithic application Application decomposition Microservice granularity |
| Summary: | A recorrente necessidade de as empresas entregarem seus softwares em curto espaço de tempo e de forma contínua, combinada ao alto nível de exigência dos usuários, está fazendo a indústria, de um modo geral, repensar como devem ser desenvolvidas as aplicações para o mercado atual. Nesse cenário, microsserviços é o estilo arquitetural utilizado para modernizar as aplicações monolíticas. No entanto, o processo para decompor uma aplicação monolítica em microsserviços é ainda um desafio que precisa ser investigado, já que, na indústria, atualmente, não há uma estrutura padronizada para fazer a decomposição das aplicações. Encontrar uma técnica que permita definir o grau de granularidade de um microsserviço também é um tema que desperta discussão na área de Engenharia de Software. Partindo dessas considerações, este trabalho propôs a Monólise, uma técnica que utiliza um algoritmo chamado Monobreak, que possibilita decompor uma aplicação monolítica a partir de funcionalidades e também definir o grau de granularidade dos microsserviços a serem gerados. Nesta pesquisa, a Monólise foi avaliada através de um estudo de caso. Tal avaliação consistiu na comparação da decomposição realizada pela Monólise com a decomposição executada por um especialista na aplicação-alvo utilizada no estudo de caso. Essa comparação permitiu avaliar a efetividade da Monólise através de oito cenários realísticos de decomposição. O resultado dessa avaliação permitiu verificar as semelhanças e diferenças ao decompor uma aplicação monolítica em microsserviços de forma manual e a partir de uma técnica semiautomática. O desenvolvimento deste trabalho demonstrou que a técnica de Monólise apresenta-se com uma grande potencialidade na área de Engenharia de Software referente à decomposição de aplicações. Além disso, as considerações do estudo evidenciaram que essa técnica poderá ser um motivador para encorajar desenvolvedores e arquitetos na jornada de modernização de suas aplicações monolíticas em microsserviços bem como diminuir possíveis erros cometidos nessa atividade por profissionais com pouca experiência em decomposição de aplicações. |
|---|