Como Eu Uso O Google Cloud Para Hospedar Meu Portfolio de Graça
- #Linux
- #Serverless
- #GCP
Há mais de um ano venho usando o Google Cloud para hospedar 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.
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 de um dos projetos no Google Cloud utilizando o Cloud Run.
Os projetos são importados e sincronizados de repositórios no meu GitHub, e compilados utilizando o serviço Cloud Build. O acesso acontece usando proxy reverso no servidor Nginx, o que garante uma URL amigável.
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.