Snowplow Analytics は、イベント分析プラットフォームを提供しています。英国に拠点を置く同社は、顧客がウェブやモバイルなど、複数のプラットフォームから、詳細なデータ、顧客レベルデータ、イベントレベルデータを収集し、そのデータを構造化されたデータストアにロードして、高度なデータ分析ができるようにサポートしています。小売業者、メディア企業、ゲーム会社などを含む Snowplow の顧客は、Looker や Tableau などのビジネスインテリジェンスツール、R や pandas などの統計ツールやモデリングツールを使用して、データを活用、視覚化しています。Snowplow はオープンソースプラットフォームです。企業は Snowplow をダウンロードして自社の AWS アカウントにセットアップし、自社のイベントデータを完全に所有、管理できます。

Snowplow は企業が幅広いデータ分析を実行できるように構築されています。ゲーム会社などでは、毎日数十億件のイベントが生成される場合がありますが、同社はこのように膨大なデータをサポートしています。会社が 2012 年に設立されたとき、Snowplow Analytics はバッチベースの処理システムで、堅牢ではありましたが、継続的な、リアルタイムのイベント分析はできませんでした。創業者の Alexander Dean 氏と Yali Sassoon 氏は、顧客が広告のターゲティングやお勧め製品を表示する検索エンジンなどと同じデータを使用してオペレーティングシステムを起動できるようにしたいと考えていました。「当時、リアルタイム処理で Amazon Elastic MapReduce (Amazon EMR) と同等のサービスはありませんでした」と Dean 氏は語っています。「私たちは Amazon EMR が非常に気に入っています。とても簡単に稼働できますから。Amazon Redshift では、面白く、すばらしいことをオフラインでたくさん解明できますが、私たちは数秒以内に、リアルタイムで対応できる洞察が得られるツールが欲しかったのです」

同社のバッチベースのシステムは、一晩で結果を返すことができましたが、Snowplow 創業者の Alexander Dean 氏と Yali Sassoon 氏は、データをすぐに意思決定に利用できる方法を探していたのです。「意思決定のループとは、顧客の行動に基づくモデルです」と Dean 氏は説明しています。「私たちの目標は、ユーザーが一定の行動をしている間に、Amazon Redshift でオフラインデータにツールを使用して構築した顧客の行動モデルを適用することでした。たとえば、車を販売しているサイトで、試乗を登録しようとしたユーザーがフォームの入力を完了する前にサイトを離れたとします。この行動を特定し、すぐにアクションを起こす方法が必要だったのです」

2013 年後半に Amazon Kinesis が発表されるまで、Snowplow が必要とする拡張性、使いやすさ、費用対効果を兼ね備えたソフトウェアはありませんでした。

Snowplow はアマゾン ウェブ サービス (AWS) でリニアにスケーラブルな技術アーキテクチャを使用して、イベントレベルのデータを収集、保存しています。同社は、Apache Tomcat で実行されているデータコレクタを AWS Elastic Beanstalk で使用し、Amazon Elastic Compute Cloud (Amazon EC2) で実行されているデータコレクタを Elastic Load BalancingAuto Scaling で使用するなど、さまざまなデータコレクタによって、Amazon EC2 の複数インスタンスで、データ収集を管理しています。また、同社は Amazon Simple Storage Service (Amazon S3) をデータストアとして使用し、Amazon Elastic MapReduce (Amazon EMR) の Scalding で、データの検証、クリーニング、強化を行っています。Snowplow は、分析をサポートするデータベースとして、Amazon Redshift を使用しています。

2014 年には、クライアントシステムからのデータの取得と保存のため、Amazon Kinesis ストリームをサービスに追加しました。それ以降、データは Redshift に少しずつ注入され、継続的なリアルタイム処理が行われるようになっています。Amazon EC2 は、Kinesis によるデータ収集に使用されています。「Amazon Kinesis をサービスに追加したことで、ロケット燃料を追加したような効果がありました」と Dean 氏は語っています。「Amazon Kinesis のおかげで、当社のユーザーは昨日の最新データではなく、2 分前の最新データを入手できるようになったのです」と Dean 氏は語っています。Snowplow Analytics は、現在、ベータ版で Amazon Kinesis を実行していますが、今年後半には、実稼働に移行する予定です。

また、Snowplow のユーザーは、サードパーティツールからデータの入力、クエリ、分析が可能です。「AWS が提供する構成単位は大変シンプルですが、堅牢でカスタマイズされたインフラストラクチャの作成に活用できます」と Dean 氏は語っています。Amazon Kinesis を活用した新しい Snowplow のデータパイプラインは、下の図 1 に示されています。

Snowplow.Arch

図 1. Snowplow のデータパイプライン

Amazon Kinesis を使用することで、Snowplow はリアルタイムのフィードバックループを顧客に提供できるようになりました。分析時間は、1 日あたり数億件のイベントを取り込む時期であっても、数時間から数秒に短縮されています。「Amazon Kinesis を使用すれば、実際にユーザーが行動に表している間に、行動パターンを特定できます」と Dean 氏は語っています。「ユーザーが試乗の登録をしていても、オンラインゲームをしていても、すぐにインセンティブを提供して行動を変えるようにユーザーを奨励して特定の事業目標を達成できます。AWS を使用してデータをすばやく、大規模に取り込めるようになったことで、当社のお客様自身の営業活動にも役立っています」

もう 1 つの利点は使いやすさです。「Kinesis のおかげで、サービスをすばやく、簡単、大規模に開始できました」と Dean 氏は語っています。「すべて AWS で構築したため、AWS の進化に伴って、Snowplow プラットフォームも常に進化していきます。AWS は Snowplow をホストするのに最高のプラットフォームですね」

結果として、Snowplow の開発者コミュニティは拡大しました。オープンソースプラットフォームである Snowplow の進化は、活発なコミュニティに支えられています。「Amazon Kinesis を使用するようになって、プロジェクトに大きく貢献してくれる新しいユーザーが現れ、優れたフィードバックも多数寄せられています」と Dean 氏は語っています。

Amazon Kinesis を使用することで、Snowplow はユーザー基盤を拡大し、フィードバックループのすばやい活用が不可欠な、デジタル広告などの新たな市場にも参入できるようになりました。「Amazon Kinesis によって、Snowplow で対応可能な範囲が広がり、新たな市場とユーザーを獲得できました」と Dean 氏は語っています。

AWS がビッグデータに関してどのように役立つかについては、ビッグデータ詳細ページ http://aws.amazon.com/jp/big-data/ をご覧ください。