Upgrade to Pro — share decks privately, control downloads, hide ads and more …

1兆req/月の広告システムを横目に 100億req/月ぐらいの広告システムを 新築した話/ ...

1兆req/月の広告システムを横目に 100億req/月ぐらいの広告システムを 新築した話/ Supership CPO 佐野宏英

2021年3月17日(水)に初回β版イベントとして開催したオンラインイベント「KGDC Tech Conference #0」のなかのセッションにて、Supership CPO (最高プロダクト責任者)佐野宏英 が登壇したスライドです。
Supershipが誇るアドテク技術を集約したScaleOut Ad Platformのシステム基盤について解説いたしました。
■ScaleOut DSP
https://supership.jp/business/scaleout/

■KGDC Tech Conference #0 イベントページ
https://kgdc.connpass.com/event/203487/

Supership株式会社

April 02, 2021
Tweet

More Decks by Supership株式会社

Other Decks in Technology

Transcript

  1. アジェンダ • Supershipの紹介(軽く) • Scaleout Ad Platformの紹介 • SC2(Supership Contents

    Connect)の紹介 目的 • Supershipの技術を少し知ってもらう • アドテクに興味を持ってもらう 今日話すこと
 2
  2. 佐野 宏英(さ  ひろひで) @sanojimaru 趣味: 顔ハメ エディタ: Vim→VSCode ターミナル: iTerm2+tmux 好きな言語:

    Javascript系 好きなAWS: Glue ▪略歴 • バイク屋さん • 中小下請けSIer→無名ベンチャー→フリーランス • アップベイダー創業→被M&AでSupershipジョイン • 今に至る 誰な 
 3
  3. Trading Desk 広告運用 Data Management Platform(DMP) BRAND 広告主 CUSTOMER 消費者

    Solution 検索 不正広告防止 Ad Platform 広告配信プラットフォーム ―広告主向け― ―メディア向け― Data Marketing Consulting Agency 代理店 デジタルマーケティングを中心に様々なソリューションを提供 Supershipとは 4
  4. Trading Desk 広告運用 Data Management Platform(DMP) BRAND 広告主 CUSTOMER 消費者

    Solution 検索 不正広告防止 Ad Platform 広告配信プラットフォーム ―広告主向け― ―メディア向け― Data Marketing Consulting Agency 代理店 デジタルマーケティングを中心に様々なソリューションを提供 Supershipとは 5
  5. 広告主 媒体社 ユーザー ターゲット ユーザーだけに 広告を出したいなぁ 広告枠をうまく運用して広告 収益を拡大させたいなぁ 興味 ある広告だけ見たい

    なぁ DSP SSP こ ような世界観を実現するためにテクノロジーで解決
 アドテクと ? こ 取引における手数料を頂く商売 システムコストが高いと逆ザヤリスク有り 安価かつ安定して高トラフィックをさ く仕組みが必要
  6. Scaleout Ad Platformとは 10 1. カジュアル(=安価)に数千億アクセス/dayを捌くことを目指し て開発された純国産広告配信管理システム 2. PCサーバ1台あたり1億アクセス/day~な性能 3.

    月間数兆アクセスも可 4. 任意 ターゲティングが可能 5. マルチデバイス対応 基本設計 最 配信研究会 山崎さん(@yamaz)
  7. Confidential 11 ID 期間 配信条件 達成状況 優先度 1 08/01 08/31

    100万PV, 女性 11万PV 2 ….. 枠売り, 20~30歳代 10万PV 3 ….. 100万PV, 東京在住 11万PV 4 ….. 1000万PV 438万PV ~ ….. ….. ….. 80 ….. Context(不動産,賃貸) CPC@30円 予算10万 56000円 81 ….. BT(保険) 100万PV 48万PV 82 ….. BT(家電) 200万PV 190万PV スケジュールされている広告の中で 広告エンジン 動き
 11
  8. Confidential 12 ID 期間 配信条件 達成状況 優先度 1 08/01 08/31

    100万PV, 女性 11万PV 2 ….. 枠売り, 20~30歳代 10万PV 3 ….. 100万PV, 東京在住 11万PV 4 ….. 1000万PV 438万PV ~ ….. ….. ….. 80 ….. Context(不動産,賃貸) CPC@30円 予算10万 56000円 81 ….. BT(保険) 100万PV 48万PV 82 ….. BT(家電) 200万PV 190万PV 配信してもOKなもののうち 広告エンジン 動き
 12
  9. Confidential 13 ID 期間 配信条件 達成状況 優先度 1 08/01 08/31

    100万PV, 女性 11万PV 30 2 ….. 枠売り, 20~30歳代 10万PV 3 ….. 100万PV, 東京在住 11万PV 12 4 ….. 1000万PV 438万PV 100 ~ ….. ….. ….. 80 ….. Context(不動産,賃貸) CPC@30円 予算10万 56000円 81 ….. BT(保険) 100万PV 48万PV 35 82 ….. BT(家電) 200万PV 190万PV 14 その瞬間において一番優先度が高いものを配信する →の一連の動作を50ms以内ぐらいに完了する 今回選ばれた広告 広告エンジン 動き
 13
  10. Confidential Railsによる実装例(解説)
 class AdsvrController < ApplicationController def lookup render :text

    # 全スケジュール 中から Schedules.find(:all) # 配信してよい案件を抽出して .grep{|sched| sched.can_delivered?}   # 一番優先度が高いも を選択して .max(&:priority) # 最適なクリエイティブを作成 .to_html end end # これを超高 に処理する が広告エンジンです 14 14
  11. Confidential 条件評価部
 # 配信をしていい広告案件を抽出 grep{|sched| sched.can_delivered?} def can_delivered? return false if

    @now > end_at || @now < start_at # 広告案件に付与された複数 条件を評価 constraints.each do |cons| value ||= cons.call(@request) return true if value end return false end 15 15
  12. Confidential 優先度評価部
 # 一番優先度が高いも を選択 .max(&:priority) 優先度を決定する要素 ▪ 案件につけられた優先度 ▪

    クリック単価が高い(優先度高) ▪ PV達成がや い(優先度高) ▪ 特別なユーザがアクセスした時 (優先度高) ▪ 自社稿(優先度低) など 16 16
  13. Scaleout Ad Platformのアーキテクチャ 18 • 安価に数千億アクセス /dayを捌くことに特化しており、オンプレ環境( DC3拠点を運用) • 約2000台ぐらい

    物理サーバー(配信サーバーで 1000台、集計で500台ぐらい) • 1リクエストあたり 単価に換算すると AWSより安く済んでいます(当社比)
  14. • とある顧客向けに配信コンテンツ 管理、レコメンド 配信、広告 ターゲティング配信を提供 • フルAWS環境とIaCにより、必要に応じて顧客別 デプロイが可能に • AWS

    コストタグや、場合により AWSアカウントごと分けることで柔軟なコスト管理も実現 • ある程度コスト効率を犠牲にする代わりに、多く マネージドサービスを活用し工数を削減(管理しているサー バー ECSが動いているEC2インスタンスぐらい) • マルチテナント可能なデータ構 も実装 • (コスト 掛かるが)大規模トラフィックにも耐えうる想定 というわけで新築しました 24