Como eu uso o Google Cloud para hospedar meu portfolio de graça

Há mais de um ano venho usando o Google Cloud para hospedar este meu site de graça. Desde então, além da melhoria de desempenho, pude aprender mais sobre o uso dos serviços em nuvem.

Isso me deu liberdade para adicionar funcionalidades que meu antigo provedor pago de hospedagem de sites não fornecia: otimização de imagens, atualizações para versões mais recentes do PHP e algoritmos de compactação, por exemplo.

Além disso, claro, me poupou bastante dinheiro com serviço de hospedagem. Hoje só gasto com a renovação anual do domínio do site.

Desde então expandi o uso para outros serviços gratuitos com o conhecimento adquirido no curso de fundamentos do Google Cloud.

Como tudo funciona

Primeiramente, as requisições ao domínio do site levam a um IP externo Premium, em que o tráfego é roteado o máximo possível dentro da rede do Google. Após passar por regras de firewall, a requisição chega a uma máquina virtual do Compute Engine, com armazenamento e processamento dentro da categoria gratuita do Google Cloud.

A VM tem instalado um servidor Nginx, com suporte a PHP, e um servidor de banco de dados relacional MariaDB. Com isso é possível rodar o WordPress, bem como outros projetos que necessitem ou não de banco de dados.

Em alguns casos, projetos podem ser aplicações rodando em containers e que utilizam linguagens compiladas como Java. Neste caso, elas utilizam os limites gratuitos do Cloud Run, um serviço sem servidor para executar containers na nuvem.

Passei a usar esse serviço após o Heroku extinguir o plano gratuito, e fiz o deploy dos projetos no Google Cloud utilizando o Cloud Run.

Backups, monitoramento e atualizações

Com grandes poderes vêm grandes responsabilidades Tio Ben

A possibilidade de ter um servidor configurado à sua maneira em serviços de nuvem traz, no entanto, a “desvantagem” de ter que assumir as tarefas de manutenção e disponibilidade do seu site e/ou da sua aplicação.

Na verdade, não se trata de uma desvantagem. Além de aprender e aplicar novos conhecimentos, o Google Cloud facilita bastante o trabalho, e de graça.

Os logs de acessos e possíveis mensagens de erros do servidor, além de serem temporariamente hospedados na máquina virtual, são enviados ao serviço Cloud Logging. Ali podem ser buscados e filtrados para monitoramento de possíveis anormalidades.

Além disso, há rotinas de backups com snapshots e atualização do servidor via gerenciamento de correções de SO. Todos eles programados para acontecer periodicamente de maneira automática.

No post que escrevi para o meu blog tem o diagrama da infraestrutura do Google Cloud no meu portfolio.

Parabéns pelo conteúdo. Eu já usei o cloud run e cloud functions para hospedar meus serviços, eu achei bem legal, ainda mais quando configurei o cloud build para fazer deploy automático.

Eu vejo um problema nisso tudo: quando o seu tráfego ultrapassar o limite do free tier o Google vai começar a te cobrar. E eu descobri que não fica barato.

Um serviço meu começou a receber diversas requisições de bots, o que me deram gastos de 50 reais por mês. Então eu recomendo cuidado ao utilizar esses serviços.

Obrigado pelo elogio! Sim, esse é um ponto que não abordei no texto, mas que faz parte do monitoramento do projeto e é necessário cuidado. Eu deixei o Google Cloud configurado para me avisar por email quando os custos chegarem a 50%, 75% e 100% do orçamento. Eu também monitoro de vez em quando pelo app do GCP. Qualquer anormalidade eu abro o console no PC para investigar a origem. Lembrando que a intenção é hospedar um site pessoal com o portfolio como vitrine/demonstração. Não recomendo usar o nível gratuito para aplicações comerciais, como hospedar freelas e sistemas de uso externo.

Sabe dizer se há serviços de orquestração de containers nessa tier free do Google? Ou se ao invés de ter uma VM com Nginx eu poderia ter um container do Nginx rodando na nuvem?

O MariaDB foi opcional ?, estou a procura de novos locais para a hospedagem de projetos mas estou com a limitação de não aceitar SGBDS como por exemplo o MONGODB

Sim. Quando você cria a máquina virtual, ela vem "zerada". Você que instala e configura tudo o que precisa, seja servidor, interpretadores ou SGBDS.

Bem legal esse tipo de post. Parabéns!