Implante seu site em segundos com Cloud Run

Alvaro David
google-cloud-brasil
4 min readNov 14, 2022

O Cloud Run é uma plataforma de computação escalável e totalmente gerenciada no Google Cloud que implementa Knative, uma solução de código aberto baseada em Kubernetes.

Implantar um container no Cloud Run é simples porque todo o trabalho e complexidade de criar e gerenciar máquinas virtuais, clusters, pods e serviços já é feito pelo Cloud Run.

Neste post vamos usar o NodeJS Cloud Run Hello World do repositório no GitHub do Cloud Code para demonstrar como funciona a experiência de utilização do Cloud Run.

NodeJS Cloud Run Hello World Site

Um repositório para nossos containers

Para que o Cloud Run possa implantar nossos containers, precisamos armazená-los em um lugar acessível e seguro. O Artifact Registry atende perfeitamente esse requisito.

Criar um repositório no Artifact Registry é simples: começamos procurando a seção do Artifact Registry no Google Cloud Console e depois clicando em Criar Repositório.

Completamos os campos como mostra a imagem abaixo:

Clique em CRIAR e pronto! Temos um repositório para nossos containers. É importante ter em conta que o endereço completo do repositório é southamerica-east1-docker.pkg.dev/[YOUR-PROJECT-ID]/hello-cloud-run, isso porque você pode criar vários repositórios na mesma região ou multirregião.

Vale ressaltar, também, que o nome do repositório deve ser único na região onde ele será criado — Ou seja, pode ser que você tente criar um repositório com o nome similar ao usado e aqui e você receba uma mensagem de erro (de nome já em uso ou algo assim).

Repositório no Artifact Registry

Levando nosso container para a nuvem

Para ter o código localmente, simplesmente fazemos um clone do repositório e vamos pra pasta do exemplo.

git clone https://github.com/GoogleCloudPlatform/cloud-code-samples.git
cd cloud-code-samples/nodejs/nodejs-cloud-run-hello-world/

Para fazer o build do nossa imagem container usando o Dockerfile que está dentro do repositório e armazenar essa imagem na nuvem podemos usar este comando do Cloud Build:

gcloud builds submit --tag southamerica-east1-docker.pkg.dev/[YOUR-PROJECT_ID]/hello-cloud-run/mysite:v0.1

Note que --tagé bastante comprido. Isso ocorre pois o tag (ou nome) da nossa imagem deve ter o endereço do repositório onde vai ser armazenado.

Imagem de Container no Artifact Registry

Implantação no Cloud Run

Agora que temos tudo pronto, vamos criar um serviço no Cloud Run utilizando a imagem que acabamos de criar.

No Google Cloud Console procuramos a seção do Cloud Run e depois clicamos em Criar Serviço.

A primeira coisa que o Cloud Run precisa é da imagem do container que contém nossa aplicação, selecionamos nossa imagem:

Seleção de Imagem de container

Depois preenchemos os campos como mostra a imagem abaixo:

Configurações importantes:

  • Alocação de CPU e preços: Deixamos a opção padrão para usar a CPU unicamente durante o request, com menor tempo de processamento, menor custo.
  • Escalonamento automático: Deixamos 0 como mínimo número de instâncias, isso significa que se ninguém estiver utilizando nosso serviço, não haverá instâncias rodando. Como o modelo de precificação do Cloud Run é baseado em requisições(ou requests), CPU e memória, essa configuração pode diminuir os custos da nossa aplicação na nuvem.
  • Autenticação: Vamos permitir qualquer request pois nosso serviço é um site, porém podemos restringir o acesso ao nosso serviço mediante o IAM.

Clique em CRIAR, esperamos uns segundos e pronto! O Cloud Run vai nos fornecer uma URL em HTTPS onde podemos consumir nosso serviço, neste caso nosso site.

Você pode configurar um domínio personalizado em vez do endereço padrão que o Cloud Run fornece para um serviço implantado.

Cloud Run console
My Site

Conclusão

O Cloud Run pode acelerar o ciclo de desenvolvimento de software pois permite que os desenvolvedores possam se concentrar no código, além disso o Cloud Run tem outras funcionalidades e integrações com recursos do Google Cloud que iremos explorar em futuros posts.

Recomendo muito experimentar o Cloud Run, principalmente se for o seu primeiro contato com a nuvem, pois ajuda a entender diversos conceitos de um jeito simples e objetivo.

--

--

google-cloud-brasil
google-cloud-brasil

Published in google-cloud-brasil

Artígos técnicos publicados e selecionados por Google Cloud Developer Advocates. Os pontos de vista e opiniões expressados pertencem aos autores e não refletem, necessariamente, os do Google. Caso queira ser autor de um artigo, mande uma DM para @lucianommartins no Twitter.