JustGiving ist eine der weltweit größten sozialen Plattformen, auf der Spenden für wohltätige Zwecke gesammelt werden. Das Unternehmen hat seinen Sitz in London und 24 Mio. registrierte Nutzer, die 3,5 Mrd. Dollar für mehr als 13 000 verschiedene Projekte gesammelt haben. Dazu gehören die Alzheimerforschung, die Nothilfe nach dem Erdbeben in Haiti und Initiativen gegen Menschenhandel. Das 2001 gegründete Unternehmen berechnet bei Spenden eine Transaktionsgebühr von fünf Prozent. Diese Einnahmen werden wiederum in die Entwicklung und Erneuerung der Plattform investiert.

JustGiving erstellt eine neue Big-Data-Plattform in der AWS-Cloud (3:35)

thumb_justgiving

Das Wachstum von JustGiving wurde durch die Integration mit sozialen Netzwerken, die Unterstützung von Spenden auf Mobilgeräten, soziale Feeds und die Einführung von Kampagnen und Crowdfunding-Produkten beschleunigt. All diese Faktoren ermöglichten es den Nutzern von JustGiving, ihre Aktionen zum Sammeln von Spenden auszuweiten, mehr Menschen zu erreichen und mehr Geld für den guten Zweck zu sammeln. Die Technologie- und Betriebsteams von JustGiving wurden durch dieses Wachstum allerdings auch vor Herausforderungen gestellt. Der Mission des Unternehmens entsprechend möchten sie über alle Plattformen hinweg einen ansprechenden und benutzerfreundlichen Zugang anbieten und dabei direkte Kosten und Betriebsausgaben so gering wie möglich halten.

"Wir haben in den letzten Jahren beobachtet, dass die Menschen ihre Spendensammelaktionen zunehmend über eine Vielzahl von Netzwerken und Kanälen teilen", sagt Richard Atkinson, IT-Chef bei JustGiving. "Viele virale Phänomene in den sozialen Netzwerken sind plötzlich aus dem Nichts da, was dazu führt, dass Spitzenbelastungen im Datenverkehr noch stärker ausfallen. Wir hatten eine Colocation-Umgebung für unser Rechenzentrum, in der die Skalierung schwierig war. Dies lag an zusätzlichen Kosten und einem Aufwand, der kostspielig und unpraktisch gewesen wäre."

"Der dramatische Anstieg der Datenmenge überforderte auch die internen Analyseprozesse des Unternehmens", sagt Dr. Richard Freeman, Lösungsarchitekt und Datenexperte bei JustGiving. "Unser Team und unsere Leistungsfähigkeit im Bereich Analyse wuchsen so schnell an, dass unsere Microsoft SQL Server-Datenbank das neue Datenvolumen, die Geschwindigkeit und die Komplexität der Abfragen, die von unseren Datenexperten und -analysten gefordert wurden, nicht mehr verarbeiten konnte", so Freeman.

Um diese Probleme zu lösen, entschloss sich das Unternehmen, für den allgemeinen Betrieb zur Cloud zu wechseln und eine neue Plattform zur Analyse von Big Data, genannt RAVEN (Reporting, Analytics, Visualization, Experimental, Networks – Berichte, Analysen, Visualisierung, Experimente, Netzwerke), zu hosten. Diese würde neben der vorhandenen Datenbank eingesetzt werden. Auf diese Weise sollten den Datenanalysten von JustGiving Tools bereitgestellt werden, um Experimente zu Clickstream-, Protokoll- und Transaktionsdatenquellen sowie zu externen Datenquellen durchzuführen. Das Analystenteam sollte zudem traditionelle Berichte erstellen und wichtige Leistungsindikatoren (key performance indicators, KPIs) untersuchen können, ohne dabei kontinuierlich verschiedene ETL-Prozesse (extract, transform and load; extrahieren, transformieren, laden) durchführen zu müssen.

