Por que microsserviço?

Caio Rodrigues
3 min readJul 31, 2019

--

Mas o que raios é um microsserviço?

Bom… Vamos tratar isso da maneira mais clichê e funcional possível.
Você já deve ter escutado esse exemplo, mas caso não tenha escutado ainda, não foi inventado agora. Na verdade é o exemplo mais usado pra explicar o que é um microsserviço. Sem mais delongas…

Pense em uma loja virtual, pense em todo processo que você faz quando quer comprar algo, de forma simplificada o processo feito é: realiza o login, navega entre os produtos e os adiciona no carrinho, finaliza os pedidos na área do carrinho e realiza o pagamento. Bom isso é o que os clientes utilizam, internamente podemos entender que ainda existem alguns processos até que os produtos comprados cheguem até o cliente.

E o que nisso tudo é um microsserviço? Cada processo é um microsserviço!
Exato, simples assim! Antes, todo esse processo era feito e administrado por uma única aplicação, essa arquitetura era conhecida como monolito. A arquitetura de microsserviço foi concebida para separar essas funções/módulos em outros projetos.

Ok! Mas por que eu faria isso?

Vamos voltar ao nosso exemplo:
Você tem um sistema pra sua loja online, dentre todas as funções que ele possui (algumas já apresentadas), foi detectado um bug no carrinho. O fluxo natural nesses casos seria corrigir o bug, rodar todos os testes da aplicação e aplicar a atualização com essa correção, sendo que pra isso, você subiu todo o seu sistema e não somente o ponto corrido. O por que? Porque no monolito, tudo está na mesma “farofa” você precisa rodar os testes de tudo, subir tudo… Quanto tempo isso deve levar? Pra não cometer o erro da não exatidão, vamos assumir que demora muito mais que do que subir a menor unidade de todo o seu sistema, correto?

Se tempo de processos de testes, deploy nos ambientes de QA e Prod e até mesmo desenvolvimento não são suficientes pra você, vamos para mais um motivo.
Na loja virtual, em época de black friday e feriados comemorativos (tais como dia das mães/pais/crianças ou natal) qual o serviço que mais consome recursos computacionais? Suponhamos que seja o serviço que lista busca e produtos. Na arquitetura de microsserviços, você pode escalar apenas o serviço que está sendo mais requisitado naquele momento e não toda aplicação.

Como tudo na vida, as mudanças devem ser avaliadas para cada caso, se você entende que sua aplicação teria uma melhoria considerável ao migrar o monolito para o microsserviço, sugiro que comece aos poucos a migração, afinal, por ser um microsserviço, você consegue fazer módulo a módulo, passando por todas as fases (desenvolvimento e testes) com bastante atenção para garantir a qualidade da sua aplicação.

--

--