Come sfruttare al meglio il livello gratuito di Google Cloud

L'industria del cloud computing ama regalare campioni gratuiti e Google non è diverso da Amazon o Microsoft in questo senso. Le aziende sanno che se dai ai clienti un assaggio gratuito, torneranno quando è ora di mangiare.

Google offre due tipi di gratuito. I nuovi clienti ricevono $ 300 da spendere per qualsiasi macchina o servizio distribuito tra le 24 "aree cloud", 73 "zone" e 144 "edge location di rete". Il denaro funziona praticamente ovunque nel cloud di Google, dalla potenza di elaborazione grezza a una qualsiasi delle decine di prodotti diversi come database o servizi di mappe.

Ma anche quando il denaro gratuito si esaurisce, i regali gratuiti continuano. Sono disponibili 24 diversi prodotti che offrono continui campioni gratuiti fatturati come "sempre gratuiti". Anche se sei un cliente da anni, puoi comunque sperimentare. Ovviamente Google aggiunge l'avvertenza che la parola "sempre" in questa generosa promessa è "soggetta a modifiche". Ma fino a quel giorno, il database BigQuery risponderà a un terabyte di query ogni mese e AutoML Translation trasformerà 500.000 caratteri da una lingua all'altra.

Alcuni sviluppatori usano il livello gratuito per quello che dovrebbe essere: un'opportunità per esplorare senza chiedere al loro capo e al capo del loro capo un budget. Altri lavorano su un trambusto secondario o su un sito web per i ragazzi del vicinato. Quando il carico è ridotto, è facile innovare senza dover affrontare una bolletta mensile.

Alcuni sviluppatori portano questo all'estremo. Provano a rimanere nel livello gratuito il più a lungo possibile. Forse è perché vogliono vantarsi della loro velocità di combustione follemente bassa. Forse è solo una forma di machismo moderno. Forse hanno pochi soldi.

In ogni caso, lavorare questo angolo libero il più a lungo possibile porta generalmente ad applicazioni web snelle ed efficienti che fanno il più possibile con il meno possibile. Quando arriverà il giorno in cui lasceranno il livello gratuito, le bollette mensili rimarranno piccole man mano che il progetto si ridimensiona, qualcosa che scalda il cuore di ogni CFO.

Ecco alcuni dei segreti per spremere fino all'ultima goccia di bontà dall'offerta gratuita di Google. Forse sei economico. Forse stai solo aspettando di dirlo al tuo capo fino a quando la bellezza non sarà completamente realizzata. Forse ti stai solo divertendo e questo è uno scherzo. In ogni caso, ci sono molti modi per risparmiare. 

Conserva solo ciò che è necessario

I database gratuiti come Firestore e Cloud Storage sono strumenti completamente flessibili che eliminano rispettivamente documenti e oggetti chiave-valore. Il livello sempre gratuito di Google Cloud ti consente di archiviare rispettivamente i tuoi primi 1 GB e 10 GB in ogni prodotto. Ma più dettagli conserva la tua app, più velocemente si esauriranno i gigabyte gratuiti. Quindi smetti di salvare le informazioni a meno che tu non ne abbia assolutamente bisogno. Ciò significa nessuna raccolta ossessiva di dati nel caso in cui ne avessi bisogno per il debug in seguito. Nessun timestamp aggiuntivo, nessuna cache di grandi dimensioni piena di dati che conservi solo per essere pronto.

La compressione è tua amica

Ci sono dozzine di buoni pezzi di codice per aggiungere uno strato di compressione ai tuoi clienti. Invece di archiviare blocchi pesanti di JSON, il codice client può eseguire i dati attraverso un algoritmo come LZW o Gzip prima di inviarli via cavo alle istanze del server, che li memorizzano senza decomprimerlo. Ciò significa risposte più rapide, meno problemi di larghezza di banda e minore impatto sulla quota di archiviazione dati mensile gratuita. Fai un po 'di attenzione perché alcuni pacchetti di dati molto piccoli possono diventare più grandi quando viene incluso il sovraccarico della compressione.

Vai senza server

Google è più generoso con i suoi servizi di elaborazione intermittenti fatturati per richiesta. Cloud Run si avvierà ed eseguirà un container senza stato che risponde gratuitamente a due milioni di richieste ogni mese. Cloud Functions attiverà la tua funzione in risposta a altri due milioni di richieste. Si tratta in media di oltre 100.000 operazioni diverse ogni giorno. Quindi smetti di aspettare e inizia a scrivere il tuo codice sul modello serverless.

Nota: alcuni architetti rabbrividiranno all'idea di utilizzare due servizi completamente diversi. Può far risparmiare denaro ma raddoppierà la complessità dell'applicazione e ciò significa che sarà più difficile da mantenere. Questo è un vero pericolo, ma spesso puoi più o meno duplicare la struttura function-as-a-service di Cloud Functions all'interno del tuo contenitore, rendendo possibile consolidare il tuo codice in un secondo momento se lo prevedi.

Usa App Engine

App Engine di Google rimane uno dei modi migliori per avviare un'applicazione web senza preoccuparsi di tutti i dettagli su come distribuirla o ridimensionarla. Quasi tutto è automatizzato, quindi distribuirà nuove istanze se il carico aumenta. App Engine viene fornito con 28 "ore di istanza" per ogni giorno, il che significa che la tua app di base verrà eseguita gratuitamente per 24 ore al giorno e può anche espandersi per quattro ore se c'è un aumento della domanda.

