Este tutorial é para quem está começando a criar apps na nuvem, como engenheiros e desenvolvedores da Web que querem aprender os conceitos principais do desenvolvimento de apps no que se referem a Google Cloud.
Objetivos
- Aprenda sobre ferramentas Google Cloud básicas, como o console do Google Cloud e o
gcloud
. - Implantar seu app no Cloud Run.
- Manter seus dados no Firestore.
- Armazenar uploads de arquivos no Cloud Storage.
- Monitore seu app usando a Google Cloud Observability.
Custos
Neste documento, usa os seguintes componentes faturáveis do Google Cloud:
As instruções neste documento destinam-se a manter a sua utilização de recursos dentro dos limites do nível Google CloudSempre Gratuito.
Para gerar uma estimativa de custos com base na sua utilização projetada,
use a calculadora de preços.
Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Para criar um banco de dados do Firestore no modo nativo, conclua as seguintes etapas:
-
No console do Google Cloud, acesse a página Criar banco de dados do Firestore.
- Na tela Selecione um modo do Cloud Firestore, clique em Selecionar Modo nativo.
- Selecione um local para seu banco de dados do Firestore. Essa configuração é o local padrão Google Cloud de recursos do seu projeto do Google Cloud. Esse local é usado para serviços Google Cloud no seu projeto do Google Cloud que exigem uma configuração de local, especificamente o bucket padrão do Cloud Storage e o aplicativo Cloud Run.
- Clique em Criar banco de dados.
-
No console do Google Cloud, acesse a página Criar banco de dados do Firestore.
-
Enable the Artifact Registry, Cloud Run Admin, Cloud Build, Cloud Storage, Cloud Logging, and Error Reporting APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Clone o repositório de exemplo e abra o aplicativo de exemplo no Cloud Shell:
Acesse o Cloud ShellO Cloud Shell oferece acesso por linha de comando aos seus recursos Google Cloud diretamente no navegador.
- Para fazer o download do código de exemplo e passar para o diretório do app, clique em Continuar.
-
No Cloud Shell, configure a ferramenta
gcloud
para usar seu novo projeto Google Cloud :# Configure gcloud for your project gcloud config set project PROJECT_ID
Substitua PROJECT_ID pelo ID do projeto Google Cloud que você criou usando o console do Google Cloud.
A Google Cloud CLI é a maneira principal de interagir com seus recursos do Google Cloud na linha de comando. Neste tutorial, você usará a ferramenta
gcloud
para implantar e monitorar seu app.
Executar o app
-
Crie o app, que faz o download das dependências automaticamente:
go build
- Execute o app:
Substitua PROJECT_ID pelo ID do projeto Google Cloud que você criou.GOOGLE_CLOUD_PROJECT=PROJECT_ID ./bookshelf
- No Cloud Shell, clique em Visualização da Web e selecione Visualizar na porta 8080. Uma nova janela será aberta com o app em execução.
Como implantar o app no Cloud Run
OGoogle Cloud oferece várias opções para executar seu código. Neste exemplo, você usa o Cloud Run para implantar um app escalonável no Google Cloud. O Cloud Run não exige que você gerencie servidores e é escalonado automaticamente para suportar picos de tráfego.
- Execute o contêiner com o Cloud Run:
gcloud run deploy bookshelf --region us-central1 --allow-unauthenticated \ --set-env-vars="GOOGLE_CLOUD_PROJECT=
PROJECT_ID
" --source .Agora, é possível visualizar o app no URL exibido na saída de
gcloud run
:Service [bookshelf] revision [bookshelf-00001] has been deployed and is serving 100 percent of traffic. Service URL: https://bookshelf-swsmmh5s5a-uc.a.run.app
-
Copie o URL no seu navegador da Web para visualizar o aplicativo.
Para mais informações sobre a implantação no Cloud Run, consulte a documentação do Cloud Run.
Manter os dados no Firestore
Não é possível armazenar informações nas suas instâncias do Cloud Run porque elas serão perdidas se a instância for reiniciada e deixarão de existir quando novas instâncias forem criadas. No entanto, é possível usar um banco de dados no qual todas as suas instâncias possam ler e gravar dados.
OGoogle Cloud oferece várias opções para armazenar seus dados. Neste exemplo, você usa o Firestore para armazenar os dados de cada livro. O Firestore é um banco de dados de documentos NoSQL totalmente gerenciado e sem servidor, que permite armazenar e consultar dados. Ele é escalonado automaticamente para atender às necessidades do app, sendo reduzido a zero quando não estiver sendo usado. Adicione seu primeiro livro agora.
-
Para criar um livro para seu app implantado, clique em Adicionar livro.
- No campo Título, insira
Moby Dick
. - No campo Autor, insira
Herman Melville
. -
Clique em Salvar. Agora há uma entrada em seu app Bookshelf.
-
No console do Google Cloud, para atualizar a página do Firestore, clique em
Atualizar refresh.
Os dados são exibidos no Firestore. O app Bookshelf armazena cada livro como um
documento do Firestore
com um ID exclusivo. Todos esses documentos são armazenados em uma
coleção do Cloud Firestore.
Para os fins deste tutorial, a coleção é chamada de books.
O Firestore armazena os livros usando a biblioteca de cliente do Firestore (em inglês). Veja a seguir um exemplo de como buscar um documento do Firestore:
Para mais informações sobre como usar o Firestore, consulte Como adicionar dados ao Firestore.
Armazenar uploads de arquivos no Cloud Storage
Agora que você adicionou um livro, é hora de adicionar a imagem da capa. Não é possível armazenar arquivos em suas instâncias. Um banco de dados não é a opção correta para arquivos de imagem. Em vez disso, use o Cloud Storage.
O Cloud Storage é o principal repositório de blobs do Google Cloud. Use o Cloud Storage para hospedar recursos de app que você quer compartilhar em todo o Google Cloud. Para usar o Cloud Storage, você precisa criar um bucket do Cloud Storage, um contêiner básico para armazenar seus dados.
- No Console do Cloud, acesse a página Navegador do Cloud Storage.
- Clique em Criar bucket.
- Na caixa de diálogo Criar bucket, insira um nome para o bucket, anexando o ID do projeto Google Cloud à string
_bucket
, de modo que o nome fique assim:YOUR_PROJECT_ID_bucket
. Esse nome está sujeito aos requisitos de nome de bucket. Todos os demais campos permanecem nos valores padrão. - Clique em Criar.
- Após a criação do bucket, libere o acesso público aos objetos para que os usuários consigam vê-los. Para saber como fazer isso, consulte Como tornar os dados públicos.
-
Clique em Editar livroe selecione uma
imagem para carregar como a capa. Por exemplo, é possível usar este arquivo de domínio público:
-
Clique em Salvar. Você será redirecionado para a
página inicial onde há uma entrada do seu app Bookshelf.
O app Bookshelf envia os arquivos carregados para o Cloud Storage usando a biblioteca de cliente do Cloud Storage.
Para mais informações sobre como usar o Cloud Storage, consulte a Introdução ao Cloud Storage.
Monitorar seu app usando a Google Cloud Observability
Você implantou seu app, depois criou e modificou livros. Para monitorar esses eventos para seus usuários, use o Gerenciamento do desempenho de aplicativos.
Monitore registros com o Cloud Logging
-
No Google Cloud, acesse o Explorador de registros.
Acessar o Explorador de registrosÉ possível monitorar seu app em tempo real. Se encontrar problemas em seu app, este é o primeiro lugar a ser verificado.
- Na lista suspensa Recurso, selecione Revisão do Cloud Run, bookshelf.
Monitore erros com o Error Reporting
-
No console do Google Cloud, acesse a página Error Reporting.
Acessar a página Error Reporting
O Error Reporting destaca os erros e as exceções em seu app, além de permitir que você configure alertas para eles. -
No navegador, acesse o URL
/errors
em seu app.
YOUR_CLOUD_RUN_URL/errors
Isso gera uma nova exceção de teste e a envia para a Observabilidade do Google Cloud.
-
No console do Google Cloud, volte para a página Error Reporting e aguarde alguns instantes para ver o novo erro. Clique em Recarregar automaticamente para não precisar atualizar manualmente a página.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados no tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.
Exclua o projeto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.