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) で、直線的にスケーラブルな技術アーキテクチャを使用して、イベントレベルのデータを収集、保存しています。同社はさまざまなデータコレクターを使用して、Amazon EC2 の複数のインスタンスにわたるデータ収集を管理しています。1 つは AWS Elastic Beanstalk を使用して Apache Tomcat で実行するもの、もう 1 つはAmazon Elastic Compute Cloud (Amazon EC2) で Elastic Load BalancingAuto Scalingを使用して実行するものです。また、同社は 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 氏は語っています。下の図 1 は、Amazon Kinesis を活用した新しい Snowplow のデータパイプラインを示しています。

Snowplow.Arch

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

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

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

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

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

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