Arquitetura de Micro Serviços: como isso pode ajudar sua empresa (Parte 3)?

Que bom que chegou até aqui. Se não leu ainda, recomendo a leitura das duas primeiras partes: Parte 01 e Parte 02.

Vamos falar agora de como os micro serviços são otimizados e preparados para o ambiente da nuvem.

Uma arquitetura otimizada para a nuvem

Os aplicativos na nuvem quebram todas as regras tradicionais. Eles podem mover as falhas para fornecer resiliência e escalabilidade. Se há um aumento expressivo no acesso ele pode aumentar de tamanho (às vezes até sem aviso). Os componentes dentro do aplicativo podem ser misturados e combinados para acelerar o desenvolvimento e melhorar a eficiência da implantação. No entanto, nenhum desses benefícios acontece automaticamente ao sair do ambiente privativo e passando para a nuvem.

Com algumas exceções, como economia de custos e aprovisionamento mais rápido, aprendemos que as arquiteturas de aplicativos monolíticos em execução na nuvem acabam sendo executadas da mesma maneira antiga que eram executadas em seu data center.

Para realmente maximizar os benefícios da nuvem, precisamos mudar a arquitetura e os modelos de aplicativos.

Pioneira na Netflix e em outras empresas no Vale do Silício, a arquitetura de microsserviços emergiu como um dos principais candidatos para maximizar o retorno das empresas que estão migrando para a nuvem. A definição de microsserviços como “loosely­ coupled, service­ oriented architecture with bounded contexts” podendo ser traduzida como “Arquitetura orientada a serviços fracamente acoplada com contextos limitados” é frequentemente atribuída a Adrian Cockcroft, que liderou o esforço de microsserviços na Netflix. A primeira vista os microsserviços soam muito parecidos com a arquitetura orientada a serviços que foi bastante popular durante a última década. Há diferenças significativas que iremos abordar mais a frente. A premissa básica dos microserviços é que, ao modularizar um sistema em pequenos serviços que fornecem APIs bem definidas e com escopo limitado o acoplamento e a dependência é drasticamente reduzido. Isso facilita a implementação de funcionalidades utilizando princípios de design bem aceitos como o SoC (Separation of Concernes) ou separação de interesses) e o SRP (Single Responsibility Principle) ou Princípio da Responsabilidade única. Em essência, os micro serviços são uma técnica de decomposição para vencer a complexidade do sistema. Ele atinge este objetivo dividindo estes sistemas complexos em vários serviços independentes e com objetivos restritos cada um com sua própria lógica de negócios e armazenamento de dados isolados.

Na arquitetura de aplicativos baseados em microserviços, qualquer serviço pode ser dimensionado e implantado separadamente. Várias equipes podem trabalhar simultaneamente em módulos diferentes para aumentar a velocidade das entregas sem o risco de sobreposição.

É por isso que um grande número de empresas de softwares sejam grandes ou pequenas estão adotando esta arquitetura. Elas sabem que é uma excelente maneira de se aumentar a velocidade de novos lançamentos e funcionalidades para suportar o seu modelo de negócios.

Sem comentários

Publique um comentário