menu
arrow_back

Como migrar um site monolítico para microsserviços no Google Kubernetes Engine

—/100

Checkpoints

arrow_forward

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

1 hora 30 minutos 7 créditos

GSP699

Laboratórios autoguiados do Google Cloud

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.

636a2d58588b2b87.png

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.
Participe para iniciar este laboratório