Cloud computing per 100 milioni di visite di Yelp

Cloud computing: un caso di successo per spiegare alle aziende come utilizzare al meglio la nuvola per gestire ingenti quantità di dati

Cloud computing a sostegno dei grandi numeri e dell’analisi dei Big Data. La nuvola si fa sempre più spazio nelle aziende di ogni dimensione e dove giunge la sua ombra, il business sembra affrancarsi dalla calura dei costi IT e dalle difficoltà di implementazione.Cloud computing per le oltre 100 milioni di visite di Yelp. Ecco come

E’ quanto accade ad  esempio in Yelp. Il noto portale di recensioni e ricerche locali ha registrato oltre 102 milioni di visitatori unici nel primo trimestre del 2013, contando anche i 10 milioni di utenti dell’app edita per differenti piattaforme e dispositivi mobili.

Una cifra di tutto rispetto, che ha incrementato la base dati di Yelp fino a riempirla di oltre 39 milioni di recensioni per ristoranti e attività di diversa natura (shopping, vita notturna, divertimento, ecc.), a cui si aggiunge la gestione dei dati relativi ai profili utente, alle immagini, ai check-in nei locali e via discorrendo.

Come gestire questa mole di dati se non con l’uso del cloud computing? Così, quasi alla fine del 2009, Yelp ha pensato di utilizzare Amazon Elastic MapReduce per l’analisi, l’elaborazione e la gestione dei dati disponibili sul social network e nel 2010 l’azienda ha abbandonato i suoi cluster Handoop in-house per spostarsi completamente sui servizi offerti nel cloud da Elastic MapReduce di Amazon.

I risultati ora si contano in 500 job giornalieri gestiti dal servizio di cloud computing di Amazon, su cui Yelp ha acquisito un’esperienza senza paragoni, che le ha permesso di imparare, a proprie spese, alcune accortezze per meglio utilizzare i servizi che la nuvola mette a disposizione delle aziende.

Cloud computing e trucchi del mestiere

A fronte dell’incredibile scalabilità che il servizio Elastic MapReduce mette a disposizione, Yelp ha imparato che la contropartita è nel pagamento delle risorse per una durata di tempo che spesso è maggiore dell’arco temporale necessario all’esecuzione di un flusso di lavoro. Per esemplificare, se il flusso richiede 2 ore e 10 minuti per essere completato, si paga la risorsa come se la si utilizzasse tre ore piene, anche se resta inutilizzata per circa cinquanta minuti.

Questa analisi ha permesso a Yelp di migliorare i flussi di lavoro, programmando mrjob in modo che usasse il medesimo flusso di lavoro per cluster che potessero essere considerati simili. In questo modo, si unificano i cluster e si risparmiano tempo e denaro.

Allo stesso modo, Yelp ha imparato a fare i conti con il costo delle istanze messe a disposizione dai servizi di cloud computing, valutando positivamente l’opportunità di utilizzare le istanze reserved o prenotate, che permettono di versare un unico anticipo, di solito di lieve entità, per ogni istanza di cui si sa già che si ha bisogno, per poi ricevere, a fronte di questo anticipo, uno sconto sulle tariffe orarie di utilizzo delle istanze stesse.

Per capire di quanti cloud server avesse necessità, Yelp ha sviluppato uno strumento di analisi, che mostra l’utilizzo passato delle risorse e consiglia il numero di istanze da prenotare per il futuro. Lo strumento è stato denominato EMRio ed è stato reso disponibile in modalità open source quasi un anno fa.

Insomma, il cloud computing aiuta davvero le aziende a migliorare i processi business e a risparmiare sui costi aziendali, soprattutto una volta che si sono acquisite tutte le best practice per l’utilizzo dei servizi disponibili sulle nuvole, come ben dimostra il caso Yelp qui presentato.