Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
フルスクラッチで書いたアドサーバの開発・運用史
Search
Satoshi
September 25, 2014
Technology
4.5k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フルスクラッチで書いたアドサーバの開発・運用史
アドサーバの開発・運用で得た知見について説明しています。
Satoshi
September 25, 2014
More Decks by Satoshi
See All by Satoshi
高速な広告配信サーバの作り方のコツ
satoshi03
3
540
スケールしない広告サーバの作り方
satoshi03
0
260
Gunosy AdServerのデータ周りの話
satoshi03
2
3k
Gunosy.go #2 container
satoshi03
1
79
Gunosy Go Lang Study #6 net net/http net/url
satoshi03
0
150
Other Decks in Technology
See All in Technology
React Nativeでの OTA Updateって、 どう説明する?
ichiki1023
0
150
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
250
AI時代のAPI開発を加速する品質ガードレール / API Quality Guardrails in the AI Era
yokawasa
0
150
ファミコンでPHPを動かす / PHP on the Famicom side b
tomzoh
0
140
自分で立ててみるLLMサービス
y_sera15
0
120
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
270
Datadog の学び方 - あるいは、オブザーバビリティを学ぶとは何か
mananyuki
1
480
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
150
AI Made Us Faster at Solving the Wrong Problems
marceloancelmo
0
160
OpenSharing について熱く語る〜AI アセットの共有について〜
kameitomohiro
0
230
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
210
並行性の問題を防げ!実践トランザクション入門
occhi
0
280
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
490
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Mind Mapping
helmedeiros
1
390
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Crafting Experiences
bethany
1
370
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Transcript
フルスクラッチで書いた アドサーバの開発運⽤用史 株式会社Gunosy 2014 年年 9⽉月
©Gunosy Inc. 印南聡志(いんなみ さとし) アドエンジニア 2014年年6⽉月⼊入社(4ヶ⽉月⽬目) ⾔言語 l Java l Python
Git Hubアカウント l satoshi03 ⾃自⼰己紹介
©Gunosy Inc. 業務 • 「広告による収益を最⼤大化する」 • AdServerの開発・運⽤用 • 配信周りの開発 •
広告推薦ロジック開発 • 広告枠の開発 • ログ集計・分析 • チーム⼈人数 • 3 ~∼ 4⼈人 アドチームとは
©Gunosy Inc. 罠にかかって学んだ広告事業で⼤大切切な2つのこと 本⽇日話したい内容
©Gunosy Inc. Gunosyの広告事業 ⾃自社製のAdServerを開発・運⽤用 Gunosy Ads l ⾃自社メディア(Gunosyアプリ)に広告配信 Gunosy Ad
network l 他社メディアに広告配信 今回のお話
©Gunosy Inc. 広告事業で⼤大切切なこと 広告による収益の最⼤大化 良良い広告を⼤大量量に配信すること
©Gunosy Inc. 良良い広告とは? メディア (Gunosy) ・ ユーザのクリック率(CTR)が高い ・
広告の単価が高い 第一の罠 単価の高い広告をクリックさせればいい
©Gunosy Inc. メディア視点での収益⾄至上主義の罠 メディアの収益性を上げたい!! とにかくクリックされやすい広告を出す クリック率率率が上昇しメディアの収益が増加 しかし、、、
©Gunosy Inc. しかし、、 次第に収益が低下
©Gunosy Inc. このとき起きていること ユーザ メディア (Gunosy) 広告主 ・ ユーザのクリック率が高い
・ 広告の単価が高い ・ ニーズにマッチしていない ・ ストレスが多い ・ ユーザのコンバージョン率 が低い • ストレス増加によるユーザの離脱 • 効果があわないことによる広告主の離脱
©Gunosy Inc. ⼤大切切なこと:その1 ユーザ メディア (Gunosy) 広告主 ・ ユーザのクリック率が高い
・ 広告の単価が高い ・ ニーズにマッチしている ・ ストレスが少ない ・ ユーザのコンバージョン率 が高い 良い広告の定義はユーザ・広告主・メディアによって異なる ユーザ・広告主・メディア全ての利益を最大化!「三方良し」
©Gunosy Inc. 【参考】良良い広告を判断するための指標 DAU (Daily Active User) 1⽇日のアクティブユーザ数 CVR (ConveRsion
Rate) クリックに対するコンバージョンの割合 ユーザ 広告主 メディア eCPM (effec2ve Cost Per Mill) 1000回インプレション(表示)あたりの収益 CTR (Click Through Rate) インプレッション(表示)に対するクリックの割合 CPA (Cost Per Acquisi2on) 1コンバージョンにかかったコスト
©Gunosy Inc. 広告事業で⼤大切切なこと 広告による収益の最⼤大化 良良い広告を⼤大量量に配信すること
©Gunosy Inc. ⼤大量量に配信するとは? • 配信にレイテンシを出さない(< 50msec) • 表⽰示枠(在庫)を増やす • (もちろん)⽌止まらない
©Gunosy Inc. アクセス数の急激な増加 5⽉月から4ヶ⽉月で5倍以上のアクセス数の増加 数千万リクエスト/ 日 数億リクエスト/日 5月 9月
©Gunosy Inc. アクセス数の時間ごとの急激な増加 ピーク時には通常時の3倍〜~5倍のアクセス 21:00 17:00 12:00
8:00 リクエスト数 時間
©Gunosy Inc. 第二の罠 サーバを横に並べればなんとかなる!
©Gunosy Inc. サーバ台数を20台に、、 _⼈人⼈人⼈人⼈人⼈人⼈人_ > レイテン⽒氏来訪 <  ̄Y^Y^Y^Y^Y ̄
©Gunosy Inc. そのとき何がおこっていたか 問題:R/WをするRedisにアクセスが集中 Write/Bulk Read待ちが発⽣生し遅延が発⽣生 ・・・・・ Elastic Load Balancing
EC2 instance Redis on EC2 instance Redis Read Replica
©Gunosy Inc. 対策 ・・・・・ Elastic Load Balancing EC2 instance Redis
on EC2 instance Redis Read Replica Amazon S3 bucket 配信側でRedisのReadをファイルで処理 s3からダウンロードして各インスタンスでロード レイテンシ が50msec以内に!!
©Gunosy Inc. ⼤大切切なこと:その2 たとえキャッシュでも1箇所を参照するような構成にしない スケールアウトの過程で必ずボトルネックに
©Gunosy Inc. まとめ 罠にかかって学んだ広告事業で⼤大切切な2つのこと 1. ユーザ・広告主・メディア全ての利利益を最⼤大化 2. キャッシュでも1箇所を参照するような構成にしない
©Gunosy Inc. We are hiring!!! 良良い広告を⼤大量量に配信する仕組みを 作りたいエンジニアWanted!!