Microsserviços
10
min de leitura
20 de janeiro de 2020

Arquitetura de Microsserviços: Como implementá-la em seu negócio

Letícia Trevisan
Analista de Marketing e Conteúdo Digital
Publicitário formado na PUC de Campinas. Trabalho no desenvolvimento de conteúdo para websites, blogs e redes sociais, produção de comunicações endomarketing e produção de palestras, workshops e eventos.
Mais sobre o autor

O desafio de implantar a arquitetura Microsserviços

O conceito da arquitetura Microsserviços (ou Microsserviços) surgiu como uma forma de tornar mais fácil para os desenvolvedores software a busca do melhor produto para seus clientes.

E é claro, especialmente para empresas que desejam eficiência e produtividade combinadas com agilidade e redução de custos. Hoje, Microsserviços pode ser inserido na estrutura de um negócio para dinamizar atividades e gerar flexibilidade através da divisão de processos e fluxo de informações rápido e integrado.

Tudo isso também contribui para a descentralização dos serviços e dá a mais pessoas acesso a soluções eficazes para resolver problemas semelhantes.

Em teoria, é bastante simples: garantir que seus serviços estejam sendo exibidos com boa granularidade, sem dependências fortes uns dos outros, e que cada serviço seja útil, com uma função clara e indivisível, o que na prática pode levantar uma série de outras preocupações.

Portanto, neste artigo vamos cair head sobre a forma de implantar a Microsserviços Arquitetura em seu negócio!

A arquitetura Microsserivços

Tradicionalmente, software é construído como uma estrutura fechada com início, meio e fim. Ou melhor, backend e frontend.

Esta filosofia acaba gerando peças muito grandes (arquitetura monolítica), geralmente focadas na solução de grandes necessidades e problemas organizacionais. Se você deseja usar apenas as funções de gráficos do Excel para alguma outra aplicação, você tem que abrir o Excel e carregar outras funcionalidades desnecessárias naquele momento.

Se você deseja detalhes da história, já falamos sobre a história das integrações aqui neste post. ‍

A Arquitetura de Microsserivços, ao contrário da Arquitetura Monolítica anterior ou mesmo da arquitetura SOA, destaca-se por explorar a idéia de granularidade, o que facilita a execução do próprio serviço e a adaptação às mudanças.

A idéia é dividir um sistema particular em serviços acionáveis e modulares, para que a união de peças pequenas faça um trabalho maior. Assim, Microsserviços permite a integração entre vários serviços e a inserção de vários componentes no sistema.

Além disso, você tem mais flexibilidade e o poder de mudar funcionalidades que deram errado ou não estão funcionando bem, sem ter que refazer partes inteiras de um sistema ou ter que jogar tudo fora, porque a realidade do seu negócio mudou.

Assim, a implantação da arquitetura de microserviços torna as coisas ainda mais rápidas!

Quebrando as aplicações em serviços

A forma mais comum de dimensionar uma aplicação é executar múltiplas cópias idênticas da aplicação (através de um balanceador de carga), realizando um processo denominado decomposição, para resolver problemas comuns na arquitetura monolítica, implicando que alguns serviços podem ser muito pequenos enquanto outros serão significativamente maiores. Com o conceito tridimensional, você pode entender como Microsserviços é útil na partição e dimensionamento de uma aplicação monolítica. Temos três eixos de escalabilidade

  • X: refere-se à escalabilidade horizontal para ampliar a capacidade e disponibilidade da aplicação(cada servidor realiza uma cópia idêntica do código);
  • Z: Similar ao eixo X, mas requer a presença de um componente que é responsável pelo encaminhamento das solicitações para o servidor apropriado;
  • Y: Esta é a terceira dimensão da escalabilidade, a horizontal, chamada decomposição funcional, e é responsável por dividir a aplicação em uma série de serviços. Cada serviço tem um conjunto de funções (gerenciamento de pedidos, gerenciamento de clientes, etc.).
Um passo essencial para implantar Arquitetura de Microsserviços é conhecer as diferentes formas de escalar sua aplicação, usando o conceito das três dimensões

Tenha em mente que enquanto o eixo Z divide elementos semelhantes, o eixo Y divide elementos distintos.

