Introdução ao Deploy na Nuvem com Google Cloud
No estágio final do nosso tutorial sobre DevOps, chegamos a um dos momentos mais esperados: a publicação da aplicação em um ambiente de nuvem pública. Até aqui, aprendemos a criar uma aplicação com contêineres e rodá-la localmente. Agora, vamos expandir esse conhecimento e disponibilizar a aplicação online para que qualquer pessoa possa acessá-la por meio de um link.
Essa etapa é fundamental na cultura DevOps, pois representa a transição entre o desenvolvimento local e a disponibilização contínua de software em ambientes reais de produção, utilizando práticas modernas de integração e entrega contínua (CI/CD). O foco é realizar o deploy da aplicação na nuvem com o suporte das ferramentas do Google Cloud Platform, sem a necessidade de configuração manual de servidores ou máquinas físicas.
A plataforma escolhida para isso é o Cloud Run, um serviço gerenciado que permite executar contêineres de forma “serverless”, ou seja, sem a preocupação com a infraestrutura. Ele proporciona escalabilidade automática, cobrança sob demanda e simplicidade na operação. Neste ponto, o desenvolvedor pode focar no código e na experiência do usuário final, enquanto o Google Cloud se encarrega da orquestração da infraestrutura necessária para que o serviço esteja sempre disponível.
Criando o Projeto no Google Cloud e Instalando a CLI gcloud
Para que possamos utilizar os recursos do Google Cloud, o primeiro passo prático é criar um projeto dentro da plataforma. No contexto do Google Cloud, um projeto funciona como um contêiner lógico que organiza todos os recursos relacionados à sua aplicação, como APIs, autenticações, serviços e permissões.
Ao acessar o console do Google Cloud, podemos criar um novo projeto clicando no seletor de projeto, próximo ao canto superior da tela, e em seguida na opção “Novo Projeto”. O nome do projeto deve seguir convenções específicas: não pode conter espaços e deve, preferencialmente, usar hifens (ex: tutorial-devops-api
). Após a criação, é necessário garantir que estamos trabalhando dentro desse novo contexto — selecionando o projeto recém-criado na lista de projetos disponíveis.
Com o projeto criado, precisamos instalar a CLI gcloud
(Google Cloud SDK). Essa ferramenta de linha de comando permite interagir com a conta do Google Cloud diretamente do terminal, automatizando tarefas como deploys, configurações de serviços e autenticações. O instalador está disponível para Windows, macOS e Linux, com passos simples que incluem: baixar o executável, aceitar os termos de uso e seguir o processo de instalação (“Next”, “Next”, “Finish”).
Faça o download conforme sua plataforma:
Platform | Package name | Size | SHA256 Checksum |
---|---|---|---|
Linux 64-bit(x86_64) | google-cloud-cli-linux-x86_64.tar.gz | 149.7 MB | 01d322b29107e57f13e1418c789b9c3c0e6db1eb8e182d41ab6de09e6e0ca805 |
Linux 64-bit(Arm) | google-cloud-cli-linux-arm.tar.gz | 56.3 MB | 009a1ca0b114e4049cadb517a81c2a4b697d180425da1d2fdb456952d7f070b5 |
Linux 32-bit(x86) | google-cloud-cli-linux-x86.tar.gz | 56.3 MB | 1fea8bf6373c49c435ab4089aa128f981da425408b28f88b6c4a91d18b19e3a3 |
Windows | Google Cloud CLI installer. |
Ao finalizar a instalação, é fundamental reiniciar o editor de código (como o Visual Studio Code) para que o terminal reconheça os novos comandos. Isso garante que os comandos gcloud
estejam disponíveis na sessão atual do terminal.
Pronto! Com o projeto criado e a CLI instalada, estamos preparados para autenticar nossa sessão e começar a configurar o ambiente de deploy da aplicação.
Autenticando e Configurando o Projeto com o gcloud
Com o gcloud
instalado e o projeto já criado no console do Google Cloud, o próximo passo é autenticar a linha de comando com sua conta Google e vincular o terminal ao projeto correto. Essa etapa garante que todas as ações executadas via terminal estejam conectadas ao ambiente certo.
O comando inicial é:
gcloud auth login
Esse comando abre o navegador padrão e solicita que você faça login com sua conta Google. Após o login, o terminal estará autorizado a acessar os serviços da nuvem com suas credenciais. Isso é essencial para permitir que o gcloud
controle recursos como repositórios, deploys e configurações de rede em nome do usuário autenticado.
Logo em seguida, é necessário indicar qual projeto queremos utilizar como contexto padrão. Isso é feito com o comando:
gcloud config set project [PROJECT_ID]
Substitua [PROJECT_ID]
pelo ID do projeto criado anteriormente. Esse ID pode ser encontrado no painel do Google Cloud, próximo ao nome do projeto, ou no seletor de projetos. Ele define que todas as ações subsequentes do gcloud
ocorrerão dentro desse projeto específico.
Com a autenticação e o contexto configurados, o terminal está pronto para iniciar o processo de build, armazenamento e deploy da aplicação. Essa separação clara por projetos é importante tanto para organização quanto para controle de acesso, especialmente em times maiores ou com múltiplas aplicações em execução.
Deploy com Cloud Run e Artifact Registry: Publicando sua Aplicação
Agora que o projeto está configurado e autenticado, é hora de realizar o deploy da aplicação. O processo envolve três ferramentas principais da plataforma Google Cloud:
- Artifact Registry: armazena a imagem Docker da aplicação.
- Cloud Build: constrói a imagem a partir do código-fonte.
- Cloud Run: executa o contêiner de forma escalável e serverless.
A primeira etapa é garantir que o gcloud
esteja preparado para realizar o build e deploy. O comando a ser utilizado é:
gcloud run deploy --port=8000
Esse comando inicia uma série de etapas interativas:
- Confirmação do diretório de origem do código — onde está o
Dockerfile
. - Nome do serviço — por exemplo,
api
. - Seleção da região — escolher
southamerica-east1
para datacenters em São Paulo, otimizando a latência para usuários brasileiros. - Criação automática do repositório no Artifact Registry, se necessário.
- Permissões de acesso — ativar
Allow unauthenticated invocations
para tornar a aplicação pública e acessível sem autenticação.
Durante o processo, o Cloud Build
constrói a imagem da aplicação e a envia ao Artifact Registry
. Em seguida, o Cloud Run
provisiona a infraestrutura necessária, com balanceamento de carga e criação automática de um endpoint (URL) para acesso à aplicação.
Esse modelo de implantação serverless traz diversos benefícios:
- Escalabilidade automática — aumenta ou reduz recursos com base na demanda.
- Custos otimizados — o serviço escala para zero quando não há requisições.
- Facilidade operacional — não exige manutenção de VMs ou clusters.
Após o deploy, o terminal exibirá o Service URL, que pode ser acessado por qualquer pessoa. Basta clicar no link e utilizar endpoints como /docs
ou /api
para testar a aplicação no navegador.
Validação da Aplicação na Nuvem e Considerações Finais
Com o deploy concluído, é hora de verificar se tudo está funcionando corretamente. Ao acessar a Service URL gerada pelo Cloud Run, é possível navegar até rotas como /docs
para visualizar a documentação automática da API — ideal para ambientes baseados em frameworks como FastAPI.
Para testar a aplicação, podemos realizar operações CRUD diretamente na interface interativa. Por exemplo, criar um novo “aluno” com nome, e-mail e telefone, submetendo os dados via POST
. A resposta com status code 200 indica que a API está funcional e a aplicação foi corretamente disponibilizada. Com isso, também é possível visualizar os registros armazenados usando um GET
.
Além disso, o Google Cloud oferece ferramentas para monitoramento e diagnóstico:
- Logs em tempo real da aplicação disponíveis no painel do Cloud Run.
- Métricas de uso e desempenho — número de requisições, latência, falhas e consumo de recursos.
- Histórico de versões da imagem no Artifact Registry, possibilitando reversões ou comparações entre builds.
Essa etapa mostra como o ciclo DevOps se completa: o código desenvolvido localmente é testado, empacotado, enviado à nuvem, escalado automaticamente e monitorado — tudo isso com poucos comandos.
Ao final, fica claro que a adoção de plataformas como o Google Cloud simplifica significativamente o trabalho de desenvolvedores e equipes de infraestrutura. A ideia de que “nuvem é complicada” se desfaz ao perceber que, com as ferramentas certas, o deploy de uma aplicação pode ser tão fácil quanto pronunciar o nome de uma banda punk alemã.
Esse é o poder de combinar contenedores leves, ferramentas DevOps e infraestrutura serverless: permitir que ideias saiam rapidamente do ambiente local e ganhem o mundo.