—/100
Checkpoints
Create a GKE Cluster
Deploy Existing Monolith
Migrate Orders to a microservice
Migrate Products to microservice
Migrate Frontend to microservice
Como migrar um site monolítico para microsserviços no Google Kubernetes Engine
GSP699
Introdução
Por que migrar de um aplicativo monolítico para uma arquitetura de microsserviços? Dividir um aplicativo em microsserviços é vantajoso, principalmente porque a dependência entre os microsserviços é mínima. Com essa abordagem, você tem as seguintes opções:
- É possível testar e implantar os microsserviços de maneira independente. Quanto menor for a unidade a ser implantada, mais fácil será o processo.
- Os microsserviços podem ser implementados em linguagens e frameworks diferentes. Você tem liberdade para escolher a tecnologia mais adequada ao uso específico de cada microsserviço.
- Os microsserviços podem ser gerenciados por equipes diferentes. Como os microsserviços têm limites bem definidos, fica fácil atribuir um ou vários deles a uma equipe.
- Ao migrar para os microsserviços, você reduz a dependência entre as equipes. Cada equipe passa a se preocupar apenas com as APIs dos microsserviços que deve gerenciar. Elas não precisam pensar sobre como os microsserviços são implementados, os ciclos de lançamento e outros fatores.
- É mais fácil se preparar para falhas. Como o limite entre os serviços é claro, fica mais fácil determinar o que fazer se um deles falhar.
Veja algumas desvantagens em comparação com um site monolítico:
- Como um app baseado em microsserviços é uma rede de serviços diferentes que geralmente interagem de maneiras que não são óbvias, a complexidade do sistema tende a aumentar.
- Ao contrário dos componentes internos de um aplicativo monolítico, os microsserviços se comunicam por uma rede. Em algumas circunstâncias, isso pode ser visto como um risco para a segurança. O Istio soluciona esse problema ao criptografar automaticamente o tráfego entre os microsserviços.
- Pode ser difícil ter o mesmo desempenho de uma abordagem monolítica devido às latências entre os serviços.
- O comportamento do sistema não é definido por um único serviço, mas por muitos e pelas interações entre eles. Por isso, entender como o sistema se comporta na produção (observabilidade) é mais difícil. O Istio também é uma solução para esse problema.
Neste laboratório, você implantará um aplicativo monolítico pronto no cluster do Google Kubernetes Engine e o dividirá em microsserviços. O Kubernetes é uma plataforma para gerenciar, hospedar, escalonar e implantar contêineres. Os contêineres são uma maneira portátil de empacotar e executar um código. Eles são ideais para o padrão dos microsserviços, porque cada microsserviço pode ser executado em um contêiner próprio.
Diagrama da arquitetura dos microsserviços
Comece dividindo o aplicativo monolítico em três microsserviços, um de cada vez. Os microsserviços são: Orders, Products e Frontend. Crie uma imagem do Docker para cada microsserviço usando o Cloud Build. Depois implante e exponha os microsserviços no Google Kubernetes Engine (GKE) com um serviço do tipo LoadBalancer do Kubernetes. Você fará isso para cada serviço, enquanto eles são refatorados simultaneamente no aplicativo monolítico. O aplicativo monolítico e os microsserviços funcionarão em paralelo até o final do processo, quando você poderá excluir o aplicativo monolítico.
O que você aprenderá
-
Como dividir um aplicativo monolítico em microsserviços
-
Como criar um cluster do Google Kubernetes Engine
-
Como criar uma imagem do Docker
-
Como implantar imagens do Docker no Kubernetes
Pré-requisitos
-
Uma conta do Google Cloud Platform com acesso administrativo para criar projetos ou um projeto com o papel "Proprietário do projeto"
-
Noções básicas do Docker e do Kubernetes
Participe do Qwiklabs para ler o restante deste laboratório e muito mais!
- Receber acesso temporário a Console do Google Cloud.
- Mais de 200 laboratórios, do nível iniciante ao avançado.
- Tamanho compacto para que você possa aprender no seu próprio ritmo.