A implantação de Microsserviços depende de uma boa partição

A divisão ou partição do sistema deve ser bem pensada, mas há abordagens que o ajudarão a implantar a arquitetura Microsserviços dentro de sua estrutura empresarial.

Veja alguns tipos de divisórias que você pode usar:

  • Por verbos/ casos de uso: O caso Checkout, por exemplo, onde um serviço de atendimento de pedidos, ou o serviço Checkout UI , implementa a interface com as pessoas que utilizam o sistema.
  • Por sinônimos/características: Como exemplo, considere que para a gestão do catálogo de mercadorias, a empresa pode ter o Serviço de Catálogo. Neste caso, o serviço é responsável por todas as atividades que envolvem recursos/entidades relacionadas.

O importante é que cada serviço tem poucas responsabilidades, de acordo com o Princípio de Responsabilidade Única (SRP). Isto é, um serviço exposto deve ter um papel claro e único dentro da arquitetura. Se este é o caso quando um serviço tem mais de uma responsabilidade, você deve aplicar alguma partição, como mencionado acima.

As características Unix são outro exemplo de modelagem de serviços, onde cada característica realiza apenas uma operação definida (mas pode ser combinada via shell script com outras características para realizar atividades mais complexas). Ao longo dos anos, este acoplamento frouxo facilitou o lançamento de várias variações do sistema operacional, como Ubuntu, Fedora, Solaris e muitas outras.

Os profissionais da arquitetura Microsserviços

A implantação da arquitetura Microsserviços em sua empresa trará diferentes benefícios à sua estrutura comercial:

  • Os desenvolvedores gozam de maior liberdade para desenvolver serviços de forma independente;
  • Implantação automática através de ferramentas de integração contínua e de código aberto como Hudson, Jenkins e outros;
  • O container web tem uma inicialização mais rápida;
  • Capacidade de usar código escrito em diferentes idiomas para diferentes serviços, usando um "idioma oficial" para se comunicar entre eles (como Json ou XML);
  • Oportunidade para que os desenvolvedores utilizem as tecnologias mais recentes;
  • Arquitetura de fácil compreensão e adaptável às mudanças, o que favorece o aprendizado, contribuindo para uma maior produtividade do pessoal;
  • Fácil expansão e integração do Microsserviços com serviços terceirizados, através de APIs, por exemplo;
  • Código organizado de acordo com as capacidades comerciais, dando mais informações sobre as ofertas e necessidades dos clientes;
  • As mudanças necessárias podem ser aplicadas somente ao serviço específico, sem ter que modificar toda a aplicação. As atualizações de características também se tornam menos complexas;
  • Gerenciamento otimizado de falhas (por exemplo, se um serviço falhar, outros continuarão a funcionar).

Através de Microsserviços , é possível identificar falhas e gargalos de forma mais eficiente, pois a divisão favorece uma visão mais detalhada de cada serviço.

Aderindo à arquitetura Microsserviços

Muitos consideram Microsserviços como uma forma de fornecer SOA através de serviços de alta granularidade. Os microsserviços permitem desenvolver as capacidades comerciais, distribuindo-as e organizando-as de forma funcional.

É uma lógica que une tecnologia e negócios, concentrando-se em dar mais poder e dinamismo a uma empresa.

Isto permite que Microsserviços atinja os objetivos de qualquer arquitetura, reduzindo os custos de manutenção e construção. Nosso API Management permite que grandes empresas tenham uma arquitetura ágil e segura. Se você deseja saber mais, sinta-se à vontade para falar conosco.

Então, o que você pensa sobre esta arquitetura agora? Confira também este novo conteúdo sobre a arquitetura Event Driven .

Para mais informações sobre a implantação de uma Arquitetura Microsserviços, confira nosso Webinar Gratuito sobre o assunto:

Os desafios arquiteturais costumam ser complexos e sofisticados, envolvendo novas tecnologias. Como implantar microsserviços no seu ambiente? Confira!

WEBINAR GRÁTIS

Prós e contras na Arquitetura de Microsserviços

Confira também o vídeo APIX com o tema "Technical Trail | Microservices battlefield best practices":

https://youtu.be/G3kCvB5OocE

Obrigado pela leitura!