JustGiving è una delle piattaforme social online per il sostegno di progetti di beneficenza più importanti al mondo. I 24 milioni di utenti registrati hanno aiutato l'organizzazione con sede a Londra a raccogliere 3,5 miliardi di dollari per oltre 13.000 progetti solidali che spaziano dalla ricerca sull'Alzheimer, al soccorso alle popolazioni colpite dal terremoto di Haiti, fino alle iniziative di lotta al traffico di esseri umani. Lanciato nel 2001, JustGiving applica una commissione del 5% sulle donazioni, i cui proventi vengono reinvestiti nello sviluppo e nell'innovazione della piattaforma.

JustGiving crea una nuova piattaforma per Big Data sul Cloud AWS (3:35)

thumb_justgiving

La crescita di JustGiving è stata favorita dall'integrazione con i social network, dalla capacità di supportare donazioni da dispositivo mobile, dai feed dei social media e dal lancio di prodotti per campagne e raccolte fondi; tutti questi fattori hanno permesso agli utenti di JustGiving di amplificare le loro raccolte fondi, raggiungere più persone e mettere insieme più soldi a scopo benefico. La crescita ha anche posto i team tecnologici e operativi dell'organizzazione di fronte a importanti sfide derivanti dall'obiettivo dell'azienda di garantire un'esperienza coinvolgente e intuitiva in tutte le piattaforme contenendo il più possibile i costi.

"Ciò che abbiamo notato negli ultimi anni è che le persone sono inclini a condividere le proprie attività di raccolta fondi attraverso una pluralità di reti e canali", fa notare Richard Atkinson, Chief Innovation Officer di JustGiving. "Esistono moltissimi fenomeni social virali che appaiono dal nulla, e il risultato è che i nostri picchi di traffico stanno diventando sempre più consistenti. Il data center on-premise che avevamo prima rendeva difficile il dimensionamento, che a causa dei costi aggiuntivi e della complessità sarebbe stato impraticabile e comunque troppo oneroso".

I processi analitici interni dell'organizzazione erano letteralmente sopraffatti dall'esorbitante aumento di dati", riferisce Richard Freeman, dottore di ricerca, solutions architect e data scientist di JustGiving. "Il team e le capacità per le attività di analisi erano cresciuti così rapidamente che il data warehouse Microsoft SQL Server utilizzato fino ad allora non era più in grado di gestire il volume di dati, la velocità e la complessità delle query richieste ora dai nostri analisti e data scientist", dichiara Freeman.

Per risolvere questi problemi, la società ha deciso di passare al cloud per le sue operazioni generiche e di ospitare una nuova piattaforma per l'analisi dei Big Data denominata RAVEN (Reporting, Analytics, Visualization, Experimental, Networks) che avrebbe funzionato insieme al data warehouse esistente. L'obiettivo era fornire agli analisti dei dati di JustGiving i giusti strumenti per eseguire esperimenti su origini di dati di clickstream, di log, transazionali ed esterni. Il team per le attività di analisi era inoltre interessato a incrementare la creazione di report tradizionali ed esaminare indicatori di prestazione chiave (KPI) senza dover ripetere in continuazione procedure di estrazione, trasformazione e caricamento (ETL) diverse.

JustGiving ha scelto Amazon Web Services per gli ambienti di test e produzione, con un'attenzione particolare al potenziamento delle capacità di analisi. Atkinson spiega che la scelta si è ridotta a una questione di fiducia, e afferma: "Siamo un marchio degno di fiducia per 24 milioni di utenti e siamo il canale di raccolta fondi per 13.000 progetti di beneficenza". "Volevamo trovare una soluzione di servizi cloud da integrare in questa rete di fiducia. AWS si è dimostrata l'unica in grado di realizzare questo nostro obiettivo".

JustGiving riprogetta il suo software sotto forma di microservizi distribuiti tramite pipeline di fornitura automatizzate e continue, utilizzando vari servizi AWS per ridurre la necessità di supporto e manutenzione dell'infrastruttura da parte del suo staff e per sfruttare la scalabilità e la resilienza della piattaforma AWS. I servizi utilizzati sono Amazon Elastic Compute Cloud (Amazon EC2), Auto Scaling, Elastic Load Balancing, Amazon ElastiCache, Amazon Relational Database Service (Amazon RDS) e Amazon Simple Storage Service (Amazon S3).

L'organizzazione si avvale di AWS anche per la sua piattaforma di analisi RAVEN, che utilizza diversi servizi AWS, come Amazon Redshift, Amazon Elastic MapReduce (Amazon EMR), Amazon Kinesis, AWS Lambda, Amazon DynamoDB, Amazon Simple Queue Service (Amazon SQS) e Amazon Simple Notification Service (Amazon SNS).

"Molti vendor propongono un'interfaccia grafica per l'integrazione dei Big Data, ma secondo le nostre ricerche nella vita reale è più pratico caricare ed elaborare query di dati con un codice SQL effettivo che viene appositamente attivato per i nostri esperimenti statistici o automatizzato per i pannelli di controllo e i report dei KPI" aggiunge Freeman. "Utilizzando AWS abbiamo costruito una pipeline ETL guidata dagli eventi con sistemi che comunicano attraverso un robusto processo di messaggistica in hosting basato su SNS e SQS. Abbiamo considerato anche i framework di flusso di lavoro open source esistenti, ma questi richiedono macchine dedicate che devono essere configurate e supportate. Sono quindi risultate troppo complesse da personalizzare per i nostri casi d'uso".