JustGiving wählte Amazon Web Services für seine Test- und Produktionsumgebungen und legte besonderen Wert auf eine Verbesserung der Analysefähigkeiten. Laut Atkinson gründete sich die Wahl letztendlich auf Vertrauen: "Wir sind für 24 Mio. Nutzer eine Marke, der sie vertrauen, ebenso für 13 000 Projekte, die über uns Spenden sammeln", sagt er. "Wir suchten eine Cloud-Services-Lösung, die wir in dieses auf Vertrauen basierende Netzwerk einbringen konnten. Dafür kam wirklich nur AWS in Frage."

JustGiving entwickelte seine Software in Form von Microservices neu: Diese werden über automatisierte, fortlaufende Delivery Pipelines bereitgestellt, wobei ein breites Spektrum von AWS-Services genutzt wird. So müssen die Mitarbeiter von JustGiving seltener Support für die Infrastruktur leisten oder diese warten. Auch die Skalierbarkeit und Belastbarkeit der AWS-Plattform wird auf diese Art wirksam genutzt. Zu diesen Services gehören Amazon Elastic Compute Cloud (Amazon EC2), Auto Scaling, Elastic Load Balancing, Amazon ElastiCache, Amazon Relational Database Service (Amazon RDS) und Amazon Simple Storage Service (Amazon S3).

Daneben verwendet das Unternehmen AWS für seine Analyseplattform RAVEN, wobei mehrere AWS-Services zum Einsatz kommen. Dazu gehören Amazon Redshift, Amazon Elastic MapReduce (Amazon EMR), Amazon Kinesis, AWS Lambda, Amazon DynamoDB, Amazon Simple Queue Service (Amazon SQS) und Amazon Simple Notification Service (Amazon SNS).

"Viele Anbieter schlagen für die Big-Data-Integration eine grafische Oberfläche vor. Wir haben allerdings festgestellt, dass es in der Praxis effizienter ist, die Daten mit echtem SQL-Code zu laden und abzufragen. Dieser Code wird ad hoc für unsere Datenexperimente ausgelöst oder für KPI-Dashboards und Berichte automatisiert", so Freeman. "Mithilfe von AWS konnten wir eine ereignisgesteuerte ETL-Pipeline entwickeln. Die Systeme kommunizieren dabei über einen robusten, gehosteten SNS- und SQS-Messaging-Prozess. Wir haben auch bestehende Open-Source-Frameworks für den Workflow in Betracht gezogen, diese erfordern allerdings dedizierte Rechner, die eingerichtet werden müssen und für die Support geleistet werden muss. Sie waren zu komplex, um sie für unsere Anwendungsfälle anzupassen."

JustGiving-AWS-diagram-overview-091815

JustGivings Plattformarchitektur RAVEN (Reporting, Analytics, Visualization, Experimental, Networks) in AWS.

Freeman lobt die Funktionalität, welche die AWS-Plattform bietet. "AWS bot genau das, was wir für die schnelle Prototypenerstellung, Datenexperimente, Metrikenberechnungen und für das Erstellen von Berichten auf unserer Big-Data-Analyseplattform benötigten", sagt er.

Laut Freeman hat sich Amazon Redshift für das Analyseteam von JustGiving als effizientes Produkt zur Datenexploration herausgestellt sowie zur Abfrage umfangreicher, strukturierter Datensätze, die in verschiedenen Clustern Milliarden von Datenpunkten enthalten. "Wir haben ein ganzes Toolpaket erstellt, um ereignisgesteuerte ETL-Jobs sowie die Integration mit internen und externen APIs durchzuführen", sagt er. "Abfragen, die in SQL Server 30 Minuten dauerten, benötigen jetzt nur noch wenige Sekunden. Wir können komplexere Abfragen ausführen, die zuvor unmöglich gewesen wären. Wir haben sogar festgestellt, dass einfachere Graphabfragen, etwa für die Beziehungen zwischen Wohltätigkeit bzw. Ereignissen und den Nutzern, schneller ausgeführt werden können als mit einer dezidierten Graphendatenbank. Außerdem können wir unseren gewerblichen Nutzern zum erstem Mal eine kombinierte Ansicht aus Transaktionsdaten und anderen Daten bieten, wie Seitenbesuche, Spenden und Verteilungstrichter. Redshift ist schneller und einfacher zu nutzen und es bietet nützlichere Tools, als wir sie vorher zur Unterstützung unserer Produktionsumgebung hatten."

