Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Copyright (c) 2014 Ransui Iso, All rights reserved.
アドテクを支える
人と技術
2015-02-24
@BP Study #90
Ransui Iso
Strategic Technology...
Slide #2
Copyright (c) 2014 Ransui Iso, All rights reserved.
おまえ誰よ?
http://www.facebook.com/ransui
@ransui
Ransui Iso (磯 蘭...
Slide #3
Copyright (c) 2014 Ransui Iso, All rights reserved.
現在のAD Tech界隈
まずはこれをご覧ください
Slide #4
Copyright (c) 2014 Ransui Iso, All rights reserved.
Display AD Chaos Map (JP 2014)
Slide #5
Copyright (c) 2014 Ransui Iso, All rights reserved.
Search AD Chaos Map (JP 2014)
Slide #6
Copyright (c) 2014 Ransui Iso, All rights reserved.
AD Tech Landscape (WW 2014)
Slide #7
Copyright (c) 2014 Ransui Iso, All rights reserved.
何故こんなにも複雑怪奇に……
●
広告主
– 広告効果を少しでも高めたい
●
媒体
– 広告掲載による収益を少しでも増やし...
Slide #8
Copyright (c) 2014 Ransui Iso, All rights reserved.
Web広告今昔
広告技術の進化の歴史
Slide #9
Copyright (c) 2014 Ransui Iso, All rights reserved.
牧歌的時代
●
1990年代前半
– Internetはまだ一般の人たちからは遠い存在
– NTT「日本の新着情報」
●
...
Slide #10
Copyright (c) 2014 Ransui Iso, All rights reserved.
商業化前夜
●
1990年代後半
– 道具が揃ってきた
– Windows95
– 商業ISPの勃興
– テレホーダイ
...
Slide #11
Copyright (c) 2014 Ransui Iso, All rights reserved.
ポータルサイトの時代
●
情報ポインタの集積が始まる
– リンク集は「ディレクトリ」へ
– キーワードによる検索
– デ...
Slide #12
Copyright (c) 2014 Ransui Iso, All rights reserved.
当時の広告配信とビジネスモデル
●
雑誌や新聞等に似ていた
– 掲載期間・露出回数・掲載位置等によるメニュー化
– 静止...
Slide #13
Copyright (c) 2014 Ransui Iso, All rights reserved.
媒体の加速度的な増加
●
ニュースサイトや情報サイトの増加
– それぞれが独自に広告メニューを作成
– 個別対応が困難に...
Slide #14
Copyright (c) 2014 Ransui Iso, All rights reserved.
媒体間の競争
●
Page View = 在庫 という考え方
– つまり「トラフィックをお金に換える」
– 「魅力あるコ...
Slide #15
Copyright (c) 2014 Ransui Iso, All rights reserved.
Paid Searchの発明
●
検索キーワードを「買う」
– Paid Inclusion
●
特定のキーワードによる...
Slide #16
Copyright (c) 2014 Ransui Iso, All rights reserved.
blogの普及とAffiliate
●
広告露出媒体の爆発的な増加
– 自身でHTMLを編集しなくてもページを持てるよう...
Slide #17
Copyright (c) 2014 Ransui Iso, All rights reserved.
ここまででどうなっているか
●
それなりに複雑になってきた
– 多くの媒体で同時に広告展開するための管理コストが無
視で...
Slide #18
Copyright (c) 2014 Ransui Iso, All rights reserved.
何かが足りない
●
「露出を稼ぐ」という戦略は正しいのか
– ターゲット層は全トラフィック内に一定の割合で均等に
存在す...
Slide #19
Copyright (c) 2014 Ransui Iso, All rights reserved.
ターゲットを探す
個々のユーザに対していかにしてリーチするか
Slide #20
Copyright (c) 2014 Ransui Iso, All rights reserved.
広告配信システムの外部化
●
ユーザの行動を集約して記録できるように
– ブラウザCookieを使用してトラッキング
E...
Slide #21
Copyright (c) 2014 Ransui Iso, All rights reserved.
ユーザリアクションの利用
●
広告の閲覧情報
– 誰が、どの媒体で、いつ、何回見たか?
●
クリックによる反応
– クリ...
Slide #22
Copyright (c) 2014 Ransui Iso, All rights reserved.
考えられるターゲティング
●
ターゲティング = CPAの改善
●
広告枠の篩分け
●
広告配信システムは複数の媒体の複...
Slide #23
Copyright (c) 2014 Ransui Iso, All rights reserved.
苦しくなる媒体
●
CPAが改善されるということは……
– 広告主は低コストで実績を稼げるようになる
●
投資効率の向上...
Slide #24
Copyright (c) 2014 Ransui Iso, All rights reserved.
AD Network
●
媒体・枠を束ねる
– 販売単価・想定露出・枠サイズ等の情報を一元管理
– 配信サーバはAD N...
Slide #25
Copyright (c) 2014 Ransui Iso, All rights reserved.
解決・未解決問題
●
まだ弱含み
– 配信サーバはメディア毎の個別対応をしなくてもよく
なったので楽になり、配信先の拡大...
Slide #26
Copyright (c) 2014 Ransui Iso, All rights reserved.
DSP, SSP そして RTB
●
表示枠のオークション化
広告主
3PAS
メディア メディア メディアメディア
S...
Slide #27
Copyright (c) 2014 Ransui Iso, All rights reserved.
RTBによって得られるもの
●
媒体側
– 高値入札された広告を選択することで価格圧力に対して一定
の対抗ができるように...
Slide #28
Copyright (c) 2014 Ransui Iso, All rights reserved.
DMP
●
さらに詳細なユーザプロファイルの利用
●
Cookie Sync
●
Segmentation
広告主サイト...
Slide #29
Copyright (c) 2014 Ransui Iso, All rights reserved.
X-Listing DMP
●
Search Streamを利用できるDMP
●
国内唯一 (Yahoo, Google...
Slide #30
Copyright (c) 2014 Ransui Iso, All rights reserved.
検索キーワードからわかること
●
ユーザの興味関心は検索ワードに現れる
– Keyword Watcher : 「関心ワ...
Slide #31
Copyright (c) 2014 Ransui Iso, All rights reserved.
DMPの光と闇
●
ユーザ情報が集約されたデータベース
– 識別IDのマップさえ作れれば、どんな情報とも連携可能
– D...
Slide #32
Copyright (c) 2014 Ransui Iso, All rights reserved.
チームと技術
Slide #33
Copyright (c) 2014 Ransui Iso, All rights reserved.
開発&運用@X-Listing
●
自社サービスを動かすシステムの開発&運用
– 受託開発ではない
– 開発したソフトウ...
Slide #34
Copyright (c) 2014 Ransui Iso, All rights reserved.
基本的に全部
自分たちでやる
Slide #35
Copyright (c) 2014 Ransui Iso, All rights reserved.
なぜ自分たちでやるのか
●
迅速な対応
– システム全体を把握しておくことは何をする時も非常に重要
●
継続的な開発
–...
Slide #36
Copyright (c) 2014 Ransui Iso, All rights reserved.
エンジニアチーム@X-Listing
●
職階は基本的に存在しない
– PM, GL, SE, PGとかいった区別は無い...
Slide #37
Copyright (c) 2014 Ransui Iso, All rights reserved.
これを実現するための前提
●
少人数編成
– 個々人のスキルが高いことは「あたりまえ」
– デキルがデキナイの集団をコン...
Slide #38
Copyright (c) 2014 Ransui Iso, All rights reserved.
どうやってスキルを身につけるか
●
縦と横の両方からアプローチさせる
FrontEnd
Framework
Middle...
Slide #39
Copyright (c) 2014 Ransui Iso, All rights reserved.
どうやってスキルを身につけるか
●
ServiceのAuthorityというポジション
FrontEnd
Framewo...
Slide #40
Copyright (c) 2014 Ransui Iso, All rights reserved.
どうやってスキルを身につけるか
●
得意分野でカバーしあう
FrontEnd
Framework
Middleware
...
Slide #41
Copyright (c) 2014 Ransui Iso, All rights reserved.
デメリットもある
●
真に大規模な開発とかには対応不能
– 特殊部隊方式なので師団クラスの作戦は不可能
●
標準化・手順...
Slide #42
Copyright (c) 2014 Ransui Iso, All rights reserved.
いじっているシステムと
使っている技術
Slide #43
Copyright (c) 2014 Ransui Iso, All rights reserved.
システム概観
User Agent
Targeting Engine
AD Publisher
AD Data
Site...
Slide #44
Copyright (c) 2014 Ransui Iso, All rights reserved.
典型的なパターン
User Agent Media Site
Beacon Handler
Beacon Tag
Tar...
Slide #45
Copyright (c) 2014 Ransui Iso, All rights reserved.
Webアプリケーションと違う所
●
スピード命
– 有名な「50ms or Die」
– 相手は「人」ではなくプログラム...
Slide #46
Copyright (c) 2014 Ransui Iso, All rights reserved.
サーバ系
●
エッジ部分
– nginx
– Apache + mod_wsgi
– uwsgi
●
データ系
– RD...
Slide #47
Copyright (c) 2014 Ransui Iso, All rights reserved.
使っているプログラミング言語
●
Python
– Webアプリ(管理画面とか)
– APIサービス
– 各種コマンドラ...
Slide #48
Copyright (c) 2014 Ransui Iso, All rights reserved.
Slide #49
Copyright (c) 2014 Ransui Iso, All rights reserved.
Common Lispを使う理由
●
Native Code Compiler
– 普通に書けばC++の50〜75%くら...
Slide #50
Copyright (c) 2014 Ransui Iso, All rights reserved.
Targeting Rule
●
属性のパターンに合致しているかの条件
ページ http://example.com/i...
Slide #51
Copyright (c) 2014 Ransui Iso, All rights reserved.
Targeting Rule
●
マシンリーダブルな形式にしてみます!
Slide #52
Copyright (c) 2014 Ransui Iso, All rights reserved.
Targeting Rule
(define-targeting-rule “example-target-rule”
...
Slide #53
Copyright (c) 2014 Ransui Iso, All rights reserved.
フレームワーク・ライブラリ
●
重要な部分はほとんど自前実装
– 配信エンジンを書くための基盤
– KVS
– メッセー...
Slide #54
Copyright (c) 2014 Ransui Iso, All rights reserved.
結局の所
●
カバーできる範囲をひろげておく
– 自分たちがいじっているものが何なのかを知る
– 全体をひと通り抑えた上...
Slide #55
Copyright (c) 2014 Ransui Iso, All rights reserved.
Thank you for listening
Happy Hacking!!
Nächste SlideShare
Wird geladen in …5
×

アドテクを支える人と技術

このスライドは BPStudy #90 (http://bpstudy.connpass.com/) にてお話した際に使用したものです。

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

アドテクを支える人と技術

  1. 1. Copyright (c) 2014 Ransui Iso, All rights reserved. アドテクを支える 人と技術 2015-02-24 @BP Study #90 Ransui Iso Strategic Technology Group / X-Listing Co, Ltd.
  2. 2. Slide #2 Copyright (c) 2014 Ransui Iso, All rights reserved. おまえ誰よ? http://www.facebook.com/ransui @ransui Ransui Iso (磯 蘭水) Work at X-Listing Co, Ltd. http://www.xlisting.co.jp/ 1999年からWebとそれに関連するシステム開発、基盤技術の研究開発等を行って きました。サーチエンジン、ECサイト向けオブジェクトデータベース、コンテン ツ管理システムのメタデータ管理システム等を開発して、現在は広告配信システ ムの設計・開発をしています。
  3. 3. Slide #3 Copyright (c) 2014 Ransui Iso, All rights reserved. 現在のAD Tech界隈 まずはこれをご覧ください
  4. 4. Slide #4 Copyright (c) 2014 Ransui Iso, All rights reserved. Display AD Chaos Map (JP 2014)
  5. 5. Slide #5 Copyright (c) 2014 Ransui Iso, All rights reserved. Search AD Chaos Map (JP 2014)
  6. 6. Slide #6 Copyright (c) 2014 Ransui Iso, All rights reserved. AD Tech Landscape (WW 2014)
  7. 7. Slide #7 Copyright (c) 2014 Ransui Iso, All rights reserved. 何故こんなにも複雑怪奇に…… ● 広告主 – 広告効果を少しでも高めたい ● 媒体 – 広告掲載による収益を少しでも増やしたい ● IT – 巨大データを取り扱うための技術の普及 いろいろなプレーヤーが、それぞれの思惑で独自に動いていて 統一された仕組み等が存在しない
  8. 8. Slide #8 Copyright (c) 2014 Ransui Iso, All rights reserved. Web広告今昔 広告技術の進化の歴史
  9. 9. Slide #9 Copyright (c) 2014 Ransui Iso, All rights reserved. 牧歌的時代 ● 1990年代前半 – Internetはまだ一般の人たちからは遠い存在 – NTT「日本の新着情報」 ● リンク集でサイトが網羅できた! ● MLに流れる情報等を元に人力でページを収集 ● コンテンツとして「リンク集」は定番 – HTMLを直接書いてページを作成 – NCSA MOSAIC / Netscape Navigator – Apache HTTPD / CGI / Perl
  10. 10. Slide #10 Copyright (c) 2014 Ransui Iso, All rights reserved. 商業化前夜 ● 1990年代後半 – 道具が揃ってきた – Windows95 – 商業ISPの勃興 – テレホーダイ – INS64 (ISDN), アナログモデムの高速化 – 一般企業がPRを目的にサイトを作り始める – ISPのWebスペースに個人がページを持ち始める – HTML編集ツールの普及
  11. 11. Slide #11 Copyright (c) 2014 Ransui Iso, All rights reserved. ポータルサイトの時代 ● 情報ポインタの集積が始まる – リンク集は「ディレクトリ」へ – キーワードによる検索 – ディレクトリ – ロボット (スパイダー) ● 情報の集積が多くのトラフィックを生む – ポータルが「メディア」として機能しだす – ページの一部を「広告エリア」として販売
  12. 12. Slide #12 Copyright (c) 2014 Ransui Iso, All rights reserved. 当時の広告配信とビジネスモデル ● 雑誌や新聞等に似ていた – 掲載期間・露出回数・掲載位置等によるメニュー化 – 静止画による「バナー」 – 各ポータルは独自に広告システムを構築 広告主 メディア メディア メディア 広告管理システム メディア メディア メディア 広告管理システム広告主 代理店 依頼 出稿
  13. 13. Slide #13 Copyright (c) 2014 Ransui Iso, All rights reserved. 媒体の加速度的な増加 ● ニュースサイトや情報サイトの増加 – それぞれが独自に広告メニューを作成 – 個別対応が困難に – メディアレップの成立と広告フォーマットの規格化 広告主 広告主 代理店 依頼 レップ
  14. 14. Slide #14 Copyright (c) 2014 Ransui Iso, All rights reserved. 媒体間の競争 ● Page View = 在庫 という考え方 – つまり「トラフィックをお金に換える」 – 「魅力あるコンテンツ」をいかに提供するか – 期間保証売りの場合 – 多くの人が見るであろうページ上の枠は価値が高い – 露出回数保証売りした場合 – 1広告主が1枠を専有する時間の短縮による回転率の向上 – レップによる「在庫」の統合と規模の効果 – Massへのリーチが重要視されているからこそ成り立つ
  15. 15. Slide #15 Copyright (c) 2014 Ransui Iso, All rights reserved. Paid Searchの発明 ● 検索キーワードを「買う」 – Paid Inclusion ● 特定のキーワードによる検索結果の一覧に、広告としてエント リを割りこませる権利を買う – Listing AD ● ImpressionではなくClick時にコストが発生 ● 特定のキーワードに対して入札する ● 複数の入札者がいた場合は高額入札が優先される
  16. 16. Slide #16 Copyright (c) 2014 Ransui Iso, All rights reserved. blogの普及とAffiliate ● 広告露出媒体の爆発的な増加 – 自身でHTMLを編集しなくてもページを持てるように – ページの収益化が可能に – 広告費の逆ざやリスクの低減
  17. 17. Slide #17 Copyright (c) 2014 Ransui Iso, All rights reserved. ここまででどうなっているか ● それなりに複雑になってきた – 多くの媒体で同時に広告展開するための管理コストが無 視できなくなってくる 広告主 代理店 レップ メディア広告管理システム Search Engine広告管理システム アフィリエイト 管理システム blog等
  18. 18. Slide #18 Copyright (c) 2014 Ransui Iso, All rights reserved. 何かが足りない ● 「露出を稼ぐ」という戦略は正しいのか – ターゲット層は全トラフィック内に一定の割合で均等に 存在するという仮定 – 媒体によるCTR / CPAの差異等の観測結果 – Paid Searchによるダイレクトターゲティングの実績 – 過剰露出によるユーザ離れという事象
  19. 19. Slide #19 Copyright (c) 2014 Ransui Iso, All rights reserved. ターゲットを探す 個々のユーザに対していかにしてリーチするか
  20. 20. Slide #20 Copyright (c) 2014 Ransui Iso, All rights reserved. 広告配信システムの外部化 ● ユーザの行動を集約して記録できるように – ブラウザCookieを使用してトラッキング ECサイト 広告配信 サーバ メディア クリック リダイレクタ 広告クリック ユーザ情報 HTTP Redirect 出稿 配信 CV検出 Conversion情報 配信記録 クリック記録 メディア メディア メディア
  21. 21. Slide #21 Copyright (c) 2014 Ransui Iso, All rights reserved. ユーザリアクションの利用 ● 広告の閲覧情報 – 誰が、どの媒体で、いつ、何回見たか? ● クリックによる反応 – クリックされた表示を個別に特定 ● 購買行動 – どのクリックが購買に結びついたのか
  22. 22. Slide #22 Copyright (c) 2014 Ransui Iso, All rights reserved. 考えられるターゲティング ● ターゲティング = CPAの改善 ● 広告枠の篩分け ● 広告配信システムは複数の媒体の複数の枠についてのパフォーマンス情報を持っ ている ● 無反応ユーザの篩分け ● 何回広告を提示しても反応が無い場合は対象から外す ● 冷やかし客の識別 ● クリックは多いが一向に購買行動を起こさないユーザを分離 ● 購入済み顧客の識別 ● 商材にもよるが、CV済みユーザへの過剰露出は控えたほうが良い
  23. 23. Slide #23 Copyright (c) 2014 Ransui Iso, All rights reserved. 苦しくなる媒体 ● CPAが改善されるということは…… – 広告主は低コストで実績を稼げるようになる ● 投資効率の向上による「無駄金」の縮小 – 計測による「効果の低い」媒体・枠の露呈 ● 選別による「不良在庫」の拡大 – 配信される広告の単価についての主導権の喪失 ● 安く買い叩かれる危険性の増大
  24. 24. Slide #24 Copyright (c) 2014 Ransui Iso, All rights reserved. AD Network ● 媒体・枠を束ねる – 販売単価・想定露出・枠サイズ等の情報を一元管理 – 配信サーバはAD Networkより提示された条件のうちか ら条件に合う配信先情報を受けとり配信を行う 広告主 広告配信 サーバ メディア 出稿 メディア メディアメディア AD Network 広告枠情報
  25. 25. Slide #25 Copyright (c) 2014 Ransui Iso, All rights reserved. 解決・未解決問題 ● まだ弱含み – 配信サーバはメディア毎の個別対応をしなくてもよく なったので楽になり、配信先の拡大が容易になった – メディアが強気の価格を提示している場合等は取引が成 立せず、トラフィック増大には貢献しない事態が発生し がち
  26. 26. Slide #26 Copyright (c) 2014 Ransui Iso, All rights reserved. DSP, SSP そして RTB ● 表示枠のオークション化 広告主 3PAS メディア メディア メディアメディア SSP DSP SSP メディア DSPDSP 枠 ・ ユ ー ザ 情 報 買 い 付 け 情 報
  27. 27. Slide #27 Copyright (c) 2014 Ransui Iso, All rights reserved. RTBによって得られるもの ● 媒体側 – 高値入札された広告を選択することで価格圧力に対して一定 の対抗ができるようになる – 多くのDSPと連携することで潜在的な広告主数の増加が見込め る ● 広告主側 – 個々のユーザ情報と媒体情報の組み合わせによって露出のコ ントロールが可能 – 一般に課金額は2位の入札金額+αとなるのでCPAコントロー ルも依然として維持できる
  28. 28. Slide #28 Copyright (c) 2014 Ransui Iso, All rights reserved. DMP ● さらに詳細なユーザプロファイルの利用 ● Cookie Sync ● Segmentation 広告主サイト SSP メディアDSP 顧客情報 アクセス情報 配信実績 リアクション 登録ユーザ情報 アクセス情報 統合ユーザ情報 DMP
  29. 29. Slide #29 Copyright (c) 2014 Ransui Iso, All rights reserved. X-Listing DMP ● Search Streamを利用できるDMP ● 国内唯一 (Yahoo, Googleを除いて。多分。) ● アクセス解析で取得できるものとは質が違う 広告主 広告配信 サーバ メディア クリック リダイレクタ 広告クリック 検索キーワード HTTP Redirect 出稿 配信 CV検出 Conversion情報 配信記録 クリック記録 メディア メディア ポータルサイト 検索ワード
  30. 30. Slide #30 Copyright (c) 2014 Ransui Iso, All rights reserved. 検索キーワードからわかること ● ユーザの興味関心は検索ワードに現れる – Keyword Watcher : 「関心ワード」 – ある条件に合致するユーザにどのような検索傾向があるのか を調べるサービス – Search Re-Targeting – 指定したキーワードを用いて検索したユーザをセグメント分 類してターゲティングを行う – 態度変容分析 – あるイベント(広告接触など)を境にユーザの興味関心がどの ように変化したかを分析
  31. 31. Slide #31 Copyright (c) 2014 Ransui Iso, All rights reserved. DMPの光と闇 ● ユーザ情報が集約されたデータベース – 識別IDのマップさえ作れれば、どんな情報とも連携可能 – DMPに蓄積された情報を分析した結果を再度DMPに格納 することで配信・リアクション・アクセス解析だけでは 分からなかったユーザ属性を生成可能 – 多様なユーザ属性に基づいた低粒度のダイレクトターゲ ティングが可能に – 情報の集積度が上がることでユーザプライバシーに関す る問題も増大する
  32. 32. Slide #32 Copyright (c) 2014 Ransui Iso, All rights reserved. チームと技術
  33. 33. Slide #33 Copyright (c) 2014 Ransui Iso, All rights reserved. 開発&運用@X-Listing ● 自社サービスを動かすシステムの開発&運用 – 受託開発ではない – 開発したソフトウェアそのものが製品ではない – 複数タイプのエンドユーザ向けサービスを作る – Webアプリ、API、ライブラリ等 ● インフラ整備&運用 – 社内LAN、従業員用PC、自社サイト、DNS、 Mail Serverとかも全部 – サービスを提供するサーバの調達、構築、運用 – データセンターのネットワークの設計、運用 – 自分たちの開発環境
  34. 34. Slide #34 Copyright (c) 2014 Ransui Iso, All rights reserved. 基本的に全部 自分たちでやる
  35. 35. Slide #35 Copyright (c) 2014 Ransui Iso, All rights reserved. なぜ自分たちでやるのか ● 迅速な対応 – システム全体を把握しておくことは何をする時も非常に重要 ● 継続的な開発 – マイルストーンは存在するが、ゴールは無い – 細かい改良・修正・機能追加・実験と分析 ● 業界のスピード – もたもたしてるとあっという間に置いて行かれる ● コスト – 余計な時間的コストを削減する
  36. 36. Slide #36 Copyright (c) 2014 Ransui Iso, All rights reserved. エンジニアチーム@X-Listing ● 職階は基本的に存在しない – PM, GL, SE, PGとかいった区別は無い – 「作ってるやつが一番偉い」の原則 – インフラからビジネス面まで全員が全てに関わる ● Mission毎の動的な役割 – 何かに固定的にアサインされているわけではない – ジョブローテーションともちょっとちがう – 自然発生的に得意分野&詳しい領域はできてくる
  37. 37. Slide #37 Copyright (c) 2014 Ransui Iso, All rights reserved. これを実現するための前提 ● 少人数編成 – 個々人のスキルが高いことは「あたりまえ」 – デキルがデキナイの集団をコントロールやり方は最も効率が悪い – 知識共有・意思疎通のためのコストをできるだけ小さく – 大きなミッションは小さなミッションに分割して各個撃破 ● 「能書きよりも動くモノ」の原則 – アイディアや実現可能性の検証は実装で示す ● 柔軟性の維持 – なぜそれが必要でどれだけ幸せ度がUPするのかで判断する – ビジネスにおける重要性でミッションの優先度を動的に変える
  38. 38. Slide #38 Copyright (c) 2014 Ransui Iso, All rights reserved. どうやってスキルを身につけるか ● 縦と横の両方からアプローチさせる FrontEnd Framework Middleware BackEnd FrontEnd Framework Middleware BackEnd FrontEnd Framework Middleware BackEnd Service A Service B Service C System Layer ServiceLayer
  39. 39. Slide #39 Copyright (c) 2014 Ransui Iso, All rights reserved. どうやってスキルを身につけるか ● ServiceのAuthorityというポジション FrontEnd Framework Middleware BackEnd FrontEnd Framework Middleware BackEnd FrontEnd Framework Middleware BackEnd Service A Service B Service C
  40. 40. Slide #40 Copyright (c) 2014 Ransui Iso, All rights reserved. どうやってスキルを身につけるか ● 得意分野でカバーしあう FrontEnd Framework Middleware BackEnd FrontEnd Framework Middleware BackEnd FrontEnd Framework Middleware BackEnd Service A Service B Service C
  41. 41. Slide #41 Copyright (c) 2014 Ransui Iso, All rights reserved. デメリットもある ● 真に大規模な開発とかには対応不能 – 特殊部隊方式なので師団クラスの作戦は不可能 ● 標準化・手順化とかと真っ向対立する可能性 – プロダクト・サービス毎に使っている技術がバラバラ ● 技術が属人化しやすい – 一人の喪失が全体の危機に発展する可能性 – 仕事量が平準化されず全体最適にならない可能性 – 個々のスキルの格差が加速度的に開いていく可能性
  42. 42. Slide #42 Copyright (c) 2014 Ransui Iso, All rights reserved. いじっているシステムと 使っている技術
  43. 43. Slide #43 Copyright (c) 2014 Ransui Iso, All rights reserved. システム概観 User Agent Targeting Engine AD Publisher AD Data Site Visited Information Query History AD Contact Information User Demographic Information Matching Engine Beacon Handler Data Loader Targeting Rule Set
  44. 44. Slide #44 Copyright (c) 2014 Ransui Iso, All rights reserved. 典型的なパターン User Agent Media Site Beacon Handler Beacon Tag Targeting Engine Access Requset Response with Mark Targeting Information Query Media Site Beacon Tag AD Tag Access AD Publisher Matching Engine AD Data Request with Mark Query SearchAD Information AD Information Response with AD Info User Information Register Query
  45. 45. Slide #45 Copyright (c) 2014 Ransui Iso, All rights reserved. Webアプリケーションと違う所 ● スピード命 – 有名な「50ms or Die」 – 相手は「人」ではなくプログラムやシステム ● 大規模トラフィック・大規模データ – n億 req / dayのリクエスト – n十億/day のマッチング処理 – 100GiB / dayのログ ● 極めて動的 – ターゲティングのためのルール等は固定されているわけではない – ルールが変わったらリアルタイムに反映されなければならない
  46. 46. Slide #46 Copyright (c) 2014 Ransui Iso, All rights reserved. サーバ系 ● エッジ部分 – nginx – Apache + mod_wsgi – uwsgi ● データ系 – RDBMS : MySQL / PostgreSQL – KVS : memcached, 俺様KVS, 俺様ODB – Hadoop : CDH ● 足回り – オンプレで運用しているサーバ群 (X64の普通のサーバ) – Public Cloud上で動かしているVM群 – OS は Linux (gentoo) : 用途によってチューニング
  47. 47. Slide #47 Copyright (c) 2014 Ransui Iso, All rights reserved. 使っているプログラミング言語 ● Python – Webアプリ(管理画面とか) – APIサービス – 各種コマンドラインツール類 – データの分析 ● C++ – 俺様KVSとか ● Java – Hadoopであれこれ – データ収集系とかはPythonからJavaへ切り替えたい ● Common Lisp – Targeting Engine・DSL Compiler – アルゴリズム検証・プロトタイピング
  48. 48. Slide #48 Copyright (c) 2014 Ransui Iso, All rights reserved.
  49. 49. Slide #49 Copyright (c) 2014 Ransui Iso, All rights reserved. Common Lispを使う理由 ● Native Code Compiler – 普通に書けばC++の50〜75%くらいの速度で動く – 気合入れればCと同等の速度までチューニングできる余地も ● ゆるふわ・ガチンコの中間 – Common Lispは強い型付け言語 ● 実行時にアレコレやりやすい – 生きているサーバの関数を差し替えるとか簡単 – 差し替えたコードはその場でNative Code化される
  50. 50. Slide #50 Copyright (c) 2014 Ransui Iso, All rights reserved. Targeting Rule ● 属性のパターンに合致しているかの条件 ページ http://example.com/index.html を3日以内に訪問している   かつ 過去に広告fooを閲覧した回数が3回以内   かつ コンバージョンしていない   かつ 過去1日以内に example とう語を検索している   または example に類似したワードの検索がある      
  51. 51. Slide #51 Copyright (c) 2014 Ransui Iso, All rights reserved. Targeting Rule ● マシンリーダブルな形式にしてみます!
  52. 52. Slide #52 Copyright (c) 2014 Ransui Iso, All rights reserved. Targeting Rule (define-targeting-rule “example-target-rule” (and (site-visited :url “http://example.com/index.html” :compare :complete :from (- (today) (days 3)) :to (today)) (< (count (ad-impressions :name “foo”)) 3) (not (conversioned :name “bar”)) (or (query-history :word “example” :compare :complete :from (- (today) (days 1)) :to (today)) (query-history :word “example” :compare :related)))
  53. 53. Slide #53 Copyright (c) 2014 Ransui Iso, All rights reserved. フレームワーク・ライブラリ ● 重要な部分はほとんど自前実装 – 配信エンジンを書くための基盤 – KVS – メッセージ交換フレームワーク – ロギング・分析フレームワーク – Webクローラ・ページ内容分析エンジン 余計なものがついてない、自分たちが欲しい部分の みがきちんと動くものを求めて行った結果
  54. 54. Slide #54 Copyright (c) 2014 Ransui Iso, All rights reserved. 結局の所 ● カバーできる範囲をひろげておく – 自分たちがいじっているものが何なのかを知る – 全体をひと通り抑えた上での「得意分野」 ● プロは道具を大事にする – 「弘法筆を選ばず」なんて嘘 – 道具を理解し、きちんと手入れできない奴にいい仕事はできない – 必要ならば自分で道具を作り出す – 道具を作るプロセスはその道具を使う領域へのより深い知識をも たらす
  55. 55. Slide #55 Copyright (c) 2014 Ransui Iso, All rights reserved. Thank you for listening Happy Hacking!!

×