JustGiving は、寄付を募るオンラインソーシャルプラットフォームとして世界最大規模を誇ります。ロンドンを拠点とするこの組織では 2,400 万人の登録ユーザーが、アルツハイマーの研究、ハイチ地震の救済、人身売買を廃止する取り組みなど、13,000 件を超える活動に対し 35 億 USD の資金提供をサポートしています。2001 年設立された JustGiving では、寄付のうち 5 パーセントを手数料として徴収し、そのうちの収益がプラットフォームの開発とイノベーションに再投資されています。

JustGiving、AWS クラウドで新しいビッグデータプラットフォームを作成 (3:35)

thumb_justgiving

JustGiving の成長は、ソーシャルネットワークとの統合、モバイルでの寄付、ソーシャルフィード、キャンペーンやクラウドファンディングサービスの立ち上げによって後押しされてきました。このすべてが、ユーザーが資金調達を拡大し、より多くの人とつながり、慈善目的でより多くの資金を集めることに貢献しています。組織の成長とともに技術チームと運営チームにはいくつかの課題も生じました。そこから、あらゆるプラットフォームで魅力的かつユーザーフレンドリーなサービスを提供しながらコストとオーバーヘッドをできる限り低く抑えるという企業のミッションが生まれました。

「ここ数年を見ると、さまざまなネットワークやチャネルを通して資金集めの活動に参加している人たちがますます増えています」と JustGiving の最高情報責任者である Richard Atkinson 氏は言います。「どこからともなく数多くの口コミで広がる社会的現象が生じ、結果としてトラフィックのスパイクもさらに激しさを増しています。コロケーションによるデータセンター環境を使用していましたが、コストと複雑さが増してスケーリングが難しくなっていたので、使い続けたら費用の負担が大きく、実用性に欠けていたでしょうね」

データの急増はまた、組織内の内部分析プロセスにも悪影響を与えていたと JustGiving のソリューションアーキテクト兼データサイエンティストである Richard Freeman 博士は語っています。「分析チームとその処理能力を急速に増強したのですが、自分たちの Microsoft SQL Server によるデータウェアハウスではデータサイエンティストやアナリストが必要とする新しいデータボリューム、速度、およびクエリの複雑さに対応しきれませんでした」と Freeman 博士は言います。

このような問題を解決するため、JustGiving では汎用業務についてはクラウドに移行するとともに、既存のデータウェアハウスと併用する RAVEN (Reporting、Analytics、Visualization、Experimental、Networks) という新しいビッグデータ分析プラットフォームをホストすることを決定しました。その目的は、クリックストリーム、ログ、トランザクション、外部のデータソースについてのテストを実行するための JustGiving のデータ分析ツールに用意することでした。分析チームはまた、異なる抽出、変換、ロード (ETL) プロセスを継続的に繰り返さずに、従来のレポート作成を増やして主要業績評価指標 (KPI) を調べたいとも考えていました。

JustGiving では、特に分析機能の強化に重点を置いて、テスト環境と本番環境にアマゾン ウェブ サービスを使用しています。Atkinson 氏によれば、選択は信頼の問題でした。「当社のブランドは信頼されており、2,400 万人のユーザーが、13,000 件のプロジェクトに資金を提供しています」と同氏は言います。「そこで、その信頼されるネットワークで利用できるクラウドサービスのソリューションを探していました。AWS はまさにぴったりのサービスでした」と語っています。

JustGiving では、ソフトウェアを マイクロサービスに リエンジニアリングし、自動化された継続的デリバリーパイプラインによってデプロイするようにしました。AWS のさまざまなサービスを使用して JustGiving のスタッフによるインフラストラクチャのサポートと保守の負担を減らし、AWS プラットフォームの持つスケーラビリティと耐障害性を活用しています。利用しているサービスには、Amazon Elastic Compute Cloud (Amazon EC2)、Auto ScalingElastic Load BalancingAmazon ElastiCacheAmazon Relational Database Service (Amazon RDS)、Amazon Simple Storage Service (Amazon S3) などがあります。

JustGiving は RAVEN 分析プラットフォームにも AWS を使用し、Amazon RedshiftAmazon Elastic MapReduce (Amazon EMR)、Amazon KinesisAWS LambdaAmazon DynamoDBAmazon Simple Queue Service (Amazon SQS)、Amazon Simple Notification Service (Amazon SNS) などの AWS のサービスを活用しています。

「ベンダーの多くが、ビッグデータ統合にグラフィカルインターフェイスを提案してきました。でも、現実問題として、データサイエンスの実験ではアドホックベースでトリガーされる SQL コードや、KPI ダッシュボードやレポート向けに自動化された SQL コードを使って、データを読み込み、クエリするほうが効率的だったのです」と Freeman 博士は言います。「AWS を使用して、堅牢なホスト型の SNS や SQS ベースのメッセージングプロセスを介して通信するシステムとのイベントドリブン型の ETL パイプラインを構築しました。 既存のオープンソースワークフローのフレームワークについても調べてみたのですが、これにはセットアップとサポートが欠かせない専用マシンが必要です。私たちのユースケース向けにカスタマイズするには複雑すぎるものだったのです」

