Biblioteca Digital de Teses e Dissertações

Título: Uma abordagem de migração para arquitetura microservices a partir de aplicações monolíticas em produção
Autor: Carvalho, Luis Heustakio Lima
Programa: Mestrado Em Informática Aplicada
Data da defesa: 15/12/2017

Orientador:
Sampaio, Americo Tadeu Falcone

Banca examinadora:
Sampaio, Americo Tadeu Falcone
Mendonça, Nabor Das Chagas
Maia, Paulo Henrique Mendes
Farias, Pedro Porfírio Muniz

Assunto:
Engenharia De Software
Computação Em Nuvem

Resumo: O recente paradigma de Microservices vem ganhando bastante atenção do mercado e comunidade acadêmica e transformando a maneira de se desenvolver software. Com o objetivo de aumentar a produtividade das equipes de desenvolvimento, este paradigma transforma a maneira de se modularizar o software através da distribuição de um conjunto de pequenos programas independentes, chamados Microservices, que antes eram localizados dentro de uma única unidade de implantação, chamado Monolítico. Este paradigma muda a maneira de se construir software, pois os antigos módulos do monolítico podem ser construídos, implantados, monitorados e escalados de forma independente trazendo mais produtividade e desacoplamento, mas também impactando em uma série de desafios como uma gestão mais automatizada da implantação e a utilização de várias bases de dados. Algumas implementações referências baseadas em Microservices já estão em pleno funcionamento no mercado como os sistemas da Amazon e Netflix e demonstrando os benefícios do paradigma. Este trabalho propõe uma abordagem para migração de aplicações monolíticas para o padrão Microservices que contempla todas as atividades do ciclo de desenvolvimento de software. A Abordagem define os processos envolvidos nesta tarefa que são baseados nas melhores práticas sugeridas pelo atual estado da arte. Além disso, a abordagem proposta foca-se em dar suporte à migração de aplicações que já estão em produção sem afetar o desenvolvimento da mesma e os clientes que já utilizam o software. Um estudo de caso real foi desenvolvido em uma empresa de software cuja utilização da abordagem proposta conseguiu migrar a arquitetura monolítica de uma aplicação comercial sem afetar seu uso por parte dos clientes e atingindo benefícios como melhor modularização, redução do tempo de construção (build) e implantação. Palavras-chave: Arquitetura, Monolítica, Microserviços, Migração, Processo, Produção

Abstract: The recent Microservices paradigm is gaining a lot of attention from industry and academia and is transforming the way to develop software. With the goal of improving productivity of development teams, this paradigm transforms the way to modularize software in a collection of small independent distributed programs, called Microservices that used to be located into a single program unit, called Monolith. This paradigm changes the way to build software as the old monolith´s modules can be developed, deployed, monitored and scaled in an independent fashion improving productivity and modularization, however bringing some challenges such as a more automated deployment management and the use of various databases. Some reference Microservices implementations are already in production in the market such as Amazon and Netflix software and are showing the benefits of the paradigm. This work proposes an approach for the migration of Monolith applications for the Microservices paradigm addressing the whole software development lifecycle. The approach defines the processes involved in this task that are based on the best practices of the current state of the art. Moreover, the approach focuses on supporting applications that are already under production without affecting its current development and the clients of the software. A real Case Study was conducted in a software development company that applied the proposed approach and enabled migrating the architecture of a commercial application from Monolith to Microservices without affecting its use by clients and achieving benefits such as improved modularization, as well as reduced build and deployment times. Keywords: Architecture, Monolithic, Microservices, Migration, Process, Production

Termo para download

O autor desta obra é o titular dos direitos autorais. Esse trabalho destina-se somente para uso pessoal ou científico. Está proibida a comercialização de qualquer espécie sem autorização prévia do autor.