imagem destaque

Arquitetura de Micro Serviços

Escrito por Cristiano do Nascimento
 em 19 de fevereiro de 2020

Olá pessoal, vamos fazer uma introdução a arquitetura de micro serviços, as vantagens e desvantagens do seu uso. Boa leitura.

O que é um micro-serviço?

Micro serviços são uma abordagem arquitetônica e organizacional do desenvolvimento de software na qual o software consiste em pequenos serviços independentes que se comunicam usando APIs bem definidas. Esses serviços pertencem a pequenas equipes autossuficientes.

Micro serviços é uma maneira particular de desenvolver aplicações de maneira que cada módulo do software é um serviço standalone cujo deploy e escala acontecem de maneira independentes da “aplicação principal”.

As arquiteturas de micro serviços também agilizam o desenvolvimento de aplicativos, habilitando a inovação e acelerando o tempo de introdução de novos recursos no mercado.

Por que utilizar micro serviços?

Apesar do seu nome autoexplicativo, é importante estudarmos os reais impactos que uma arquitetura composta por diferentes módulos conversando via lightweight como HTTP pode causar na forma como programamos e nos resultados que obtemos com software. Vamos citar algumas vantagens e desvantagens (sim, porque no mundo dos micro serviços nem tudo são flores) de se utilizar este tipo de arquitetura.

Vantagens

Escalabilidade:

Quando quebramos uma aplicação monolítica e grande em várias pequenas, possivelmente escalá-las de forma separada. Escolhendo pela necessidade qual serviço precisa de mais recursos de hardware. Uma aplicação monolítica seria necessário escalá-la por inteiro, aumentando consideravelmente o custo.

Múltiplas tecnologias:

Não é necessário desenvolver os micros serviços todos na mesma linguagem de programação, de acordo com a necessidade pode-se utilizar a linguagem necessária para uma determinada característica do micro serviço.

Equipes autossuficientes:

Cada equipe pode assumir um ou mais micro serviços, tendo autonomia na escolha da linguagem de programação, como dito acima, e também a forma como vai gerenciar o desenvolvimento/sustentação do micro serviço.

Desvantagens

Performance:

Bibliotecas rodam no mesmo processo da aplicação, usam memória compartilhada, etc. Serviços dependem de canais de comunicação, como HTTP, para conseguirem tratar e responder as requisições.

Disponibilidade dos serviços:

A coordenação entre os contratos de serviço deve ser muito bem planejadas e desenvolvidas para que os consumidores consigam “conversar” com os serviços de maneira que eles esperam, bem como receber as respostas que estão preparados.

Monolito x Micro Serviços

Como foi visto, existem vantagens e desvantagens em se usar a arquitetura de micro serviços, para saber se vale a pena partir para a arquitetura de micro serviços você tem que entender um pouco sobre a situação do seu projeto, pois transformar um monolito em micro serviço pode ser complicado se você não tiver ao menos como mensurar o quanto o seu processo de CI/CD está automatizado. Se não houver nem o processo, esta é uma tarefa que tem de ser consolidada antes mesmo de se cogitar a arquitetura de micro serviços.

É importante saber se a equipe que realizará o desenvolvimento está preparada, pois impactará também no modo como as pessoas trabalham.

Minha Experiência

Minha experiência aqui na DBC em trabalhar com micro serviços tem sido muito positiva. A divisão correta de cada serviço é muito importante para o sucesso e a equipe que faço parte pensa muito nisso, acabamos correndo na frente da maioria dos futuros problemas e evitamos dores de cabeça. Por isso, identifique as responsabilidades muito bem antes de dividir.

Fique ligado aqui no Blog e nas  redes sociais que em breve eu volto para compartilhar um pouco mais do meu trabalho e aprofundar esse tema.

Por Cristiano do Nascimento, Desenvolvedor de Sistemas na DBC Company.

cristiano.nascimento@dbccompany.com.br

Quer saber mais? Fique ligado que logo tem artigo novo no Blog DBC.
E quer fazer parte do nosso time? #VemPraDBC

Confira nossas vagas em: https://dbc.compleo.com.br/

#DBCCompany #ConstruindoUmFuturoDigital #VagasTi

por Cristiano do Nascimento Desenvolvedor de Sistemas
Menu - DBC Company

Compartilhe

Compartilhar no facebook
Compartilhar no whatsapp
Compartilhar no twitter

Deixe um comentário!

E participe da conversa.

Veja Também

Ferramentas de automação tendências para 2021
Olá, tudo bem? É a minha primeira vez escrevendo aqui no nosso blog, então vou iniciar esse post me apresentando. Meu nome...
Modelagem Dimensional – Star Schema e Snowflake Schema
Agora que já aprendemos os conceitos básicos da modelagem dimensional, no artigo “Introdução à Modelagem Dimensional”, podemos nos aprofundar no tema, abordando...