JustGiving nutzt AWS EMR, um an einer Datenmenge mit mehreren Terabyte umfangreiche, automatisierte ETL- und Analyseprozesse durchzuführen, ohne dabei die Einrichtung und Wartung einer Clusterinfrastruktur organisieren zu müssen. "Vor Amazon EMR mussten sich unsere Datenexperten auf Algorithmen beschränken, die auf einem einzigen Computer ausgeführt werden können, und sie konnten nur mit Beispieldatensätzen arbeiten. Für alles, was größer war, betrug die Rechenzeit Tage", so Freeman. "Mit Amazon EMR und der Ausführung von Hadoop- oder Spark-Clustern können sie jetzt leicht Cluster mit hunderten Amazon EC2-Instanzen starten. So können sie Berechnungen in den Bereichen Graphenverarbeitung, maschinelle Sprachverarbeitung, maschinelles Lernen und Streaminganalyse durchführen. Wir setzen dies beispielsweise ein, um Crowdfunding-Projekte empfehlen zu können, Nutzernetzwerke zu verstehen, das Tagging von Hilfsorganisationen zu automatisieren und die Nutzerbeteiligung zu fördern."

Das Analystenteam verwendet Amazon Kinesis, AWS Lambda und Amazon DynamoDB in Kombination, um Aufgaben durchzuführen, deren Implementation in der Vergangenheit zu komplex war. Website-Clickstream-Ereignisse werden beispielsweise in Echtzeit in Amazon Kinesis gespeichert. Eine AWS Lambda-Funktion führt Code als Reaktion auf Ereignisse aus, verarbeitet diese und speichert sie in Amazon DynamoDB. Außerdem wird Lambda für Tests, das Überwachen von Ereignissen und aktive Benachrichtigungen verwendet. DynamoDB dient dagegen als beständiger Datenspeicher für Kinesis-Ereignisse und als Visualisierungsüberwachungstool.

Atkinson merkt an, dass die neue Analyseplattform Teil einer neuen Herangehensweise an die IT ist, die JustGiving zugutekommt. "Vor der Nutzung von AWS basierten Entscheidungen bei JustGiving auf einer einzelnen High-Level-Datenquelle", sagt er. "Mit den neuen AWS-Tools können wir jetzt viel mehr granulare Daten aus vielen Quellen extrahieren, die auf Millionen Spenden und Milliarden Ereignissen beruhen. Diese Informationen können wir dann verwenden, um unseren Besuchern eine bessere Plattform zu bieten."

Zudem tragen die Skalierbarkeit und Kosteneffizienz der AWS-Plattform, insbesondere das Pay-as-you-go-Geschäftsmodell, entscheidend dazu bei, das Unternehmen bei seinem weiteren Wachstum zu unterstützen. "Wir haben unsere Kosten immer Betriebszyklen und der Schaffung von Wert zugeordnet", so Atkinson. "Früher, als wir viel Geld in Hardware investierten, gaben wir Geld aus und die Komponente war dann da und wurde oft wenig eingesetzt. Mithilfe von AWS konnten wir unsere Pipeline automatisieren und durch unsere neue Analyseplattform geben wir nur Geld für Tools und Daten aus, die uns Erkenntnisse liefern, Wert schaffen, und in Echtzeit Entscheidungen unterstützen, die alle Nutzer von JustGiving betreffen."

Um mehr darüber zu erfahren, wie AWS Ihnen helfen kann, Big Data zu speichern und zu verarbeiten, besuchen Sie unsere Detailseite zu Big Data: http://aws.amazon.com/big-data/.