Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Qiita Career Meetup for Server Side Engineers
Search
tosametal
July 20, 2018
Technology
4
4k
Qiita Career Meetup for Server Side Engineers
2017/7/20開催のSever Side Engineer向け採用イベント
https://connpass.com/event/92668/
tosametal
July 20, 2018
Tweet
Share
More Decks by tosametal
See All by tosametal
マイクロアドのアドテクを支える技術
tosametal
0
99
DigdagでETL処理をする
tosametal
0
4k
Other Decks in Technology
See All in Technology
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
260
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
Jetpack Composeで始めるServer Cache State
ogaclejapan
2
170
20241220_S3 tablesの使い方を検証してみた
handy
3
360
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
180
生成AIのガバナンスの全体像と現実解
fnifni
1
180
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
160
Amazon VPC Lattice 最新アップデート紹介 - PrivateLink も似たようなアップデートあったけど違いとは
bigmuramura
0
190
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
13
3.6k
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
160
Featured
See All Featured
Designing for humans not robots
tammielis
250
25k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Scaling GitHub
holman
458
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Gamification - CAS2011
davidbonilla
80
5.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Rails Girls Zürich Keynote
gr2m
94
13k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
How GitHub (no longer) Works
holman
311
140k
Statistics for Hackers
jakevdp
796
220k
Transcript
Qiita Career Meetup for Server Side Engineer 株式会社MicroAd テックリード 中野翔太
2018/7/20(金)
会社概要 事業内容 本社 設立 社員数 開発拠点 Data Platform/Ad Platform 渋谷
2007年7月 200人 東京/京都
発表内容 1. MicroAdの事業,技術 2. 開発案件紹介
1. MicroAdの事業,技術
アドプラットフォーム その他広告サービス Ad Platform
1回目のアクセス 転職広告 サイトA 同じサイトを訪れても、違う広告が表示される 車広告 サイトA 2回目のアクセス
SSP DSP1 DSP3 DSP2 30円 50円 10円 転職広告 RTB(Real Time
Bidding) 健康食品 広告 車広告 ※実際の入札金額はもっと少ないです。説明を分かりやすくするためこの金額にしています 転職広告 サイトA 最も高い金額の50円を出した DSP2の広告が落札され表示
• SSP • メディアの広告管理を自動化し、収益の最大 化を実現 • DSP • WEB上の行動・属性データや購買データ、位 置情報など多彩なターゲティングが可能
• アカウント開設約18000社 • 国内の代表的なAdExchangeやSSPと連携 MicroAdのSSP,DSP製品
システム紹介(BLADE) • Bid Request 150億/day, Impression 30億/month • ピーク時20万QPS •
レスポンス5~10ms(ネットワークのレイテンシは除く) • Scala, Java, Python • 他社データ(CCC, SoftBank, Geo, EC, Credit etc...) • 約1500台のサーバ(全てオンプレミス)
Data Platform
WEB上の行動履歴 世田谷在住 30代男性 旅行サイトで申し込みあり ポルシェに興味あり
• 毎朝野菜ジュース購入 • ユニクロでTシャツ購入 • 渋谷のコンビ二利用 • 世田谷在住30代男性 • 旅行サイトで申し込み
• ポルシェに興味あり • • 平日は渋谷、休日は市川 • 月に1回は大阪 • 平日も夜は新宿が多い • ニンテンドーSwitch購入 • サイクロン掃除機 • トーマスのおもちゃ WEB上の行動履歴 位置情報データ EC購買データ リアル購買データ データを繋げてわかる 真のユーザ像
UNIVERSE FFM FFM(Full Funnel Management) 多様なデータからユーザ毎のオンラインKPI の到達可能性をAIでスコアリングし広告配 信を最適化 潜在層 見込層
直近層
None
オンライン上のデータだけでなく オフラインの行動データをマネジメント対象に加える UNIVERSE FFM
UNIVERSE Bidder(仮) DDD 広告配信プラットフォーム絶賛新規開発中!
まとめ
2. 開発案件紹介
案件1. サイトアクセスログ
サイトにアクセスしたログをリアルタイムに処理 要件 • 2~5万QPS • 整形・加工 • ログの順序は保持 トップ ページ
商品 ページ 購入 ページ 12:00:00 12:00:05 12:00:10 購入でCV(コンバージョン) 達成
Spark Streamingによるストリーム処理 アクセスログの重複排除・整形・加工 ※詳細は弊社エンジニアブログ(https://developers.microad.co.jp/entry/2018/04/03/121012)で確認出来ます ※Qiita記事もあります
パーティション1 パーティション2 パーティション3 エグゼキュータ1 エグゼキュータ3 エグゼキュータ2 • KafkaとSpark間の並列処理を容易に実装できる • at
least onceを保証できる Direct Stream
高速化 MySQL Scheduler 更新 Actor ActorSystem ドライバ エグゼキュータ エグゼキュータ エグゼキュータ
定期的に メッセージ送信 →2~5万QPSのパフォーマンス要件を満たす DBから取得し たデータは メモリに保持
リアルタイムにスコアを算出 →その瞬間にCV確率の高いユーザに対しての配信が可能
案件2. 入札額算出フロー刷新
入札額 SSP DSP1 DSP3 DSP2 30円 50円 10円 転職広告 健康食品
広告 車広告 転職広告
既存の入札額算出フロー DWH 分析 ツール crontab データソース ジョブ管理 • 複数のデータソース •
ブラックボックス化した分析基盤 • スケールしづらいDWH • 複雑なジョブ管理 • 実行環境依存のバッチ処理 など問題は山積み・・・ DWHにデータを転送 DWHで入札額計算処理を実行 Hadoop Hadoop Hadoop Hadoop
新データ基盤アーキテクチャ • ログのJson化 • DWHをhadoopに変更 • digdagを用いたworkflow管理 • バッチのコンテナ実行 ※詳細は弊社エンジニアブログ(https://developers.microad.co.jp/entry/2018/05/24/131136)で確認出来ます
※Qiita記事もあります 広告配信 サーバなど 各種サーバ バッチ処理 リアルタイム処理
digdagによるworkflow管理 TreasureData社製workflow管理ツール • yamlに似たDSLでworkflowを記述 • Dockerコンテナでの実行を標準サポート • session_timeにより実行予定時間を保持 • UIからリカバリ可能
• その他workflow管理に必要な要件を満たす
MicroAd BLADEにおける入札額算出処理 3. 入札額算出 2. 広告効果予測 1. 入力データ 生成 機械学習用
サーバ tsv形式でdownload それぞれの処理の スケジュールや依存関係を digdagで管理
digdagのコード digdagのUI
MicroAd BLADEにおける入札額算出から適用まで RTB サーバ 機械学習 サーバ KVS
- 2つの開発事例の紹介 - 技術選定の裁量権は案件担当エンジニアにある まとめ
WE ARE HIRING! https://recruit.microad.co.jp/