JustGiving est l'une des plus grandes plates-formes sociales en ligne de collecte de fonds à des fins caritatives. Les 24 millions d'utilisateurs enregistrés de l'organisation basée à Londres ont permis de récolter 3,5 millions USD en faveur de plus de 13 000 causes aussi diverses que la recherche sur la maladie d'Alzheimer, l'aide aux victimes du séisme en Haïti et des initiatives de lutte contre la traite des personnes. Lancé en 2001, le site JustGiving facture des frais de transaction de 5 % sur les dons, dont les bénéfices sont réinvestis dans le développement et l'innovation de sa plate-forme.

JustGiving crée une nouvelle plate-forme de Big Data sur le cloud AWS (3:35)

thumb_justgiving

La croissance de JustGiving est soutenue par son intégration aux réseaux sociaux, la prise en charge des dons mobiles, les flux sociaux et le lancement de campagnes et de produits de financement participatif (crowdfunding), des caractéristiques qui permettent aux utilisateurs de JustGiving d'amplifier leur collecte de fonds, de toucher plus de gens et de récolter plus d'argent pour de bonnes causes. La croissance représente également un défi pour les équipes des technologies et des opérations de l'organisation, qui remplissent la mission de l'entreprise qui vise à offrir aux utilisateurs une expérience conviviale et attrayante sur toutes les plates-formes, tout en maintenant les coûts et les frais généraux aussi bas que possible.

« Ces dernières années, nous avons constaté que les gens partageaient de plus en plus leurs activités de récolte de fonds sur différents réseaux et canaux », indique Richard Atkinson, directeur informatique de JustGiving. « On assiste à l'apparition de nombreux phénomènes sociaux viraux venus de nulle part, ce qui a pour effet d'amplifier nos pics de trafic. Nous disposions d'un environnement de centre de données colocalisé, ce qui rendait difficile le dimensionnement en raison des coûts supplémentaires et de la complexité associés, ce qui en faisait un processus coûteux et irréalisable ».

Selon le Dr Richard Freeman, architecte de solutions et spécialiste des données chez JustGiving, la forte augmentation du volume de données surchargeait également les processus d'analyse internes de l'organisation. « Nous avions élargi notre équipe et nos capacités d'analyse si rapidement que notre entrepôt de données Microsoft SQL Server était incapable de gérer le nouveau volume de données, la vitesse et la complexité des requêtes nécessaires à nos spécialistes et analystes de données », explique Freeman.

Pour résoudre ces problèmes, l'entreprise a décidé de migrer vers le cloud pour ses opérations générales et d'héberger une nouvelle plate-forme d'analyse de Big Data nommée RAVEN (Reporting, Analytics, Visualization, Experimental, Networks), qui fonctionnerait de concert avec l'entrepôt de données existant. L'objectif était de fournir aux analyses de données de JustGiving les outils nécessaires pour réaliser des expériences sur des sources de données de parcours de navigation, de fichier journal, transactionnelles et externes. L'équipe d'analyse souhaitait également exécuter des rapports plus classiques et examiner des indicateurs clés de performance (ICP) sans avoir à répéter constamment différents processus d'extraction, de transformation et de chargement (ETL).

JustGiving a choisi Amazon Web Services pour ses environnements de test et de production, en mettant l'accent sur l'amélioration des capacités d'analyse. Comme l'explique Atkinson, ce choix est une question de confiance : « 24 millions d'utilisateurs et 13 000 causes nous font confiance pour récolter des fonds ». « Nous recherchions une solution de services de cloud que nous pourrions intégrer à ce réseau de confiance. AWS était la seule entreprise à même de répondre à ce besoin ».

JustGiving a réorganisé son logiciel en plusieurs microservices déployés à l'aide de pipelines de livraison continue automatisés, en utilisant différents services AWS pour éviter au personnel d'avoir à soutenir et maintenir l'infrastructure de JustGiving et pour tirer parti de l'évolutivité et de la résistance de la plate-forme AWS. Ces services comprennent Amazon Elastic Compute Cloud (Amazon EC2), Auto Scaling, Elastic Load Balancing, Amazon ElastiCache, Amazon Relational Database Service (Amazon RDS) et Amazon Simple Storage Service (Amazon S3).

L'organisation utilise également AWS pour sa plate-forme d'analyse RAVEN et fait appel à plusieurs services AWS, notamment Amazon Redshift, Amazon Elastic MapReduce (Amazon EMR), Amazon Kinesis, AWS Lambda, Amazon DynamoDB, Amazon Simple Queue Service (Amazon SQS) et Amazon Simple Notification Service (Amazon SNS).

« De nombreux fournisseurs proposent une interface graphique pour l'intégration du Big Data, mais nous avons découvert qu'en réalité, il était plus efficace de charger et d'interroger les données avec le code SQL réel déclenché ponctuellement pour nos expériences en science des données ou automatisé pour les tableaux de bord et rapports ICP », explique Freeman. « Grâce à AWS, nous avons créé un pipeline ETL basé sur les événements avec des systèmes qui communiquent via un processus de messagerie hébergé robuste basé sur SNS et SQS. Nous avons également examiné les frameworks de flux de travail open source existants, mais ceux-ci nécessitent des machines dédiées qui doivent être configurées et prises en charge. Il aurait été trop compliqué de les personnaliser en fonction de nos cas d'utilisation ».

