Este tutorial destina-se a quem está começando a criar apps na nuvem, como engenheiros e desenvolvedores da Web que querem aprender os conceitos-chave de desenvolvimento de apps no que se referem ao Google Cloud.
Objetivos
- Conhecer ferramentas básicas do Google Cloud, como o Console do Google Cloud e
gcloud
. - Implantar seu app no Cloud Run.
- Manter seus dados no Firestore.
- Armazenar uploads de arquivos no Cloud Storage.
- Monitore seu aplicativo usando o pacote de operações do Google Cloud.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
As instruções deste documento foram criadas para manter o uso de seus recursos dentro
dos limites do nível Sempre gratuito do Google Cloud.
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.
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.
-
Make sure 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.
-
Make sure 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 Cloud, acesse a página do visualizador do Firestore.
Acessar o visualizador 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 de recurso do Google Cloud para seu projeto do Cloud . Esse local é usado em serviços do Google Cloud no seu projeto do Cloud que exigem uma configuração de local, especificamente, o bucket padrão do Cloud Storage e o app Cloud Run.
- Clique em Criar banco de dados.
-
No Console do Cloud, acesse a página do visualizador do Firestore.
-
Enable the Cloud Run Admin, Cloud Storage, Cloud Logging, and Error Reporting APIs.
-
Clone o repositório de amostra e abra o aplicativo de amostra no Cloud Shell:
Acessar o Cloud ShellO Cloud Shell oferece acesso de linha de comando aos seus recursos do 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 do Google Cloud:# Configure gcloud for your project gcloud config set project PROJECT_ID
Substitua PROJECT_ID pelo ID do projeto do Google Cloud que você criou usando o Console do Cloud.
A CLI do Google Cloud é a principal maneira de interagir com os recursos do Google Cloud na linha de comando. Neste tutorial, você usará a ferramenta
gcloud
para implantar e monitorar seu app.
Como executar o app
- Se você já usa o Cloud Shell e já tiver configurado para usar o Java 11,
atualize as variáveis de ambiente alternativas do Java,
JAVA_HOME
ePATH
, para especificar o Java 8. -
Mude para o diretório
bookshelf/1-cloud-run
e execute o aplicativo: SubstituaGOOGLE_CLOUD_PROJECT=PROJECT_ID mvn -Plocal clean jetty:run-exploded
PROJECT_ID
pelo ID do projeto do Google Cloud que você criou. - 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
O Google Cloud oferece várias opções de execução do 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.
- Crie a imagem usando Jib:
mvn package jib:build -Dimage=gcr.io/PROJECT_ID/bookshelf
Substitua
PROJECT_ID
pelo ID do projeto do Google Cloud que você criou. - Implante a imagem:
Substituagcloud run deploy bookshelf --image gcr.io/
PROJECT_ID
/bookshelf \ --platform managed --region us-central1 --allow-unauthenticatedPROJECT_ID
pelo ID do projeto do Google Cloud que você criou.
Quando a implantação for bem-sucedida, gerará endpoint para o app em execução no Cloud Run, no seguinte formato:
https://bookshelf-abcdefghij-uc.a.run.app
Seu aplicativo está visível agora neste link, chamado YOUR_CODE_RUN_URL. No navegador da Web, insira o URL para ver o app.
Como 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.
O Google 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.
- No seu navegador, acesse YOUR_CODE_RUN_URL.
-
Para criar um livro para seu aplicativo implantado, clique em Adicionar livro.
- No campo Título, insira
Moby Dick
. - No campo Autor, insira
Herman Melville
. -
Clique em Save. Agora há uma entrada em seu app Bookshelf.
- No Console do 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.
Como 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 guardar 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 ele, anexando o
ID do projeto do Google Cloud à string
_bucket
, de modo que o nome fique assim:YOUR_PROJECT_ID_bucket
. Este 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 (em inglês).
Para mais informações sobre como usar o Cloud Storage, consulte a lista de guias de instruções.
Como monitorar seu aplicativo usando o pacote de operações do Google Cloud
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 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_CODE_RUN_URL/errors
Isso gera uma nova exceção de teste e a envia para o pacote de operações do Google Cloud.
-
No Console do 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.
Excluir 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.