Consolida le chiamate di servizio

C'è una certa libertà di aggiungere extra se stai attento. I limiti alle chiamate senza server sono sul numero di singole richieste non sulla complessità. Puoi impacchettare più azioni e più risultati in ogni scambio raggruppando tutte le operazioni sui dati in un pacchetto più grande. Quindi puoi offrire trucchi stupidi come le quotazioni di borsa, ma solo se inserisci i pochi byte in più nei pacchetti assolutamente essenziali. Tieni presente che Google conta la memoria utilizzata e il tempo di elaborazione. Le tue funzioni non possono superare i 400.000 GB al secondo di memoria e i 200.000 GHz al secondo di tempo di elaborazione.

Usa l'archiviazione locale

La moderna API Web offre una serie di buoni posti per memorizzare le informazioni. C'è il biscotto perfettamente buono e vecchio stile limitato a quattro kilobyte. L'API Web Storage è un sistema di valori-chiave basato su documenti che memorizzerà nella cache almeno cinque megabyte di dati e alcuni browser manterranno 10 megabyte. IndexedDB offre una serie più ricca di funzionalità come i cursori e gli indici del database che velocizzano l'esame dei dati che spesso vengono archiviati senza limiti.

Più dati memorizzi localmente sulla macchina dell'utente, meno è necessario utilizzare il prezioso storage lato server. Ciò può anche significare risposte più veloci e molta meno larghezza di banda dedicata al trasporto di copie infinite dei dati sul tuo server. Ci saranno problemi, tuttavia, quando gli utenti cambiano dispositivo perché i dati probabilmente non saranno sincronizzati. Assicurati solo che i dettagli importanti siano coerenti.

Trova le occasioni nascoste

Google mantiene una pagina utile che riassume tutti i prodotti "sempre gratuiti", ma se guardi in giro troverai molti servizi gratuiti che non fanno nemmeno l'elenco. Google Maps, ad esempio, offre "$ 200 di utilizzo mensile gratuito". Google Docs e alcune delle altre API sono sempre gratuiti.

Usa G Suite

Molti dei prodotti G Suite, inclusi Documenti, Fogli e Drive, vengono fatturati separatamente e gli utenti li ottengono gratuitamente con il loro account Gmail oppure la loro azienda li paga come suite. Invece di creare un'app con rapporti incorporati, scrivi i dati su un foglio di calcolo e condividili. I fogli di calcolo sono abbastanza potenti da includere grafici e grafici come qualsiasi dashboard. Se crei un'app Web, dovrai masterizzare le quote di calcolo e dati per gestire le richieste interattive. Ma se crei solo un documento Google per il tuo rapporto, stai scaricando la maggior parte del lavoro sulla macchina di Google.

Elimina gli espedienti

Alcune caratteristiche delle moderne applicazioni web sono piuttosto superflue. La tua richiesta bancaria necessita di quotazioni di borsa? È necessario includere l'ora o la temperatura locale? Hai bisogno di incorporare gli ultimi tweet o foto di Instagram? No. Sbarazzati di tutti questi extra perché ognuno di essi significa un'altra chiamata alle tue macchine server e questo consuma i tuoi limiti gratuiti. Il team di progettazione del prodotto può sognare in grande, ma puoi dire loro: "No!"

Fai attenzione alle nuove opzioni

Alcuni degli strumenti più interessanti per la creazione di servizi di intelligenza artificiale per il tuo stack offrono buoni limiti per la sperimentazione. Il servizio AutoML Video ti consentirà di addestrare il tuo modello di machine learning sui feed video per 40 ore al mese, prima che vengano applicati gli addebiti. Il servizio per i dati tabulari macinerà le tue righe e righe di informazioni su un nodo gratuitamente per sei ore. Questo ti dà abbastanza corda per sperimentare o costruire modelli di base, ma fai attenzione. Sarebbe pericoloso automatizzare il processo in modo che ogni utente possa attivare un grosso lavoro di apprendimento automatico.

Mantieni i costi in prospettiva

È facile portare questo gioco all'estremo e trasformare l'architettura della tua applicazione in un dispositivo Rube Goldberg solo per risparmiare un po 'più di denaro. È importante ricordare che il passaggio dal livello gratuito al cliente pagante è spesso un passo piuttosto piccolo in Google Cloud. Mentre ci sono molti servizi gratuiti su Internet che passano da gratuiti a migliaia di dollari con un clic, i servizi di Google generalmente non hanno un prezzo così.

Dopo aver sfornato due milioni di invocazioni gratuite di Cloud Functions, il prossimo è un enorme $ 0,0000004. Sono solo 40 centesimi per milione. Se scavi nel cassetto dei calzini, dovresti riuscire a coprire qualche milione in più con pochi problemi.

Il listino prezzi è abbastanza generoso da non avere un attacco di cuore quando esci dalla zona franca. Se la tua applicazione ha bisogno di qualche milione in più per questo o quello, probabilmente sarai in grado di coprirlo. La lezione importante è che mantenere basso il carico computazionale si tradurrà in bollette più piccole e risposte più rapide.