JustGiving-AWS-diagram-overview-091815

L'architettura per la piattaforma RAVEN (Reporting, Analytics, Visualization, Experimental, Networks) di JustGiving su AWS.

Freeman loda la funzionalità messa a disposizione dalla piattaforma AWS. E dichiara: "AWS ha risposto perfettamente alle nostre necessità di rapidità di prototipazione, esecuzione di esperimenti per finalità statistiche, calcolo dei parametri ed esecuzione dei report sulla nostra piattaforma per l'analisi dei Big Data".

Freeman afferma che per il team di analisi di JustGiving Amazon Redshift si è dimostrato un prodotto efficiente per l'esplorazione dei dati e l'esecuzione di query di set di dati strutturati di grandi dimensioni che includono miliardi di punti di dati su diversi cluster. "Abbiamo costruito una suite di strumenti completa per eseguire processi ETL guidati dagli eventi e consentire l'integrazione con API interne ed esterne" dichiara. "Query per cui erano necessari 30 minuti in SQL Server ora vengono eseguite nell'arco di secondi. Possiamo eseguire query più complesse impossibili finora e abbiamo persino scoperto che query a grafo più semplici, come la relazione che lega l'associazione benefica e gli eventi agli utenti, possono essere eseguite più rapidamente utilizzando un database a grafi. Per la prima volta, poi, abbiamo la possibilità di fornire ai nostri utenti business una visione congiunta dei dati transazionali e non transazionali, come le visite alla pagina, le donazioni e gli imbuti di condivisione. Redshift è più veloce, più facile da usare e fornisce molti più strumenti utili di quelli di cui disponevamo prima per supportare il nostro ambiente di produzione".

JustGiving usa AWS EMR per eseguire complessi processi automatizzati ETL e di analisi su terabyte di dati senza doversi occupare della configurazione e della manutenzione di infrastrutture cluster. "Prima dell'adozione di Amazon EMR i nostri data scientist dovevano limitarsi ad algoritmi eseguibili su una singola macchina, potendo lavorare solo su set di basi basilari. Per elaborare strutture più grandi occorrevano giorni" riferisce Freeman. "Ora con Amazon EMR, che esegue cluster Hadoop o Spark, possono semplicemente lanciare cluster contenenti centinaia di istanze Amazon EC2 per calcolare algoritmi scalabili per l'esecuzione di grafi, l'elaborazione del linguaggio naturale, l'apprendimento automatico e l'analisi di streaming. Questo servizio, ad esempio, viene utilizzato per raccomandare progetti di raccolta fondi, comprendere le reti degli utenti, automatizzare il tagging per le associazioni di beneficenza e aumentare il coinvolgimento dei clienti".

Il team di analisi usa Amazon Kinesis, AWS Lambda e Amazon DynamoDB in sinergia per eseguire attività che in passato erano difficili da portare a termine. Ad esempio, gli eventi di clickstream dei siti Web vengono scritti quasi in tempo reale in Amazon Kinesis. Una funzione di AWS Lambda consente di scrivere codice in risposta a eventi, elaborandoli e scrivendoli in Amazon DynamoDB. Inoltre, Lambda viene usato per attività di test, monitoraggio degli eventi e notifiche attive, mentre DynamoDB serve per archiviare in modo permanente i dati degli eventi Kinesis e come strumento di monitoraggio delle visualizzazioni.

Atkinson fa notare che la nuova piattaforma di analisi è parte di una nuova modalità di approccio all'IT vantaggiosa per JustGiving. "Prima di usare AWS, JustGiving basava le proprie decisioni su un'unica origine di dati di alto livello" commenta. "Ora, utilizzando i nuovi strumenti AWS, riusciamo a estrarre più dati granulari da origini diverse che si basano su milioni di donazioni e miliardi di eventi, e quindi a utilizzare tali informazioni per fornire una piattaforma migliore ai nostri visitatori".

Anche la scalabilità e la convenienza della piattaforma AWS, in particolare il modello di business con tariffa in base all'utilizzo effettivo, sono aspetti fondamentali per aiutare l'organizzazione nel suo percorso di crescita. "Abbiamo sempre mappato i nostri costi rispetto ai cicli operativi e alla creazione di valore" dichiara Atkinson. "Prima, quando molte delle nostre risorse economiche erano ‘blindate' per l'hardware, spendevamo soldi per asset che rimanevano lì, spesso con tassi di utilizzo molto bassi. Con AWS, abbiamo automatizzato la pipeline e, grazie alla nostra nuova piattaforma di analisi, stiamo spendendo soldi solo per strumenti e dati che generano informazioni, aggiungendo valore e mettendo tutti i visitatori di JustGiving nelle condizioni di compiere decisioni in tempo reale".

Per ulteriori informazioni su come AWS può aiutare ad acquisire e analizzare i Big Data, visita la pagina dei dettagli sui Big Data: http://aws.amazon.com/big-data/.