Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços - Freire, Augusto Flávio Albuquerque Arraes (2021)
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.