Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços

Detalhes bibliográficos
Ano de defesa: 2021
Autor(a) principal: Freire, Augusto Flávio Albuquerque Arraes
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Tese
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Não Informado pela instituição
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://biblioteca.sophia.com.br/terminalri/9575/acervo/detalhe/126979
Resumo: Várias organizações precisam enfrentar o desafio de migrar seus atuais sistemas monolíticos tradicionais em produção para microsserviços, de preferência, sem ter que agendar atividades de manutenção para colocá-los offline. Este trabalho apresenta uma abordagem para migrar sistemas monolíticos para microsserviços com tempo de inatividade quase zero e mudanças mínimas no código no monólito. A abordagem é baseada nos conceitos de Programação Orientada a Aspectos (AOP) e Reflexão e permite interceptar chamadas dentro do monólito e transformá-las em solicitações de serviço que invocam os microsserviços recém-construídos usando o conceito de adendo Around. Os aspectos fazem o ¿trabalho árduo¿ de desacoplar o que será refatorado e qual serviço direcionar. Isso é realizado com praticamente ¿zero¿ alterações de código no monólito original. Duas aplicações foram usadas como provas de conceito para demonstrar que a abordagem proposta permite migrar ou reverter entre diferentes versões da aplicação com relativamente poucas mudanças de código ou de dados. Uma avaliação realizada em uma nuvem pública demonstra que este trabalho não apresenta perdas significativas de desempenho ou de custo quando comparado ao estado da arte em soluções de migração para microsserviços e ao monólito original. Palavras-chave: Arquitetura de microsserviços. Migração de Sistemas. Programação Orientada a Aspectos.