Checkpoints
Download the monolith code and build your container
/ 10
Create a kubernetes cluster and deploy the application
/ 20
Create a containerized version of orders and product Microservices
/ 20
Deploy the new microservices
/ 20
Create a containerized version of the Frontend microservice
/ 10
Deploy the Frontend microservice
/ 20
Crie um site no Google Cloud: laboratório com desafio
- GSP319
- Introdução
- Configuração
- Cenário do desafio
- Tarefa 1: faça o download do código monolítico e crie o contêiner
- Tarefa 2: crie um cluster do Kubernetes e implante o aplicativo
- Tarefa 3: crie novos microsserviços
- Tarefa 4: implante os novos microsserviços
- Tarefa 5: configure e implante o microsserviço Frontend
- Tarefa 6: crie uma versão conteinerizada do microsserviço Frontend
- Tarefa 7: implante o microsserviço Frontend
- Parabéns!
GSP319
Introdução
Nos laboratórios com desafio, apresentamos uma situação e um conjunto de tarefas. Para concluí-las, em vez de seguir instruções detalhadas, você usará o que aprendeu nos laboratórios do curso. Um sistema automático de pontuação (mostrado nesta página) vai avaliar seu desempenho.
Nos laboratórios com desafio, não ensinamos novos conceitos do Google Cloud. O objetivo dessas tarefas é aprimorar aquilo que você já aprendeu, como a alteração de valores padrão ou a leitura e pesquisa de mensagens para corrigir seus próprios erros.
Para alcançar a pontuação de 100%, você precisa concluir todas as tarefas no tempo definido.
Este laboratório é recomendado para os estudantes que se inscreveram na Quest Build a Website on Google Cloud. Tudo pronto para começar o desafio?
Configuração
Antes de clicar no botão Start Lab
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.
Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.
Confira os requisitos para concluir o laboratório:
- Acesso a um navegador de Internet padrão (recomendamos o Chrome).
- Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Cenário do desafio
Você acabou de assumir uma nova função na FancyStore, Inc.
Sua tarefa é transformar o site de comércio eletrônico monolítico da empresa em uma série de microsserviços separados de maneira lógica. O código monolítico está em um repositório do GitHub, e você será responsável por conteinerizar e refatorar esse app.
Você deve estar preparado para realizar essas tarefas sem instruções passo a passo.
Você precisa assumir a liderança porque a equipe anterior não conseguiu resolver o problema e partiu em busca de novos ares. Hoje eles cuidam de um lavandário. Sua tarefa é extrair o código-fonte, criar um contêiner com ele (a equipe antiga deixou um Dockerfile) e implementá-lo no GKE.
Primeiro você precisa criar, implantar e testar o monolítico para confirmar se o código-fonte está correto. Depois divida os serviços constituintes em implantações de microsserviços separadas.
Confira algumas normas da FancyStore, Inc. que é preciso seguir:
-
Crie um cluster em
-
Em geral, os nomes têm o formato equipe-recurso. Por exemplo, o nome de uma instância pode ser fancystore-orderservice1.
-
Economize recursos. Como os projetos são monitorados, o uso excessivo de recursos pode levar ao encerramento desse projeto.
-
Use o tipo de máquina
e2-medium
, a menos que você receba outra instrução.
Seu desafio
Assim que você abrir seu novo laptop para começar a trabalhar, receberá a solicitação para realizar estas tarefas. Boa sorte!
Tarefa 1: faça o download do código monolítico e crie o contêiner
-
Faça login no novo projeto e abra o Cloud Shell.
-
Primeiro você precisa clonar o repositório do Git da equipe. Execute o script setup.sh, que está no diretório raiz do projeto, para criar o contêiner do monolítico.
-
Depois disso,
verifique se o Cloud Shell está executando a versão mais recente do nodeJS:
Você pode criar e enviar alguns projetos diferentes.
-
Envie o build do monolítico, localizado no diretório
monolith
, para o Google Container Registry. Você pode usar um Dockerfile da pasta~/monotlith-to-microservices/monolith
para criar o contêiner do aplicativo. -
Para isso, execute o Cloud Build (na pasta do monolítico) e envie o contêiner ao GCR.
-
Nomeie seu artefato da seguinte forma:
- GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
- Image name:
- Image version: 1.0.0
Dica:
Envie um build chamado
Clique em Verificar meu progresso para ver o objetivo.
Tarefa 2: crie um cluster do Kubernetes e implante o aplicativo
Agora que você gerou a imagem no Container Registry, é hora de criar um cluster para implantá-la.
Como você precisou implantar todos os recursos na zona
- Crie o cluster desta forma:
-
Cluster name:
-
Region:
-
Node count: 3
Dica:
Verifique se o nome do cluster é
Agora que você criou uma imagem e o cluster está funcionando, é hora de implantar o aplicativo.
Você precisará implantar a imagem que criou no cluster. O aplicativo começará a funcionar, mas não permitirá acesso até ser exposto a ambientes externos. A equipe informou que o aplicativo está em execução na porta 8080, mas ele precisa ser exposto na porta 80, que é mais acessível aos consumidores.
- Crie e exponha a implantação da seguinte forma:
- Cluster name:
- Container name:
- Container version: 1.0.0
- Application port: 8080
- Externally accessible port: 80
- Anote o endereço IP que você recebeu ao implantar a exposição. Agora você pode acessar esse endereço do navegador.
Isto vai aparecer:
Dica:
Veja se o nome da implantação é
Clique em Verificar meu progresso para ver o objetivo.
Agora que é possível criar e implantar o aplicativo monolítico da Fancy Store, está tudo pronto para você começar a dividi-lo em microsserviços.
Migre o monolítico para microsserviços
Agora que o site monolítico está em execução no GKE, comece a dividir cada serviço em um microsserviço. O planejamento precisa considerar quais serviços serão divididos em blocos menores, geralmente de acordo com partes específicas do aplicativo, como o domínio comercial.
Para este desafio, avance um pouco como se já tivesse dividido o monolítico em vários microsserviços: Orders, Products e Frontend. Com o código pronto, agora você precisa implantar seus serviços.
Tarefa 3: crie novos microsserviços
Três serviços precisam ser divididos em contêineres independentes. Como você está transferindo todos eles para contêineres, é necessário acompanhar as seguintes informações sobre cada serviço:
- A pasta raiz do serviço (onde você criará o contêiner)
- O repositório para o qual será feito upload do contêiner
- O nome e a versão do artefato do contêiner
Crie uma versão conteinerizada dos microsserviços
Confira abaixo o grupo de serviços que precisa de conteinerização.
- Acesse as raízes de origem a seguir e faça upload dos artefatos que são criados no Google Container Registry com os metadados indicados:
Microsserviço Orders |
|
Microsserviço Products |
|
- Após colocar esses microsserviços em contêineres e fazer upload das imagens para o GCR, implante e exponha os serviços.
Dica: envie um build chamado
Clique em Verificar meu progresso para ver o objetivo.
Tarefa 4: implante os novos microsserviços
Implante os novos contêineres seguindo o mesmo processo usado para o monolítico
- Crie e exponha as implantações da seguinte forma:
Microsserviço Orders |
|
Microsserviço Products |
|
OBSERVAÇÃO: após a exposição, anote os endereços IP dos serviços Orders e Products porque eles serão necessários nas próximas etapas.
- Você pode verificar se as implantações foram concluídas e se os serviços foram expostos acessando os seguintes URLs no navegador:
http://ORDERS_EXTERNAL_IP/api/orders
http://PRODUCTS_EXTERNAL_IP/api/products
Se as implantações estiverem corretas, cada serviço retornará uma string JSON.
Dica: confira se as implantações são chamadas
Clique em Verificar meu progresso para ver o objetivo.
Tarefa 5: configure e implante o microsserviço Frontend
Agora que você extraiu os microsserviços Orders e Products, configure o serviço Frontend para apontar para eles e faça a implantação.
Reconfigurar o Frontend
- Use o editor
nano
para substituir o URL local pelo endereço IP do novo microsserviço Products:
Quando o editor é aberto, aparece um arquivo semelhante a este:
- Substitua
REACT_APP_PRODUCTS_URL
pelo novo formato, mudando os endereços IP dos microsserviços Orders e Products conforme indicado abaixo:
-
Pressione CTRL+O, ENTER e CTRL+X para salvar o arquivo no editor
nano
. -
Crie novamente o app de front-end antes da conteinerização:
Tarefa 6: crie uma versão conteinerizada do microsserviço Frontend
Agora que os microsserviços Orders e Products foram conteinerizados e implantados, e o serviço Frontend configurado para apontar para eles, a etapa final consiste em conteinerizar e implantar o Frontend.
Use o Cloud Build para empacotar o conteúdo do serviço Frontend e enviá-lo ao Google Container Registry.
- Service root folder: ~/monolith-to-microservices/microservices/src/frontend
- GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
- Image name:
- Image version: 1.0.0
Esse processo pode levar alguns minutos.
Dica: envie um build chamado
Clique em Verificar meu progresso para ver o objetivo.
Tarefa 7: implante o microsserviço Frontend
Implante o contêiner seguindo o mesmo processo usado para os microsserviços Orders e Products.
- Crie e exponha a implantação da seguinte forma:
- Cluster name:
- Container name:
- Container version: 1.0.0
- Application port: 8080
- Externally accessible port: 80
- Para verificar se a implantação foi concluída e se os microsserviços foram expostos corretamente, digite o seguinte endereço IP do serviço de front-end no navegador:?.
Você vai encontrar página inicial da Fancy Store, com links para as páginas "Produtos" e "Pedidos" mantidas pelos novos microsserviços.
Clique em Verificar meu progresso para conferir o objetivo.
Parabéns!
Conquiste seu próximo selo de habilidade
Este laboratório autoguiado faz parte da Quest com selo de habilidade Build a Website on Google Cloud. Ao concluir essa Quest, você ganha o selo de habilidade acima como reconhecimento pela sua conquista. Compartilhe o selo no seu currículo e nas mídias sociais e use #GoogleCloudBadge para anunciar sua conquista.
Este selo é parte do portfólio de modernização de infraestrutura do Google Cloud. Para continuar sua jornada de aprendizado, inscreva-se nas mais de 20 Quests com selo de habilidade disponíveis no catálogo.
Treinamento e certificação do Google Cloud
Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.
Manual atualizado em 5 de dezembro de 2023
Laboratório testado em 5 de dezembro de 2023
Copyright 2024 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.