Tutorial su Google Cloud: inizia con Google Cloud

Quando le persone pensano alla parola Google, pensano alla ricerca e all'immensa infrastruttura computazionale che converte le tue parole in un elenco di siti web che probabilmente hanno esattamente quello che stai cercando di trovare. Google ha impiegato anni per assumere gli ingegneri, progettare i computer personalizzati e creare l'enorme raccolta di hardware che risponde alle query web. Ora può essere tuo con pochi tasti e clic. 

Google affitta gran parte di tale esperienza e infrastruttura ad altre società web. Se desideri creare un sito Web o un servizio intelligente, Google è pronto a farti pagare per eseguirlo sulla sua vasta collezione di macchine. Tutto quello che devi fare è iniziare a compilare alcuni moduli web e presto avrai una grande raccolta di server pronti per scalare e gestire le tue faccende.

Per una guida rapida per iniziare e per esplorare le numerose scelte lungo il percorso, seguimi.  

Passaggio 1: imposta il tuo account

Questa è la parte facile. Se hai un account Google, sei pronto per partire. Puoi accedere a cloud.google.com e andare a destra nella tua console e dashboard. Non ci sarà molto da vedere qui quando inizierai, ma presto inizierai a vedere i dettagli su ciò che sta facendo il tuo vasto impero informatico. Ovvero, il carico su tutte le istanze del server che hai creato, i dati che fluiscono attraverso la rete e l'utilizzo delle API. Puoi assicurarti che tutto funzioni senza intoppi con uno sguardo.

Passaggio 2: identifica la tua esigenza di struttura

Esistono due modi per utilizzare l'infrastruttura di Google: a modo loro e a modo vostro. Se vuoi sfruttare tutto il genio del team di sviluppo di Google, puoi scegliere gli strumenti che ti offrono un sacco di manovrabilità. Google App Engine, ad esempio, ti consente di creare un'applicazione web sofisticata con poche centinaia di righe di codice, il tutto affidandoti alla raccolta curata da Google di framework interni e open source. App Engine è un modo veloce per far girare qualcosa velocemente.

Se hai già il tuo codice o ti preoccupi di essere bloccato nel passaggio di Google, puoi noleggiare macchine per secondo utilizzando Google Compute Engine. Tutto quello che devi fare è scegliere una delle principali distribuzioni Linux o Windows e pochi secondi dopo, ottieni una password di root, l'accesso a una riga di comando e nessuna limitazione.

Ci sono opzioni che si trovano nel mezzo. Puoi personalizzare App Engine con parte del tuo codice, se lo desideri oppure puoi scegliere alcune delle immagini predefinite per Compute Engine che includono già tutti i file necessari per applicazioni popolari come WordPress o Node.js. E poi ci sono ancora più opzioni che si trovano da qualche parte tra queste.

Probabilmente ti ritroverai con un misto di supporto, magari utilizzando un'app App Engine completamente strutturata per una parte e un po 'di codice personalizzato in esecuzione su hardware di base per un'altra. È più importante che tu decida quanto vuoi fare da solo e quanto sei aperto a costruire con gli strumenti di Google.

Video correlato: qual è l'approccio nativo del cloud?

In questo video di 60 secondi, scopri come l'approccio cloud-native sta cambiando il modo in cui le aziende strutturano le loro tecnologie, da Craig McLuckie, fondatore e CEO di Heptio, e uno degli inventori del sistema open source Kubernetes.

Passaggio 3: considera approcci non tradizionali

Non tutti hanno bisogno di creare applicazioni web allo stesso modo. Google offre così tante opzioni che spesso possono produrre ottimi risultati senza scrivere codice tradizionale. Un'idea intelligente, ad esempio, combina un'estensione di Chrome con l'account Google Drive dell'utente per l'archiviazione. L'unico codice viene eseguito sul client e Google gestisce tutta l'infrastruttura. Dovresti pensarci due volte per assicurarti che la tua applicazione non possa essere risolta con un approccio più semplice.

Passaggio 4: scegli una macchina

È quasi un errore pensare a questo come a scegliere qualcosa di fisico come una "macchina" tangibile. Stai davvero solo scegliendo quanta potenza della CPU, memoria e spazio su disco pensi di aver bisogno. Compute Engine offre dozzine di "macchine" di dimensioni standard oppure puoi scegliere le tue combinazioni personalizzate.

Se stai cercando più di una macchina per gestire un carico più pesante, probabilmente vorrai creare un cluster Kubernetes con Google Kubernetes Engine. Google ha sviluppato lo strumento per semplificare l'esecuzione di container su più macchine. Quando i carichi aumentano, Kubernetes avvierà più istanze e quando i carichi diminuiranno, le rallenterà.

Puoi anche scegliere di non scegliere selezionando un percorso più automatizzato come Google Cloud Functions. Google gestisce le decisioni sulle dimensioni della macchina per te e ti fattura in base all'unità di lavoro svolta dalla tua app. Paghi per ogni clic del cliente a frazioni di centesimo invece di scrivere un assegno per il mese.

Vale la pena notare che Google ha automatizzato altri aspetti del processo offrendo sconti per utilizzo sostenuto che si attivano dopo che la tua macchina viene utilizzata per una certa percentuale di un mese. Altre società cloud richiedono che ti impegni a grandi periodi di tempo per ottenere uno sconto. Gli sconti di Google vengono visualizzati automaticamente quando la tua macchina funziona per un tempo prolungato.

Passaggio 5: imposta i benchmark per il tuo codice

