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 Crie um site no Google Cloud. Tudo pronto para começar o desafio?
Configuração
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar 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, e 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).
Observação: para executar este laboratório, use o modo de navegação anônima (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Cenário do desafio
Você acabou de assumir uma nova função na FancyStore, Inc.
Sua tarefa é transformar o site de e-commerce 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 guias explicativos.
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: fazer o download do código monolítico e criar 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:
nvm install --lts
Você pode criar e enviar alguns projetos diferentes.
Envie o build do monolítico, localizado no diretório monolith, para o Artifact 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) para criá-lo e envie o contêiner ao Artifact Registry.
Nomeie seu artefato da seguinte forma:
Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
Image name:
Image version: 1.0.0
Dica:
Envie um build chamado com a versão 1.0.0.
Clique em Verificar meu progresso para ver o objetivo.
Faça o download do código monolítico e crie o contêiner
Tarefa 2: criar um cluster do Kubernetes e implantar o aplicativo
Agora que você gerou a imagem no Artifact Registry, é hora de criar um cluster para implantá-la.
Como você precisou implantar todos os recursos na zona , primeiro crie um cluster do GKE para ela. Comece com um cluster de três nós.
Crie o cluster desta forma:
Cluster name:
Region:
Node count: 3
Dica:
Verifique se o nome do cluster é e se ele está em execução em .
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
Observação: neste laboratório, a exposição do serviço foi simplificada. Normalmente você usaria um gateway de API para proteger seus endpoints públicos. Saiba mais sobre as práticas recomendadas no Guia de práticas recomendadas para microsserviços.
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 é . Verifique também se você expôs o serviço na porta 80 e o associou à porta 8080.
Clique em Verificar meu progresso para ver o objetivo.
Crie um cluster do Kubernetes e implante o aplicativo
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: criar 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 Artifact Registry com os metadados indicados:
Microsserviço Orders
Service root folder: ~/monolith-to-microservices/microservices/src/orders
GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
Image name:
Image version: 1.0.0
Microsserviço Products
Service root folder: ~/monolith-to-microservices/microservices/src/products
GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
Image name:
Image version: 1.0.0
Após colocar esses microsserviços em contêineres e fazer upload das imagens para o Artifact Registry, implante e exponha os serviços.
Dica: envie um build chamado com a versão 1.0.0 E um build chamado com a versão 1.0.0.
Clique em Verificar meu progresso para ver o objetivo.
Crie uma versão conteinerizada dos microsserviços Orders e Products
Tarefa 4: implantar os novos microsserviços
Implante os novos contêineres seguindo o mesmo processo usado para o monolítico . Observe que esses serviços escutam em portas diferentes, portanto, anote os mapeamentos das portas na tabela abaixo.
Crie e exponha as implantações da seguinte forma:
Microsserviço Orders
Cluster name:
Container name:
Container version: 1.0.0
Application port: 8081
Externally accessible port: 80
Microsserviço Products
Cluster name:
Container name:
Container version: 1.0.0
Application port: 8082
Externally accessible port: 80
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 e . Depois confira se os serviços estão expostos na porta 80.
Clique em Verificar meu progresso para ver o objetivo.
Implante os novos microsserviços
Tarefa 5: configurar e implantar 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:
cd ~/monolith-to-microservices/react-app
nano .env
Quando o editor é aberto, aparece um arquivo semelhante a este:
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:
npm run build
Tarefa 6: criar 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 Artifact Registry.
Service root folder: ~/monolith-to-microservices/microservices/src/frontend
Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
Image name:
Image version: 1.0.0
Esse processo pode levar alguns minutos.
Dica: envie um build chamado com a versão "1.0.0".
Clique em Verificar meu progresso para ver o objetivo.
Crie uma versão conteinerizada do microsserviço Frontend
Tarefa 7: implantar 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 a página inicial da Fancy Store, com links para as páginas Products e Orders mantidas pelos novos microsserviços.
Clique em Verificar meu progresso para conferir o objetivo.
Implante o microsserviço Frontend
Parabéns!
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 26 de abril de 2024
Laboratório testado em 5 de dezembro de 2023
Copyright 2025 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.
Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
No canto superior esquerdo da tela, clique em Começar o laboratório
Usar a navegação anônima
Copie o nome de usuário e a senha fornecidos para o laboratório
Clique em Abrir console no modo anônimo
Fazer login no console
Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
Aceite os termos e pule a página de recursos de recuperação
Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto
Este conteúdo não está disponível no momento
Você vai receber uma notificação por e-mail quando ele estiver disponível
Ótimo!
Vamos entrar em contato por e-mail se ele ficar disponível
Um laboratório por vez
Confirme para encerrar todos os laboratórios atuais e iniciar este
Use a navegação anônima para executar o laboratório
Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.
Neste laboratório com desafio, você colocará em prática o que aprendeu no curso "Crie um site no Google Cloud". Antes de começar, é preciso ter concluído os outros laboratórios da Quest.
Duração:
Configuração: 1 minutos
·
Tempo de acesso: 90 minutos
·
Tempo para conclusão: 90 minutos