Implante seu site em segundos com Cloud Run
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.
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).
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.
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:
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.
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.