Pokémon (GO), grazie alla Google Cloud Platform!

Pokémon (GO), grazie alla Google Cloud Platform!

Pokémon GO è un'applicazione mobile di grande successo, installato in pratica sugli smartphone di tutto il mondo. Come noto, si tratta di un gioco della Niantic basato sui personaggi fantastici dei Pokémon, e introduce per la prima volta con successo l'elemento di realtà aumentata in questo ambito. La sua Piattaforma di Sistema è la Google Cloud Platform.

Nel corso della mia carriera ho dovuto confrontarmi con molti progetti che avevano problemi di utenza concorrente e di scalabilità. Eppure neanche io riesco a figurarmi, con esattezza, cosa possa significa supportare la crescita esponenziale di milioni di utenti, ogni giorno e per mesi! 

Eppure la magia è stata possibile, grazie all'adozione della Google Cloud Platform.

Citando Luke Stone (Google Director of Customer Reliability Engineering), che ha riportato in una newsletter ai Partner la sua esperienza su questo progetto, mai come in questo caso una immagine vale più di tante parole:

Grafico di Carico della Google Cloud Platform - Pokémon Go
Grafico di Carico del Datastore di Pokémon Go

Pokémon GO usa molti servizi della piattaforma Cloud Google, ma il servizio Cloud Datastore, in particolare, è stato impiegato come database primario del gioco.

Il grafico racconta una storia di straordinaria efficienza e scalabilità, dove era stato stimato un carico di richieste pari ad 1X, sulla base dell'utenza aspettata, e un prudenziale "peggiore dei casi" (worst-case) pari a ben cinque volte tanto (5X); si è arrivati invece, in un tempo rapidissimo, a 50X! L'incredibile e imprevedibile popolarità del gioco Niantic ha fatto crescere il numero di utenti in modo eccezionale, di conseguenza il traffico generato dai giocatori ha superato di cinquanta volte l'obiettivo iniziale con pari velocità, in un processo esponenziale.

Il team di Google ha lavorato a stretto contatto con i tecnici della Niantic, rivedendo con loro ogni aspetto dell'architettura di sistema e fornendo sopratutto la consulenza necessaria per utilizzare al meglio la GCP, sia per i servizi impiegati che per la capacità di scalare in tempo reale le risorse di Sistema.

Dal punto di vista della capacità computazionale, è stata tuttavia la tecnologia innovativa dello sviluppo container-based, a rendere possibile tutto questo. La application-logic del gioco, infatti, gira sul Google Container Engine (GKE).

Il GKE è uno dei potenti servizi della GCP, che integra il progetto open source Kubernetes; GKE è stato scelto dalla Niantic per la sua capacità specifica di gestire container-cluster scalabili e distribuiti su scala planetaria. Gli sviluppatori del gioco possono in questo modo gestire aggiornamenti in tempo reale, per tutti i giocatori delle diverse aree geografiche, senza doversi preoccupare realmente della distribuzione e in continuità del servizio online.

In questo modo, usando la Google Cloud Platform come piattaforma di Sistema per Pokémon GO, la Niantic riesce tuttora a servire milioni di utenti in tutto il mondo, che continuano ancora a crescere.

Per avere supporto e consulenza su GCP, oppure semplicemente per richiedere maggiori informazioni sui servizi di cui abbiamo parlato oggi, potete come sempre scrivere una mail direttamente al nostro indirizzo  info@icoa.it  , oppure contattarci sul nostro sito specifico  cloud.icoa.it