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 a
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, Cloud Storage JSON, 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 seus recursos do Google Cloud na linha de comando. Neste tutorial, você usará a ferramenta
gcloud
para implantar e monitorar seu app.
Como executar o aplicativo
-
Execute o aplicativo:
GOOGLE_CLOUD_PROJECT=PROJECT_ID dotnet run
SubstituaPROJECT_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 aplicativo escalonável no Google Cloud. Sem gerenciamento de servidor, o Cloud Run permite que você se concentre na escrita do código. Além disso, o Cloud Run é escalonado automaticamente para suportar picos de tráfego repentinos.
O Dockerfile informa ao Cloud Run como executar seu app:Dockerfiles pode ser mais potente, mas essa configuração funciona para muitos aplicativos.
O Cloud Run informa ao seu aplicativo qual porta atender, configurando a variável de ambiente PORT
. O Program.cs
de Bookshelf contém código para observar a variável PORT
e atender nessa porta:
Na janela de terminal, implante o aplicativo no Cloud Run usando a CLI gcloud
:
-
Crie o app localmente.
dotnet publish -c Release
-
Usar o Cloud Build para criar um contêiner do Docker e publicá-lo no Container Registry.
gcloud builds submit --tag gcr.io/PROJECT_ID/bookshelf \ bin/Release/netcoreapp2.1/publish
-
Execute o contêiner com o Cloud Run.
gcloud run deploy bookshelf --region us-central1 --platform managed \ --image gcr.io/PROJECT_ID/bookshelf --allow-unauthenticated
Seu app está visível no URL exibido na saída degcloud run
:Service [bookshelf] revision [bookshelf-00001] has been deployed and is serving traffic at https://bookshelf-lwuhslogjlnpofsxugoc.a.run.app
- Copie o URL no seu navegador da Web para visualizar o aplicativo.
Para mais informações sobre como implantar no Cloud Run, consulte a documentação do Cloud Run.
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.
-
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 Salvar. Agora há uma entrada em seu app Bookshelf.
-
No Console do Cloud, acesse o Cloud Firestore. Acessar o Cloud Firestore
Os dados são exibidos no Firestore. O aplicativo Bookshelf armazena cada livro como um documento do Firestore com um ID exclusivo. Todos esses documentos são armazenados em uma coleção do 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
/Home/Throw
no seu app.
Por exemplo, se o app estiver hospedado em https://bookshelf-lwuhslogjlnpofsxugoc.a.run.app, acesse https://bookshelf-lwuhslogjlnpofsxugoc.a.run.app/Home/Throw.Isso gera uma nova exceção de teste e a envia ao 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.