Dez dicas para levar os serviços gratuitos do Google ao limite.

Por Peter Wayner
A indústria de computação em nuvem adora distribuir amostras grátis e o Google não é diferente da Amazon ou da Microsoft nesse aspeto. As empresas sabem que, se derem uma degustação gratuita aos clientes, eles voltarão a hora do jantar.
O Google tem dois tipos de ofertas gratuitas. Os novos clientes recebem 300 dólares para gastar em qualquer uma das máquinas ou serviços espalhados entre as 24 “regiões de computação na nuvem”, 73 “zonas” e 144 “pontos de edge de rede”.
O dinheiro funciona em praticamente qualquer lugar da coud do Google, desde o poder de computação bruto até qualquer uma das dezenas de produtos diferentes, como bancos de dados ou serviços de mapas.
Mas mesmo quando este dinheiro gratuito acaba, os brindes continuam. Existem 24 produtos diferentes que oferecem amostras grátis contínuas que são cobradas como “sempre grátis”. Mesmo que já seja um cliente há anos, ainda pode experimentar. É claro que o Google adiciona a ressalva de que a palavra “sempre” nesta promessa generosa está “sujeita a mudanças”.
Mas, até esse dia chegar, o banco de dados do BigQuery corresponderá a um terabyte de consultas a cada mês e o AutoML Translation transformará 500.000 caracteres de um idioma para outro.
Alguns developers usam o nível gratuito para o que pretendem ser: uma oportunidade de explorar recursos sem implorar a seu chefe e ao chefe do seu chefe por um orçamento. Outros trabalham numa atividade secundária ou num site para as crianças da vizinhança. Quando a carga é pequena, é fácil inovar sem lidar com uma fatura mensal.
Alguns developers levam isto ao extremo: tentam permanecer no nível gratuito o maior tempo possível. Talvez seja porque se queiram gabar dos custos insanamente baixos ou talvez estejam com pouco dinheiro.
Em qualquer dos casos, trabalhar este ângulo livre o maior tempo possível geralmente leva a aplicações da web eficientes que fazem o máximo possível com o mínimo possível. Quando chega o dia em que deixam o nível gratuito, as contas mensais permanecem pequenas conforme o projeto aumenta, algo que aquece o coração de cada CFO.
Aqui estão alguns dos segredos para extrair até a última gota de bondade da oferta gratuita do Google:
1. Armazene apenas o necessário
Os bancos de dados gratuitos como Firestore e Cloud Storage são ferramentas completamente flexíveis que guardam documentos e objetos de valor-chave, respetivamente. O nível sempre gratuito do Google Cloud permite que armazene os seus primeiros 1 GB e 10 GB em cada produto, respetivamente. Mas quanto mais detalhes a sua seu aplicação mantém, mais rápido os gigabytes gratuitos se esgotam.
Portanto, pare de salvar informações, a menos que seja absolutamente necessário. Isto significa que não há coleta obsessiva de dados, a não ser no caso de você precisar deles para depuração posterior.
2. A compressão é sua amiga
Existem dezenas de bons códigos para adicionar uma camada de compressão aos seus clientes. Em vez de armazenar blocos gordos de JSON, o código do cliente pode executar os dados através de um algoritmo como LZW ou Gzip antes de enviá-los pela conexão para as instâncias do servidor, que os armazenam sem descompactá-los.
Isto significa respostas mais rápidas, menos problemas de largura de banda e menos impacto na sua cota mensal gratuita de armazenamento de dados. Tenha um pouco de cuidado porque alguns pacotes de dados muito pequenos podem ficar maiores quando a sobrecarga da compressão é incluída.
3. Aposte no Serverless
O Google é mais generoso com os serviços de computação intermitente, cobrados por solicitação. O Cloud Run inicializa e executa um contentor sem estado que responde a dois milhões de solicitações por mês gratuitamente.
O Cloud Functions iniciará sua função em resposta a outros dois milhões de solicitações. São mais de 100.000 operações diferentes por dia dia, em média. Portanto, pare de esperar e comece a escrever seu código no modelo sem servidor.
Nota: Alguns arquitetos vão estremecer com a ideia de usar dois serviços completamente diferentes. Isto pode economizar dinheiro, mas vai dobrar a complexidade da aplicação, e significa que será mais difícil de manter.
Isto é um perigo real, mas muitas vezes pode mais ou menos duplicar a estrutura de função como serviço do Cloud Functions dentro de seu próprio contentor, tornando possível consolidar o seu código mais tarde, se planear fazer isso.
4. Use o App Engine
O App Engine do Google continua a ser uma das melhores maneiras de ativar uma aplicação web sem se preocupar com todos os detalhes de como implantá-la ou dimensioná-la. Quase tudo é automatizado, por isso implantará novas instâncias se a carga aumentar.
O App Engine vem com 28 “horas de instância” para cada dia, o que significa que a sua aplicação básica será executada gratuitamente 24 horas por dia e pode até ser escalonada por quatro horas se houver um estouro de demanda.
5. Consolide chamadas de serviço
Existe alguma liberdade para adicionar extras se for cuidadoso. Os limites das invocações sem servidor estão no número de solicitações individuais e não na complexidade.
Pode empacotar mais ação e mais resultados em cada troca agrupando todas as operações de dados num pacote maior. Portanto, você pode oferecer truques básicos como cotações de ações, mas apenas se inserir os poucos bytes extras nos pacotes absolutamente essenciais.
Lembre-se de que o Google conta a memória usada e o tempo de computação. As suas funções não podem exceder 400.000 GB-segundos de memória e 200.000 GHz-segundos de tempo de computação.
6. Use armazenamento local
A moderna API da web oferece vários bons lugares para armazenar informações. Este é o cookie perfeitamente bom e antigo que é limitado a quatro kilobytes. A API do Web Storage é um sistema de valor-chave baseado em documento que armazenará em cache pelo menos cinco megabytes de dados e alguns browsers manterão 10 megabytes.
O IndexedDB oferece um conjunto mais rico de recursos, como cursores de banco de dados e índices, que agilizarão a extração de dados, que geralmente são armazenados sem limites.
Quanto mais dados você armazena localmente na máquina do utilizador, menos você precisa usar no seu precioso armazenamento do lado do servidor. Isto também pode significar respostas mais rápidas e muito menos largura de banda dedicada ao transporte de cópias infinitas dos dados de volta para o servidor.
Haverá problemas, porém, quando os utilizadores trocarem de dispositivo porque os dados provavelmente não estarão sincronizados. Apenas certifique-se de que os detalhes importantes sejam consistentes.
7. Encontre as pechinchas escondidas
O Google mantém uma página bem útil que resume todos os produtos “sempre gratuitos”, mas se você der uma olhada, encontrará muitos serviços gratuitos que não fazem parte da lista. O Google Maps, por exemplo, oferece 200 dólares de uso mensal grátis”. O Google Docs e algumas outras APIs são sempre gratuitas.
8. Use o G Suite
Muitos dos produtos do G Suite, incluindo Documentos, Folhas de cálculo e Drive, são cobrados separadamente e os utilizadores recebem gratuitamente com a conta do Gmail ou a empresa paga por eles num pacote.
Em vez de criar um aplicação com relatórios integrados, basta gravar os dados numa folha de cálculo e partilhá-los. As folha de cálculo são poderosas o suficiente para incluir gráficos e plotagens como qualquer painel.
Se criar uma aplicação web, precisará queimar as suas cotas de computação e dados para lidar com as solicitações interativas. Mas se apenas criar um Documento Google para o relatório, estará a despejar a maior parte do trabalho na máquina do Google.
9. Tire da frente o que você não vai usar
Alguns recursos das aplicações web modernos são bastante supérfluos. A sua aplicação de banco precisa de cotações de ações? Precisa incluir a hora ou temperatura local? Precisa incorporar os últimos tweets ou fotos do Instagram? Não. Livre-se de todos esses extras porque cada um significa mais uma chamada para as máquinas servidoras e isso corrói seus limites gratuitos.
A equipe de design de produto pode sonhar grande, mas você pode dizer-lhes: “Não!”
10. Cuidado com as novas opções
Algumas das ferramentas mais interessantes para construir serviços de inteligência artificial para a sua pilha oferecem bons limites para a experimentação. O serviço AutoML Video permitirá que treine o seu modelo de machine learning em feeds de vídeo em 40 horas por mês, antes que as cobranças sejam aplicadas. O serviço de dados tabulares triturará as suas linhas de informações num nó gratuitamente por seis horas.
Isto dá-lhe corda suficiente para experimentar ou construir modelos básicos, mas cuidado. Será perigoso automatizar o processo para que cada utilizador possa acionar um grande trabalho de machine learning.
Mantenha os custos em perspetiva
É importante lembrar que o salto do nível gratuito para o cliente pago costuma ser um passo bem pequeno no Google Cloud. Embora existam muitos serviços gratuitos na Internet que saltam de gratuitos para milhares de dólares com um clique, os serviços do Google geralmente não têm preços assim.
Depois de passar por dois milhões de invocações gratuitas do Cloud Functions, a próxima custa 0,0000004 dólares. Isto é apenas 40 centavos por milhão. Se procurar na gaveta das meias, deverá conseguir cobrir alguns milhões extras sem problemas.
A tabela de preços é generosa o suficiente para que não tenha um ataque cardíaco ao sair da zona gratuita. Se a sua aplicação precisar de alguns milhões extras, provavelmente poderá cobri-los. A lição importante é que manter a carga computacional baixa resultará em contas menores e respostas mais rápidas.