O que é a Arquitetura de Microsserviços

As estruturas de sistemas operacionais já não são mais as mesmas. A arquitetura baseada no tradicional sistema monolítico evoluiu para o modelo arquitetural voltado a serviços (SOA), até se chegar à chamada arquitetura de microsserviços, ou apenas microsserviços.

No post de hoje você vai conhecer mais sobre essa nova abordagem de desenvolvimento de aplicações e entender melhor como ela funciona.

Como funciona a arquitetura de microsserviços

O conceito de microsserviço surgiu em 2012 e, de uma maneira geral, trata-se do desenvolvimento de uma única aplicação como uma suíte de serviços autônomos e independentes, cada um rodando em seu processo e se comunicando por meio de uma API HTTP e REST.

Em outras palavras, enquanto uma aplicação monolítica coloca todas as suas funcionalidades em um único processo e escala replicando-as em vários serviços, a arquitetura de microsserviços coloca cada elemento de funcionalidade em um serviço separado, e os replica conforme for necessário.

Como são componentes autônomos e de baixo acoplamento, não existe a necessidade de que cada serviço seja construído com a mesma linguagem ou sejam processados numa mesma plataforma.

Nesse caso, são utilizados processos de deploys automatizados, existindo um gerenciamento centralizado mínimo.

O ideal é que cada microsserviço seja instalado em um “host” diferente, que pode ser uma arquitetura de Light Containers LXC ou VMs, por exemplo.

Existem algumas vantagens da utilização dessa arquitetura, e podemos destacar algumas:

· cria a oportunidade de os desenvolvedores usarem tecnologias mais atuais, além de maior liberdade para o desenvolvimento dos serviços de forma independente;

· possibilita uma implantação automática por meio de código aberto e integração contínua, como Jenkins, Hudson, etc.;

· a arquitetura é de mais fácil compreensão e muito adaptável às mudanças, resultando em melhor produtividade da equipe e a facilidade de treinar novos colaboradores;

· inicialização mais rápida do conteiner web;

· possibilita o gerenciamento das falhas de modo otimizado, pois se um serviço falhar, os outros continuarão trabalhando;

· atualizações de funcionalidades menos complexas e sem necessidade de modificar todo o aplicativo;

· o código fica mais organizado e amplia a visão das necessidades dos clientes.

Qual sua diferença com o SOA?

Muitos desenvolvedores acabam tendo a ideia de que a arquitetura de microsserviços tem a mesma característica de SOA, a chamada Arquitetura Orientada a Serviços, surgida na década passada.

Mesmo que existam algumas práticas semelhantes entre os conceitos fundamentais dessas duas estruturas, como o baixo acoplamento e os serviços independentes, podemos diferenciá-las em alguns aspectos.

Aliás, podemos dizer, inclusive, que os microsserviços são uma forma mais atualizada de aplicação dos conceitos de SOA ­– isso porque muitas de suas implementações convencionais criavam uma camada de serviço sobre as aplicações (o que replicavam processos e dados).

Mas os microsserviços tornam cada serviço dono das informações e processos, enquanto as aplicações passam a ser os canais consumidores desses serviços expostos como REST.

Além disso, enquanto a orquestração de chamadas precisava de um ESB (pesado e caro) em SOA, com a implementação do REST em microsserviços simplifica a necessidade de chamadas e transformações.

O microsserviço proporciona, ainda, o aumento da segurança e do controle, pois cada um dos serviços possui seu próprio API Gateway, sendo que a exposição externa fica por conta de uma API Management Solution, que manterá a segurança do backend e o controle de desenvolvedores e aplicativos.

 

A distribuição de microsserviços

Existem várias maneiras de se ter um backend fragmentado em microsserviços e o processo dependerá do tipo de arquitetura de integração já utilizado na empresa.

Mas de uma maneira geral, existem três modelos de implantação:

  1. Reconstruir o backend já com a arquitetura adequada, o que no caso de grandes empresas pode ser inadequado por conta do investimento já realizado e pela complexidade dos processos.
  2. A criação de uma pequena camada na frente dos serviços já implementados em SOA, isto é, um API Front, para que a exposição passe a ser realizada em REST. Nesse caso, não seriam mais necessários orquestrações e transformações do ESB.
  3. Em arquiteturas que ainda não estão construídas em SOA, será necessário criar um desenho que analise o projeto para o futuro, pois ele atualmente está desenhado em monolítico. Nesse caso, será preciso contratar uma consultoria especializada, para a otimização do tempo e dos processos. Com o desenho criado, um novo API Front irá atendê-lo e você terá um tempo maior para realizar o refactory do backend.

Como vimos, a arquitetura de microsserviços veio para facilitar ainda mais a rotina tecnológica das empresas, trazendo leveza, modernidade, escalabilidade e mais segurança aos serviços.

Portanto, é uma arquitetura estratégica para a implementação das soluções de negócios e aumentar a capacidade de inovação.

Para te ajudar nesse processo, o Grupo Mult oferece ótimas excelentes opções de integração de dados de forma intuitiva e sem a necessidade de grandes investimentos. Conheça nossas soluções!