JustGiving-AWS-diagram-overview-091815

AWS における JustGiving の RAVEN (Reporting、Analytics、Visualization、Experimental、Networks) プラットフォームアーキテクチャ。

Freeman 博士は AWS プラットフォームによって実現した機能を高く評価しています。「私たちがまさに必要としていたものが、AWS には提供されていました。ビッグデータ分析プラットフォームのプロトタイプ作成、 データサイエンスの 実験、メトリクスの計算、レポートの実行がすばやく行えます」と語っています。

Freeman 博士によれば、JustGiving の分析チームにとって、データ探索と、複数のクラスターに存在する幾十億ものデータポイントを有する大規模な構造化データセットのクエリを実行するのに、Amazon Redshift が効率的であることがわかったということです。「イベントドリブン型の ETL ジョブの実行と、内部および外部の API との統合のために、完全なツールスイートを構築しました」と同氏は言います。「SQL Server では 30 分かかっていたクエリを、数秒で実行できるようになりました。以前なら不可能だった複雑なクエリを実行できるようになりましたし、チャリティやイベントとユーザーの関係のような簡単なグラフ型クエリも、グラフ専用のデータベースよりも高速に実行できることがわかりました。また、トランザクションデータと非トランザクションデータ (ベージ閲覧、寄付、共有ファネルなど) の結合ビューをビジネスユーザーに初めて提供できるようになりました。Redshift にはこれまでよりも高速で、使いやすく、便利なツールが用意されているので、本番環境に役立ちますね」

JustGiving では、AWS EMR を使用することで、クラスターインフラストラクチャ設定の管理や保守にわずらわされることなく、テラバイト単位のデータに対して自動化された大規模な ETL プロセスや分析プロセスを実行しています。「Amazon EMR を使用するまで、データサイエンティストは 1 台のマシンで実行可能なアルゴリズムに縛られ、しかもそれがサンプルデータセットでしか動作しないこともありました。それ以上の規模になると、演算処理に数日かかったものです」と Freeman 博士は言います。「今では、Hadoop や Spark のクラスターを実行する Amazon EMR を使うことで、数百もの Amazon EC2 インスタンスからなるクラスターを簡単に作成でき、スケーラブルなグラフ処理、自然言語処理、機械学習やストリーミング分析のアルゴリズムを実行できるようになりました。例えば、これはクラウドファンディングプロジェクトの推奨、ユーザーネットワークの把握、チャリティのタグ付けの自動化、ユーザーエンゲージメントの拡大といった分野に応用されています」

分析チームでは、Amazon Kinesis、AWS Lambda、Amazon DynamoDB を組み合わせて、以前には実装が複雑だったタスクを実行させています。例えば、ウェブサイトのクリックストリームイベントは、ほぼリアルタイムで Amazon Kinesis に書き込まれます。AWS Lambda 関数により、イベントに応答してコードが実行されます。その処理が終わると、結果が Amazon DynamoDB に書き込まれます。さらに、Lambda はテスト、イベントモニタリング、アクティブ通知に使用されていますし、DynamoDB は Kinesis イベントの永続的データストアや可視化モニタリングツールとして使用されています。

Atkinson 氏は、新しい分析プラットフォームも、IT への新しいアプローチの一部として JustGiving に役立っていると述べています。「AWS を使用するまで、JustGiving では単一の高レベルデータソースに基づいた意思決定がなされていました」と同氏は言います。「今では、新しい AWS ツールを使用して、何百万件もの寄付と数十億件のイベントに基づき、非常に詳細なデータを抽出し、その情報を使用して訪問者によりよいプラットフォームを提供することができます」

また、AWS プラットフォームのスケーラビリティとコスト効率性、特に従量課金制のビジネスモデルは、組織が成長を続けることをサポートする重要なポイントです。「私たちは、いつでもコストを運営サイクルや価値の創出と関連付けてきました」と Atkinson 氏は言います。「以前、ハードウェアに高額の予算を取っていたころはお金をかけましたよ。そのアセットはあることはありますが、利用率は低いことが多かったですね。AWS でパイプラインを自動化した現在は、新しい分析プラットフォームを使って、JustGiving にアクセルするすべてのユーザーに実際にインサイトを生み出し、付加価値を提供し、意思決定をリアルタイムでサポートするツールやデータのみに費用をかけています」

AWS がビッグデータの処理と分析にどのように役立つかの詳細については、ビッグデータの詳細ページ (http://aws.amazon.com/big-data/) を参照してください。