JustGiving-AWS-diagram-overview-091815

Architecture de la plate-forme RAVEN (Reporting, Analytics, Visualization, Experimental, Networks) de JustGiving sur AWS.

Freeman fait l'éloge de la fonctionnalité de la plate-forme AWS. « AWS proposait exactement ce dont nous avions besoin pour réaliser un prototypage rapide, des expériences en science des données, des calculs de métriques et des rapports sur notre plate-forme d'analyse de Big Data », explique-t-il.

Concernant l'équipe d'analyse de JustGiving, selon Freeman, Amazon Redshift s'est révélé être un produit efficace pour ce qui est de l'exploration de données et l'interrogation de grands ensembles de données structurés comprenant des milliards de points de données sur différents clusters. « Nous avons créé une suite d'outils pour l'exécution de tâches ETL basées sur des événements et l'intégration à des API internes et externes », explique-t-il. « Les requêtes qui prenaient 30 minutes dans SQL Server sont désormais exécutées en quelques secondes seulement. Nous pouvons exécuter des requêtes plus complexes qu'il nous était impossible de réaliser auparavant, et nous avons découvert que les requêtes graphiques les plus simples, telles que la relation de l'association caritative et des événements avec les utilisateurs, peuvent être exécutées plus rapidement qu'avec une base de données orientée graphe dédiée. Et pour la première fois, nous pouvons proposer aux utilisateurs professionnels une vue combinée des données transactionnelles et non transactionnelles, telles que les visites de pages, les dons et les entonnoirs de partage. Redshift est plus rapide, plus facile à utiliser et fournit des outils plus utiles que ce dont nous disposions pour soutenir notre environnement de production. »

JustGiving utilise AWS EMR pour exécuter d'importants processus ETL et d'analyse automatisés sur des téraoctets de données sans avoir à gérer la configuration et la maintenance de l'infrastructure de cluster. « Avant d'utiliser Amazon EMR, nos spécialistes des données se limitaient à des algorithmes exécutables sur une seule machine et pouvaient uniquement travailler sur des ensembles d'échantillons de données. Les ensembles plus volumineux nécessitaient des jours de calcul », explique Freeman. « A présent, étant donné qu'Amazon EMR exécute des clusters Hadoop ou Spark, ils peuvent facilement lancer des clusters avec des centaines d'instances Amazon EC2 sur des algorithmes de traitement de graphes, de traitement automatique du langage naturel, d'apprentissage machine et d'analyse de streaming, aux capacités de calcul évolutives. Par exemple, nous utilisons cette méthode lorsque nous recommandons des projets de financement participatif, en tâchant de comprendre les réseaux des utilisateurs, en automatisant le balisage des associations caritatives et en améliorant l'engagement des utilisateurs. »

L'équipe d'analyse utilise Amazon Kinesis, AWS Lambda et Amazon DynamoDB en tandem pour exécuter des tâches qu'il était auparavant difficile de mettre en œuvre. Par exemple, les événements de parcours de navigation sur un site Web sont écrits en temps quasi réel sur Amazon Kinesis. Une fonction AWS Lambda exécute le code en réponse à des événements, puis traite et écrit ces événements sur Amazon DynamoDB. De plus, Lambda est utilisé pour les tests, la surveillance des événements et la notification active, tandis que DynamoDB est utilisé pour stocker de manière permanente les données des événements Kinesis et en tant qu'outil de surveillance et de visualisation.

Atkinson explique que la nouvelle plate-forme d'analyse fait partie d'une nouvelle approche informatique qui présente de nombreux avantages pour JustGiving. « Avant d'utiliser AWS, JustGiving prenait ses décisions en s'appuyant sur une seule source de données de haut niveau », précise-t-il. « A présent, grâce aux nouveaux outils AWS, nous pouvons extraire des données beaucoup plus granulaires de nombreuses sources basées sur des millions de dons et des milliards d'événements, puis utiliser ces informations pour proposer une meilleure plate-forme à nos visiteurs. »

L'évolutivité et la rentabilité de la plate-forme AWS, en particulier le modèle de tarification à l'utilisation, sont également essentielles pour aider l'organisation à poursuivre sa croissance. « Nous avons toujours aligné nos coûts sur les cycles opérationnels et sur la création de valeur », indique Atkinson. « Auparavant, lorsque des fonds importants étaient réservés à du matériel, nous investissions de l'argent et cet actif restait inexploité, souvent à de faibles taux d'utilisation. Grâce à AWS, nous avons automatisé notre pipeline et, avec notre nouvelle plate-forme d'analyse, nous investissons uniquement dans des outils et données qui produisent des informations opérationnelles, ajoutent de la valeur et soutiennent les décisions en temps réel pour tous les utilisateurs visitant JustGiving. »

Pour découvrir comment AWS peut vous aider à traiter et analyser le Big Data, consultez notre page consacrée au Big Data à l'adresse : http://aws.amazon.com/big-data/.