Negli ultimi anni molti fornitori di servizi internet hanno aumentato il loro budget d’investimento e le loro offerte relative al Cloud Computing, considerandolo come un realistico futuro dell’informatica. Anche Google da qualche anno a questa parte sta lavorando al progetto Google Cloud Platform, di cui sono state presentate recentemente tutte le novità alla Google Cloud Platform Live di San Francisco.
Cos’è Google Cloud Platform
Google Cloud Platform e un’infrastruttura di Google altamente scalabile e affidabile che permette agli sviluppatori di costruire, testare e distribuire applicazioni.
I vantaggi dell’utilizzo di Google Cloud Platform sono:
- il servizio, completamente scalabile, non necessita di investimenti iniziali (il costo addebitato corrisponde al reale utilizzo);
- l’infrastruttura a disposizione degli utenti è la stessa che utilizza Google per offrire i suoi servizi (Youtube, Gmail e rete di ricerca);
- la dorsale di rete in fibra ottica su cui poggia l’infrastruttura è una delle più avanzate, veloci e scalabili (uno dei cavi passa attraverso l’Oceano Pacifico);
- i dati caricati nel sistema sono ridondati grazie a mirroring automatico su diversi dispositivi;
- hardware e software all’avanguardia grazie ai costanti aggiornamenti (l’infrastruttura utilizza software innovativo come MapReduce, BigTable, Dremel, Spanner e Flume).
Prodotti Google Cloud Platform
Google Cloud Platform fornisce diversi prodotti per permettere ai programmatori di sviluppare rapidamente, utilizzando i servizi di cui hanno bisogno.
- Compute: composta da Compute Engine (infrastruttura IaaS per eseguire i carichi di lavoro su larga scala su macchine virtuali) e App Engine (piattaforma PaaS per sviluppare app in modo semplice utilizzando servizi integrati).
- Storage: composta da Cloud Datastore (per salvare dati non relazionali NoSQL), Cloud SQL (per gestire database relazionali MySQL) e Cloud Storage (un servizio di stoccaggio duraturo e altamente disponibile).
- Big Data: composta da Big Query (per eseguire query SQL-like in tempo reale).
- Services: composta da Cloud Pub/Sub (per connettere i servizi con messaggistica asincrona altamente affidabile), Cloud DNS (per creare DNS record con una semplice linea di comando), Cloud Endpoints (per creare servizi RESTful accessibili a iOS, Android e Javascript), Translate API (per creare app multilingua) e Prediction API (per utilizzare algoritmi di apprendimento automatico).
Novità Google Cloud Platform
Le ultime novità introdotte da Mountain View sulla Google Cloud Platform, rivoluzionano il mondo del Cloud Computing permettendo agli sviluppatori di scegliere ogni volta il livello di astrazione adatto al proprio progetto ed alle proprie esigenze. L’obiettivo è quello di bypassare l’attuale concetto di IaaS e Paas realizzando così un servizio scalabile e fruibile a seconda delle necessità.
In questo scenario, dal progetto Kubernetes, nasce Google Container Engine ideato per gestire singoli Docker Container portabili (un Docker Container non è nient’altro che un livello di astrazione ulteriore rispetto all’architettura di base del sistema operativo, che consente di isolare e “slegare” le applicazioni in fase di sviluppo dai livelli sottostanti). Google Container Engine permette così una completa mobilità delle applicazioni da ambienti di sviluppo ad ambienti di test o addirittura a provider di servizi Cloud esterni.
A tutto ciò vanno aggiunti i servizi offerti dal Menaged Virtual Machine sviluppato per l’App Engine di Google Cloud Platform, un’estensione del PaaS che permette agli sviluppatori un ampio controllo sulle configurazioni dell’ambiente di sviluppo come i routing di rete, il bilanciamento dei carichi e tanto altro. In questo modo lo sviluppatore può concentrarsi esclusivamente sulla fase di progettazione appoggiandosi anche alle funzionalità di Autoscaling, al supporto per i Docker Containers ed all’integrazione con il Cloud SDK.
Oltre alla continuità di scelta rivoluzionaria fornita dal Container Engine e dall’App Engine, Google Cloud Platform mette a disposizione degli sviluppatori altri servizi e strumenti interessanti:
- Google Cloud Engine Autoscaler: servizio pensato per la gestione dei sovraccarichi applicativi. Nasce dalla stessa idea che a generato la tecnologia utilizzata dai datacenter Google stesso e che garantisce la scalabilità delle risorse nei parchi macchine.
- Cloud Debugger: strumento specifico per il debugging delle applicazioni. Disponibile in versione beta permette di analizzare il codice riga per riga, impostando watchpoint e verificando l’andamento dello stack o delle variabili locali.
- Firebase: per la gestione di dati provenienti da diverse applicazioni web e mobile in tempo reale, semplificando i rapporti tra i dispositivi.
- Google Cloud Interconnect: peering diretto, connessione tramite operatore e connessione VPN sono i servizi utilizzati per dare accesso, agli utilizzatori della Google Cloud Platform, alla rete mondiale in fibra di Google.
La competitività di Google non è limitata solo ad un mero incremento della qualità di risorse offerte: la strategia marketing ed prezzi proposti sono concorrenziali. Viene offerto un periodo di Free Trial con 300$ di crediti compresi da spendere sui diversi servizi offerti e vengono ridotti drasticamente i costi di Network, BigQuery storage, Persistent Disk Snapshots, Persistent Disk SSD e Cloud SQL.