So net

921 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
921
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

So net

  1. 1. クラウド連携による BI 構築事例www.so-net.ne.jpApril 6, 2011 ソネットエンタテインメント株式会社 サービス開発部 安田 崇浩 So-net Entertainment Corporation Service Development Department Takahiro YASUDA Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  2. 2. 本日の発表の概要• 広告配信の事業を行っています• この事業にとって BI(≒データ分析による意思決定) は重要です• BIシステムの機能は、蓄積、分析、閲覧です• 蓄積に Amazon Simple Storage Service (S3) を 分析に Amazon Elastic MapReduce を 閲覧に Salesforce Force.com のクラウドサービスを組み合わせて システムを開発しました 2 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  3. 3. 自己紹介• 氏名: 安田 崇浩• 所属: ソネットエンタテインメント株式会社 サービス開発部• 最近の開発 • 2006-2009 • ブログ解析 のシステムを開発 • サービス名: 「Blog Keyword Visualizer」「近未来予報ツギクル」「バズク ル」 • Amazon Web Services EC2 を活用 • 2010-2011 • 広告配信事業 の分析システムを開発 • サービス名: アドネットワーク 「TRUST CLICK」 • Amazon Web Services Elastic MapReduce, S3 Salesforce Force.com を活用 3 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  4. 4. 会社紹介 ■ 社名 ソネットエンタテインメント株式会社 ■ 上場証券取引所 東証1部 (証券コード:3789) ■ 設立 1995年11月 ■ サービス開始 1996年 1月 ■ 株主 ソニーグループ 58.2% (2010年9月末現在) その他株主 41.8% ■ 資本金 79億65百万円 (2010年9月末現在) ■ 従業員数 445名 (単体 2010年12月末現在) 1,199名 (連結 2010年12月末現在) 4 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  5. 5. 会社紹介 会社名 ソネット・メディア・ネットワークス株式会社 (英文表記: So-net Media Networks Corporation) 代表取締役 穂谷野 智 設立 平成12年3月21日 所在地 〒141-6009 東京都品川区大崎2丁目1番1号 ThinkPark Tower tel. 03(5435)7930(代表) fax. 03(5435)7932 会社HP http://www.so-netmedia.jp/ 事業内容 インターネットマーケティング事業 株主 ソネットエンタテインメント株式会社 持株比率 100% 5 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  6. 6. 広告配信事業のアドネットワークについて• アドネットワークとは、複数のメディアサイトをネットワーク化して広告配信するサービスです。• 通常のWEB広告(純広告)ではメディアサイトが特定される為、配信された広告は限られたユーザーにしか露出されません。• 一方でアドネットワークでは多くのユーザーに対して広告を配信することが可能です。 AD AD AD AD AD AD AD アド AD 入稿 サーバ AD AD AD 広告主様 6 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  7. 7. 広告配信事業のデータ分析の重要性• 広告を どのメディアサイトに、どのバナーを、どのくらいの量で、どの時 間帯に、どのようなユーザーに配信するか の設定が重要です• この設定によって アドネットワークのパフォーマンス(クリック率、コン バージョン率)が変化します• 広告の配信ログを分析し、この設定を決めています AD AD 時間帯 AD AD AD サイト AD AD AD 入稿 フリークエンシー 配信 AD クリエイティブ AD AD 広告主様 広告配信設定 7 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  8. 8. データ分析の要件• 広告配信のデータ分析システムの要件は大きく3つ• 蓄積 • 広告の配信ログを最低2年分を蓄積したい• 分析 • 蓄積した広告配信ログに対して、集計、抽出など様々な分析を行い たい• 閲覧 • 広告配信の設定に役立てるために、分析結果をWebブラウザで閲覧 したい 8 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  9. 9. 蓄積9 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  10. 10. 「蓄積」するデータの特徴• 広告配信ログの特徴 • メディアサイトの ページビュー (PV) に比例して増加 • メディアサイトの数 : 約6,000• 広告配信ログのサイズ • 1日間のログのサイズ ( gzip 圧縮済み) • 10 GByte / 日 • 2年間のログのサイズ • 10 GByte x 365日 x 2年間 = 7.2 TByte • ログのサイズは、増加傾向 10 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  11. 11. 「蓄積」の要件と解決策• 要件 • 2年間の広告配信ログ 7.2 TByte を保存したい• クラウド利用前 • 10 TByteクラスの容量のストレージ製品が必要 • 初期投資: 数百万円~ • 運用費: 6U 以上のラックスペースによる運用が必要(数万円~) • コストと効果のバランスが合わずストレージ製品は未導入 • 既存システムではログの一部の保存のみ実施 • 分析に制限が発生• クラウド利用後 • 広告配信ログの保存先としてAmazon Simple Storage Service (S3) を利用 • 10 TByte の1カ月間の利用料金: 約1250 USD/month ≒ 10万円 / 月 • すべてのデータの分析が可能に 11 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  12. 12. 「蓄積」S3• AWS Simple Storage Service (S3) に保存して問題ないか?• 個人情報 • 広告ログ配信データは広告主様やメディアサイト様の顧客情報などの個 人情報は含まない • US の S3 サーバーに保存しても問題がないデータ• 信頼性 • 可用性(availability): 99.99% をSLAにより保証 • 耐久性(durability): 99.999999999%• アクセスコントロール • ACL : ファイル単位のRead, Write権限の設定 • Bucket Policy : Bucket単位のRead, Write権限の設定, IPアドレス制限 • Identity and Access Management(IAM) • 特定のアクセス権を持ったユーザーを任意に作成 12 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  13. 13. 「蓄積」S3 の Region• 利用している Region • 「分析」でAWS Elastic MapReduce を利用しているため US-East Region を利用• アップロード時の転送速度 • 東京からUS-EastのS3へのアップロード速度は 約200 ~ 500Kbps • 10 GByte のファイルをアップロードすると 10GByte x 8 bit / 500Kbps = 約 45 時間• Tips: 同時接続してもアップロード速度は変わらない 13 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  14. 14. 「蓄積」アップロード方法• アップロード方法 • ファイルを一定のサイズに分割 • 合計10GByte のファイルを 50MByte x 200個 に分割 AWS S3 • 同時接続でアップロード Upload • JetS3t Toolkit を利用し、 分割 同時10接続でアップロード• アップロード処理時間 • 50MByte x 8bit / 0.2 ~ 0.5Mbps x 200個 / 同時10接続 = 約4.5 ~ 11時間• エラー処理 • HTTP エラーは、少なくない割合で発生 • リトライ処理の実装が重要。JetS3t Toolkit のリトライ実装を利用 14 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  15. 15. 「蓄積」S3 の URL 設計• ログファイルのS3のURL設計 • スラッシュ / で区切り、日付で階層化 • AWS Management Console, S3Fox で閲覧する際に便利 • 例 • http://foo-bucket/title=bar/year=2011/month=01/day=01/001.gz • http://foo-bucket/title=bar/year=2011/month=01/day=01/002.gz• Amazon Elastic MapReduce の入力として URL prefix と ワイルドーカー ドが利用可能 • 年単位, 月単位, 日単位の入力が容易 • 例 • http://foo-bucket/title=bar/year=2011/*/* • http://foo-bucket/title=bar/year=2011/month=01/* 15 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  16. 16. 「分析」 16 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  17. 17. 「分析」の要件• 広告の配信ログのサイズ • 1日: 10 GByte, 2年間: 7.2 TByte• 分析の要件は大きく2つ• 大量のデータの集計 • 統計解析ツール、データマイニングツールで解析が難しいサイズの 集計 • 例 • 数ヶ月間以上のユニークユーザー数など• ツール向けのデータ抽出 • 統計解析ツール、データマイニングツール向けに条件を指定して、 データを抽出 17 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  18. 18. 「分析」の実行環境の検討• 7.2 TByte のデータをREAD するとどのくらいの時間がかかるか? • HDD の読み取り速度 : 50MByte/秒 • 7.2TByte ÷ 50 MByte/秒 = 40時間• 大容量データの解析 • MapReduce • コンピューター機器のクラスター上で、巨大なデータセットに対し 分散並列処理を行うのを支援する目的で、Googleによって考案さ れたソフトウェアフレームワーク。(Wikipedia より)• MapReduce の実行環境 • Apache Hadoop • Apache の Open Source Project • AWS Elastic MapReduce • Amazon の Web Service 18 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  19. 19. 「分析」Apache Hadoop と AWS EMR Apache Hadoop AWS EMR形態 Open Source Project Web Serviceサーバーリソース 自前で構築したクラスタの On Demand で AWS の サーバーリソース サーバーリソースを利用初期費用 クラスタ構築サーバー費 なし運用費用 サーバー運用費 AWS EMR, S3 の利用料入出力のストレー HDFS AWS Simple Storageジ Service(S3) 19 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  20. 20. 「分析」入出力のストレージの比較検討 Apache Hadoop AWS EMR入出力のストレージ HDFS AWS Simple Storage Service(S3)• HDFS • 自前で構築したクラスタ環境で動作する分散ファイルシステム • ファイル管理する部分に単一障害点がある• AWS Simple Storage Service (S3) • インターネット用のストレージサービス • 低コスト、高可用性(availability)、高耐久性(durability)• 検討結果 • HDFS は、自社の運用経験が少ないためファイル損失の恐れあり • HDFS を利用する場合、別のストレージ製品にファイルの保存の必要があ ると判断 • データの性質や S3 の機能から AWS S3 上に保存しても問題ないと判断 20 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  21. 21. 「分析」利用環境の比較 Apache Hadoop AWS EMRサーバーリソース 自前で構築したクラスタの On Demand で AWS の サーバーリソース サーバーリソースを利用初期費用 クラスタ構築サーバー費 なし運用費用 サーバー運用費 AWS EMR, S3 の利用料• 状況 • MapReduce の処理が決まっておらず、必要なサーバー台数が不明• 検討結果 • 数台-100台超まで柔軟にサーバー数を利用可能な AWS EMR を使用• 現在のAWS EMR の利用状況 • 1時間毎 2台使用の処理から1ヵ月毎 80台使用の処理まで様々 • 利用するサーバー数にバラつきがあり、結果的に AWS EMR に向き 21 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  22. 22. AWS EMR の所感• 良い点 • MapReduce処理のサーバー数にバラつきがある場合、コストが最適化され る • Hadoop クラスタを構築、運用するインフラエンジニアが不要 • 集計処理ごとにコストが算出できるので、費用対効果がわかりやすい • Reduce 処理でメモリ不足のエラーが発生した場合、メモリの大きいインス タンスタイプに変更することで暫定対応が可能• 悪い点 • サーバーリソースのモニタリング機能がないため、パフォーマンスチューニ ングが難しい • 現場の判断で EMR を実行しているため、月額の予算をオーバーすること がある • 開発時のデプロイと実行に時間がかかり、開発サイクルが少し遅い 22 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  23. 23. 「蓄積」と「分析」の連携 23 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  24. 24. 「蓄積」と「分析」の連携• 要件 • 広告配信ログを S3 にアップロードした後に、 そのログを入力とするMapReduce 処理を起動したい• 解決策 • AWS Simple Queue Service (SQS) を利用 24 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  25. 25. 「蓄積」と「分析」の連携• AWS Simple Queue Service (SQS) • AWS の Queue サービス • 短い文字列のMessage を登録、参照、削除ができる • 厳密なFIFO(First In First Out) ではない• AWS Elastic MapReduce へ通知方法 • アップロードしたファイルの URL を Message として Queue に登録 • Queue を定期的に参照するバッチを実装 • Queue から参照した message に応じて、 AWS Elastic MapReduce を起動 25 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  26. 26. 「蓄積」と「分析」の連携の流れ1. 2011/1/1 のログファイルを AWS S3 にアップロード • http://foo- bucket/title=bar/year=2011/month= 01/day=01/001.gz2. AWS SQS に message を登 • “http://foo- bucket/title=bar/year=2011/mont h=01/day=01/001.gz”3. SQS から message を取得 (polling)4. 2011/1/1 のユニークユーザーを 集計する AWS EMR の処理を起動 26 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  27. 27. 閲覧27 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  28. 28. 「閲覧」の要件• 要件 • 社員が利用する業務アプリケーション • AWS Elastic MapReduce (EMR) で処理した結果を Web ブラウザで 表示 • 表示形式は、グラフ、表 • テータの閲覧権限の管理 • 広告配信の設定画面との連携• 実装方法 • Salesforce Force.com を利用 28 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  29. 29. 「閲覧」Force.com• Salesforce Force.com • PaaS 型のクラウドサービス • インフラ、データベース、インテグレーション、ロジック、ユーザーイン ターフェースといった、クラウドコンピューティングモデルのアプリ ケーション開発に必要とされる要素を備えている (Wikipedia より)• 採用した目的 • 業務アプリケーションの開発生産性の高さ • 認証、認可の機能の実装コストの削減 • アプリケーションサーバー, 認証サーバーの運用コスト削減 29 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  30. 30. 「閲覧」Force.com と AWS S3 のデータ連携• 当初の設計方針 • AWS EMR が出力した AWS S3 上のデータを定期的に Force.com の DB へインポート • Force.com の DB のデータをレポート機能を利用して、グラフ表示• Force.com の DB と容量の問題 • 初期データベースの空き容量は 1 GByte • 1レコードで 約 2 KByte 消費, 約 50 万レコード で 1 GByte 消費 • データベースの容量追加コスト と 想定利用容量 のバランスが合わず 30 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  31. 31. 「閲覧」Ajax の利用• 問題 • Force.com の DB を利用せず AWS S3 のデータを表示できないか?• 解決策 • Ajax を利用 • JavaScript で AWS S3 のデータを取得し、表示• 良い点 • Force.com の 追加DB を利用しないことによるコスト抑制 • 認証、ページのアクセス権の管理は Force.com の機能を利用 • AWS IAM を利用し、 IP アドレス によるアクセス制限が厳密に• 悪い点 • Force.com の レポート機能が利用できない • クロスドメイン問題 : saleseforce.com と s3.amazonaws.com 31 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  32. 32. 「閲覧」AWS Access Key, Secret Key の管理• 問題 • AWS Access Key, Secret Key の管理をどうするか ? • AWS Access Key, Secret Key AWS S3, SimpleDB, SQS 等に Read, WriteするためのID, Password • Force.com に AWS から発行された Access Key, Secret Key を配置したく ない• 解決策 • AWS Identity and Access Management (IAM) を利用し、必要な権限のみ 保持したAccess Key, Secret Key を作成 • AWS Identity and Access Management (IAM) • ユーザーの追加, アクセスリソース(S3 bucket)の制限, アクセス条件 (Read/Write, IPアドレス, アクセス時間)の制限など • 例: 社内IPアドレスから S3 foo-bucket の Read のみ可能なユーザー 32 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  33. 33. 「閲覧」AWS Access Key, Secret Key in Force.com• 次の権限を持ったAWS Access Key, Secret Key を AWS IAM で作成 • 社内のIPアドレス:202.0.113.0 から AWS S3 “foo-bucket” への Read 権限 • もし漏洩した場合、同じ社内の誰かからアクセスされる恐れ• Secret Key はForce.com のロジック内で Hash 化 33 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  34. 34. 「閲覧」ID, Password• Force.com から AWS S3 へアクセスする設計の場合• 次の権限を持ったAWS Access Key, Secret Key を AWS IAM で作成 • Force.com の IP Address Range:202.0.113.0/24 から AWS S3 “foo-bucket” への Read 権限 • もし漏洩した場合、他の Force.com ユーザーからアクセスされる恐れ 34 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  35. 35. まとめ 35 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  36. 36. 「蓄積」のまとめ• AWS Simple Storage Service (S3) を利用して、広告配信ログを「蓄積」• 分割し、並列でアップロード 36 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  37. 37. 「分析」まとめ• AWS Elastic MapReduce を利用して「分析」機能を実装• AWS Simple Queue Service(SQS) を利用して S3 へアップロード後に AWS EMR を起動 37 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  38. 38. 「閲覧」まとめ• Salesforce Force.com を利用して「閲覧」機能を実装• Ajax を利用し AWS EMR の出力データを Force.com の画面に表示 38 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  39. 39. まとめ• 広告配信ログのBIシステムを AWS S3, EMR, Salesforce Force.com を 組み合わせて構築しました• AWS Simple Storage Service(S3), Elastic MapReduce (EMR) • 大規模データを分析するシステム開発としては取り組みやすい • 運用コストが低い• Salesforce Force.com • 業務アプリケーションの機能が揃っており開発速度は速い • 技術サポートの対応が早い • 運用コストが低い• 様々なクラウドサービスの良い点を組み合わせることで、 要件にあったシステムを開発できる 39 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.
  40. 40. END 40 Copyright © 2011 So-net Entertainment Corporation, All rights reserved.

×