Una delle sfide più grandi è trovare la dimensione giusta per la tua macchina e Google offre così tante opzioni che può essere scoraggiante. Ho riscontrato differenze significative di prestazioni difficili da prevedere. Raddoppiare il numero di CPU virtuali raramente dimezza il tempo di elaborazione. L'aggiunta di più RAM può velocizzare notevolmente la tua macchina, fino a quando non ne avrai già aggiunta una quantità sufficiente per contenere in sicurezza i tuoi dati.

L'unica soluzione è confrontare il tuo software con diverse configurazioni. Una delle migliori opzioni di Google Compute Engine è il modo in cui puoi combinare e abbinare la quantità di RAM, CPU e spazio su disco. Non sei limitato a combinazioni predefinite. Quindi inizia a sperimentare dall'inizio e poi ricordati di riprovare ogni pochi mesi nel caso in cui i carichi si siano spostati e le tue prestazioni siano diverse.

Passaggio 6: scegli un'opzione di archiviazione dei dati

Google Cloud offre almeno cinque diverse opzioni per mantenere i tuoi dati al sicuro, quindi puoi sempre implementare il tuo modello di archiviazione dei dati utilizzando i suoi dischi permanenti grezzi. La prima domanda è se si desidera utilizzare la struttura di un database relazionale costruito per rispondere a SQL o se si desidera la libertà più non strutturata di NoSQL e dell'archiviazione di oggetti.

Per SQL, Google ha avvolto la propria API attorno a MySQL e Postgres. Google Cloud SQL automatizza i backup, la replica, le patch e gli aggiornamenti. Scrivi il codice che si collega a queste popolari opzioni open source. Google Cloud Spanner offre anche una struttura relazionale, ma a livelli di servizio molto elevati. Google fa la coraggiosa promessa di "SLA con disponibilità del 99,999%, nessun tempo di inattività pianificato e sicurezza di livello aziendale". (Vedi la recensione di.)

Se sei più interessato a modelli di documenti meno strutturati di NoSQL, ci sono più opzioni tra cui Cloud Storage, Cloud Bigtable e Cloud Datastore.

Ed è importante controllare Firebase, un database sofisticato che fa molto di più che archiviare semplicemente le informazioni. Riunisce gran parte dell'infrastruttura necessaria per autenticare gli utenti, sincronizzare i dati con i client, servire file, inviare notifiche e tenere d'occhio ciò che la tua app e gli utenti stanno facendo. 

Tutte queste opzioni vengono fatturate in base alla quantità di dati inseriti in esse. Più immagazzini, più paghi.

Passaggio 7: sfoglia le API di Google

È quasi spaventoso quante API siano disponibili per Google Cloud. Ovviamente la maggior parte di essi è disponibile per qualsiasi computer su Internet, ma è difficile non credere (o semplicemente immaginare) che funzionino meglio all'interno del cloud di Google.

Molte di queste API possono farti risparmiare un sacco di tempo nella programmazione. Google Maps, ad esempio, fornisce mappe dettagliate di tutto il mondo per la tua applicazione web. Cloud Data Loss Prevention esaminerà i tuoi documenti e contrassegnerà (o addirittura oscurerà) le informazioni sensibili come i numeri di previdenza sociale. Ci sono dozzine di opzioni e tutte fatturano su quanto spesso e quanto le usi. Molti hanno livelli di servizio gratuiti per applicazioni più piccole e nuovi clienti.

Passaggio 8: controlla gli strumenti di analisi dei dati

Google ha ampliato notevolmente il numero di strumenti di analisi dei dati e di apprendimento automatico utilizzando tutta la sua ricerca interna. Puoi prendere tutti i dati che archivi e quindi applicare gli strumenti Big Data o Cloud AI di Google per trovare schemi e segnali.

Molti di questi strumenti sono utili per analizzare tutti i dati raccolti dalla tua applicazione. Se vendi beni, puoi cercare le correlazioni tra i clienti e i prodotti che scelgono in modo da poter fare un lavoro migliore per anticipare le esigenze dei tuoi clienti. Se una parte del paese ama un colore, gli algoritmi ti aiuteranno a scoprirlo e anche a connessioni meno ovvie.

Questi strumenti non richiedono l'utilizzo di App Engine o Compute Engine per raccogliere le informazioni. Puoi caricare dati da altri sistemi.

Passaggio 9: scegli le regioni e le zone

Per molti lavori di base, non c'è motivo di preoccuparsi molto della posizione effettiva del computer che esegue il lavoro. Si chiama cloud, giusto? La metafora suggerisce che non dobbiamo preoccuparci esattamente di dove avviene la magia.

Alcuni lavori, tuttavia, richiedono di prestare attenzione per motivi legali o pratici. Google ha data center in tutti i continenti tranne l'Antartide e l'Africa. Ogni continente è diviso in "regioni" e ogni regione è divisa in "zone". Se vuoi essere sicuro che la vita vada avanti quando si verificano problemi, dovresti noleggiare macchine in zone separate. Se vuoi essere ancora più sicuro, dovresti eseguire le tue applicazioni in più regioni.

I singoli prodotti e strumenti generalmente funzionano ovunque, ma ci sono alcune lacune. App Engine, ad esempio, è disponibile solo in tre delle quattro regioni degli Stati Uniti. Altri prodotti come Cloud Storage ti offrono l'opzione di una o più regioni.

Passaggio 10: inizia a programmare

Smetti di leggere e esci dall'editor. Se utilizzerai App Engine, non ci vorrà molto per far funzionare qualcosa. Se stai noleggiando hardware di base, avrai accesso a livello di root alla distribuzione di tua scelta in pochi minuti. Ci vogliono solo pochi secondi per accendere una quantità enorme di potenza di fuoco del computer. Quello che fai con questo potere dipende da te.