Skip to content

1. Introdução

Eder Marques edited this page Jan 2, 2023 · 5 revisions

Em aplicações monolíticas, todos os recursos e funcionalidades oferecidos estão em uma base de código unitária e indivisível. As dificuldades com este tipo de aplicação surgem quando o software precisa evoluir. Modificar e atualizar o código base a fim de incorporar novos serviços e funcionalidades à estrutura existente pode ser complexo e inviável, pois pequenas alterações podem gerar impactos negativos em outras áreas da aplicação.

Como contraponto a aplicação monolítica temos a arquitetura de micro serviços, em que a base de código unitária é fragmentada em componentes de serviços que realizam tarefas específicas, como se fossem uma aplicação autônoma. Os microsserviços encapsulam responsabilidades, são reutilizáveis, comunicam entre si usando protocolos como o HTTP e interagem de forma colaborativa. Com os microsserviços podemos desenvolver sistemas mais eficientes, escaláveis e flexíveis em menor tempo. Estes microsserviços operando em conjunto formam a arquitetura da aplicação.

Os microsserviços são disponibilizados por meio de APIs, usualmente através da rede. A arquitetura amplamente adotada no mercado atualmente é a API REST. Não obstante, há a API gRPC desenvolvida pela Google, uma estrutura mais moderna de conectar serviços que julgamos bastante promissora.

Este artigo aborda os fundamentos das duas arquiteturas, compara suas características destacando as vantagens e desvantagens de ambas, e avalia alguns cenários nos quais seria mais conveniente usar uma ou outra.