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

Scritto da -

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  [email protected]  , oppure contattarci sul nostro sito specifico  cloud.icoa.it 

Daniele Mazzucchi

Daniele nasce a Roma il 4 maggio 1970, è il Direttore di Produzione; inizia giovanissimo a occuparsi di sistemi di rete e di telematica in generale; fonda Nexus nel 1992, uno dei primi provider internet italiani, e successivamente IstriaOnLine, il primo provider internet in Croazia. Attraverso la sua società, la Nexus, partecipa attivamente alla fondazione della naming authority italiana, che diverrà successivamente il registro italiano internet (ccTLD.it). Nel 1999 lascia le sue attività per dedicarsi come professionista indipendente alla web application, collaborando con molte grandi aziende come BPM, IMI San Paolo, Mercedes-Benz Finanziaria; diventa successivamente, nel 2000, Direttore di Produzione di EFM Engineering, dove progetta in particolare una delle prime piattaforme FAD italiane AICC based. Nel 2003 avvia un nuovo progetto imprenditoriale entrando in ICOA, dove sviluppa il settore internet seguendo in prima persona la web application e il marketing online. Guarda il profilo di Daniele su Linkedin.