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

Detalhes bibliográficos
Autor(a) principal: Freire, Augusto Flávio Albuquerque Arraes
Data de Publicação: 2021
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UNIFOR
Texto Completo: 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.
id UFOR_f450abce90e7cb23b5d9b20981e1e7db
oai_identifier_str oai::126979
network_acronym_str UFOR
network_name_str Biblioteca Digital de Teses e Dissertações da UNIFOR
repository_id_str
spelling Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviçosProgramação orientada a aspectosArquitetura orientada a serviçosVá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.Several organizations need to address the challenge to migrate current traditional monolithic applications in production to microservices, preferably, without having to schedule maintenance activities to take the application offline. This paper presents an approach for migrating to microservices with almost zero downtime and minimal changes in the monolith code. The approach is based on the concepts of Aspect-oriented Programming (AOP) and Reflection to enable to intercept calls inside the monolith and transform them into service requests invoking the newly built microservices using the concept of around advices. The aspects do the ¿hard work¿ of decoupling what will be refactored and which service to call and practically ¿zero¿ code changes need to be done in the original monolith code. Two applications are used as proofs of concept to demonstrate that the proposed approach enables to go either migrate or reverse among different versions of the application with minimal code or data changes. An evaluation performed in a public cloud demonstrates that this work does not introduce significant performance or cost overhead when compared to the state of the art in microservice migration and to the original monolith. Keywords: Microservice Architecture; System Migration; Aspect Oriented Programming.Tese enviada com autorização e certificação via CI 73748/21 em 03/11/2021Sampaio, Americo Tadeu FalconeMendonça, Nabor das ChagasAlbuquerque, Adriano BessaTrinta, Fernando Antonio MotaBatista, Thais VasconcelosGarcia, Vinicius CardosoUniversidade de Fortaleza. Programa de Pós-Graduação em Informática AplicadaFreire, Augusto Flávio Albuquerque Arraes2021info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://biblioteca.sophia.com.br/terminalri/9575/acervo/detalhe/126979https://uol.unifor.br/auth-sophia/exibicao/26366porreponame:Biblioteca Digital de Teses e Dissertações da UNIFORinstname:Universidade de Fortaleza (UNIFOR)instacron:UNIFORinfo:eu-repo/semantics/openAccess2023-08-29T09:38:34Zoai::126979Biblioteca Digital de Teses e Dissertaçõeshttps://www.unifor.br/bdtdONGhttp://dspace.unifor.br/oai/requestbib@unifor.br||bib@unifor.bropendoar:2023-08-29T09:38:34Biblioteca Digital de Teses e Dissertações da UNIFOR - Universidade de Fortaleza (UNIFOR)false
dc.title.none.fl_str_mv Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços
title Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços
spellingShingle 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
Programação orientada a aspectos
Arquitetura orientada a serviços
title_short Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços
title_full Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços
title_fullStr Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços
title_full_unstemmed Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços
title_sort Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços
author Freire, Augusto Flávio Albuquerque Arraes
author_facet Freire, Augusto Flávio Albuquerque Arraes
author_role author
dc.contributor.none.fl_str_mv Sampaio, Americo Tadeu Falcone
Mendonça, Nabor das Chagas
Albuquerque, Adriano Bessa
Trinta, Fernando Antonio Mota
Batista, Thais Vasconcelos
Garcia, Vinicius Cardoso
Universidade de Fortaleza. Programa de Pós-Graduação em Informática Aplicada
dc.contributor.author.fl_str_mv Freire, Augusto Flávio Albuquerque Arraes
dc.subject.por.fl_str_mv Programação orientada a aspectos
Arquitetura orientada a serviços
topic Programação orientada a aspectos
Arquitetura orientada a serviços
description 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.
publishDate 2021
dc.date.none.fl_str_mv 2021
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://biblioteca.sophia.com.br/terminalri/9575/acervo/detalhe/126979
url https://biblioteca.sophia.com.br/terminalri/9575/acervo/detalhe/126979
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://uol.unifor.br/auth-sophia/exibicao/26366
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UNIFOR
instname:Universidade de Fortaleza (UNIFOR)
instacron:UNIFOR
instname_str Universidade de Fortaleza (UNIFOR)
instacron_str UNIFOR
institution UNIFOR
reponame_str Biblioteca Digital de Teses e Dissertações da UNIFOR
collection Biblioteca Digital de Teses e Dissertações da UNIFOR
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da UNIFOR - Universidade de Fortaleza (UNIFOR)
repository.mail.fl_str_mv bib@unifor.br||bib@unifor.br
_version_ 1815437312273678336