Uma solução orientada a aspectos para migração reversível de aplicações monolíticas para microsserviços
Autor(a) principal: | |
---|---|
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 |