Uma proposta baseada na arquitetura de microserviços para reaproveitamento de módulos de soluções monolíticas

Carregando...
Imagem de Miniatura
Data
2016
Tipo de documento
Monografia
Título da Revista
ISSN da Revista
Título de Volume
Área do conhecimento
Ciências Exatas e da Terra
Modalidade de acesso
Acesso aberto
Editora
Autores
Linsmeyer, Lucas Marcondes de Mattos
Fernandes, Lutielo
Orientador
Ceci, Flávio
Coorientador
Resumo
Technology is one of the many sciences that have evolved greatly since recent years. Gadgets, tools, programming languages and countless other areas technology related are in constant evolution. Software architecture is no different, as technology evolves, so do the concepts related to it. Concepts that were once the foundation of most software are now considered obsolete given it¿s coding approach; structured programming, low code coupling, massive blocks of code and a lack of subject segregation become obstacles when it comes to maintain and evolve the software. New concepts and approaches has been used and the term microservices is currently a well accepted in the segment. This approach has a different way of handling the code, instead of dealing with the software as a single-block it segregates and splits the logic in much smaller segments that deal with a very specific matter. To long lasting, robust software this approach tends to be more effective. Although, is it possible to update such an aged architecture to the microservices take keeping the purpose of the software intact? This document presents a possible approach to deal with the maintenance of software that have outgrown its expectations and uses a conceptually ineffective architecture in which the microservices is more effective than the current.
A tecnologia é uma das ciências que tem apresentado maior evolução nos últimos tempos. Gadgets, ferramentas, linguagens de programação e uma infinidade de áreas ligadas a tecnologia, estão em constante evolução. A arquitetura dos softwares não foge a essa regra e com o passar do tempo, conceitos que eram empregados em praticamente todos os sistemas desenvolvidos, utilizando o que é chamada de arquitetura monolítica, começaram a ficar obsoletos e devido à algumas características como alto acoplamento, grande base de código e não separação do contexto de negócio, se tornaram obstáculos para a manutenção e evolução desses sistemas. Novas abordagens de arquitetura de software começaram a surgir e o termo microserviços começou a ganhar muita força no mercado de desenvolvimento de software. Essa recente abordagem tem características diferentes da arquitetura monolítica e ao invés de tratar o sistema como uma único bloco, trata de dividir o software em pequenos blocos que tratam de apenas um domínio de negócio. Para sistemas com mais robustez essa abordagem tende a ser efetiva. Porém, é possível migrar uma solução monolítica para uma arquitetura de microserviços, respeitando o objetivo original da aplicação? Esse trabalho trata de apresentar uma proposta de arquitetura para sistemas monolíticos, que tomaram proporções onde a aplicação da arquitetura de microserviço se faz conceitualmente mais efetiva que a arquitetura monolítica.

Palavras-chave
Microserviço, Arquitetura de software, Monolito
Citação