O que é... Microsserviço? - Full Cycle O que é... FullCycle

Voltar

Wesley Willians

O que é… Microsserviço?

15 min de leitura

Hoje a gente vai falar sobre microsserviço. Afinal de contas o que são microsserviços? Para quê que eles servem? Quando eu devo utilizar? Ele serve para sistemas pequenos, sistemas grandes? Para quê que eu vou usar no final das contas esses famosos microsserviços? Então, vem comigo para você entender um pouco mais sobre esse assunto

O que é um Microsserviço?

Um microsserviço, basicamente, é um sistema comum. É um sistema como qualquer outro sistema, a grande diferença principalmente é conceitual. Por quê?
Porque o microsserviço, basicamente, é um serviço pequeno. É um sistema pequeno que tem uma única responsabilidade normalmente e a partir disso ele consegue fazer algo muito bem.

Vantagens dos Microsserviços

Uma grande vantagem de você utilizar microsserviços é que quando você tem sistemas muito grandes, precisamos ter equipes muito grandes. Ou seja, quando você tem equipes muito grandes, dar manutenção nesses sistemas realmente cada dia fica mais inviável.

Um grande problema, também, quando temos sistemas muito grandes ou quando a gente chama esses sistemas de sistemas monolíticos é que eles absorvem tudo. Eles tem suas próprias regras de negócio, eles tem o seu próprio banco de dados e, a partir daí, se um pedaço pequeno desse sistema cair, o sistema inteiro cai.

Eventualmente, você tem um tráfico absurdo numa parte em um sistema e a outra parte do sistema está totalmente ociosa. Como que a gente lida com todos esses cenários? Normalmente, a gente quebra esse sistema monolítico em pequenos sistemas. Esses pequenos sistemas tem uma única responsabilidade. A partir daí que a gente tem o famoso microsserviço.

Porém, temos que pensar sempre o seguinte: quando temos microsserviços, não significa que pelo fato desse serviço ser micro que ele não vai dar trabalho para você manter. Por que? Porque, um microserviço tem o seu próprio banco de dados. Ou seja, isso significa que, se você tiver 10 microsserviços e se esses 10 microsserviços vão ter os seus próprios 10 bancos de dados, e você tiver que fazer o deploy de um microsserviço, você vai ter que ser capaz de fazer deploy de 10 microsserviços também.

Responsabilidades bem definidas

Um ponto bem interessante é que é bem vantajoso você trabalhar com microsserviços. No final das contas, é que você consegue aplicar responsabilidades extremamente específicas para cada parte do sistema. Ou seja, quando uma parte desse sistema cai, as outras partes também ainda estão rodando de pé.

Isso aí facilita muito para você distribuir a sua equipe e para você conseguir, também, distribuir o risco da sua aplicação principalmente quando ela for crítica.

Porém, nada são flores no mundo dos microsserviços. Apesar de parecer tudo muito vantajoso e tudo muito glamouroso, afinal das contas, falar que você trabalha e que você acabou de criar um microsserviço, é bem mais legal do que falar que você fez aquele sistemão e fez o upload.

Quando não vale a pena utilizar um microsserviço?

Alguns pontos tem que ser bem frisados. Porque, quando você tá trabalhando com sistemas pequenos, normalmente, não vale a pena trabalhar com  microsserviços. Porque o custo para você manter sistemas baseados em microsserviços, normalmente, são maiores. Porque você precisa de uma infraestrutura um pouco mais bem planejada e normalmente isso custa mais caro.

Um ponto importante, também, é que a partir do momento que você está trabalhando com microsserviços, você também começa a encarar problemas que você não tinha antes, como por exemplo: fazer transações entre um monte de microsserviços, comunicação entre sistemas. Esses caras vão ter que estar se comunicando o tempo inteiro, fazer o deploy de uma forma cada vez mais organizada, muito mais automatizada. Isso você vai ter que ter cada vez mais afiado quando você está trabalhando com microsserviços.

Quando começar a trabalhar com Microsservicos?

De forma geral, quando trabalhar com microsserviços, hoje? Quando você começa a sentir a necessidade de um sistema monolítico tem de ser quebrado em diversas partes: Porque tá dando trabalho pra manter, está dando trabalho para equipe manter essa parada no ar. Está difícil de escalar. Está ficando mais caro escalar esse sistemas.

De qualquer forma, essa é uma decisão estratégica que você deve ter aí com sua equipe, com seu CEO ou, antes de você colocar a mão na massa e sair quebrando o sistema em microsserviços.

Você tem que lembrar, ao invés de você administrar um sistema grandão, você vai administrar diversos sistemas pequenos. Eventualmente, para fazer deploy e algumas manutenções o trabalho é o mesmo. Pense bem antes de sair abusando dos microsserviços.

De qualquer forma é uma ótima solução é uma ótima arquitetura. Para fazer com que você consiga criar cada dia mais aplicações modernas e escaláveis, de forma distribuída e com riscos muito mais acertados e com SLAs muito mais  específicas para cada área do seu sistema.

Espero que vocês tenham gostado. Não se esqueçam de deixar o seu comentário.

E se você quer aprender mais sobre microsserviços, solicite contato clicando aqui e nós te ajudamos.