#scalive 1 : getting started rtb-dsp with scala
DESCRIPTION
#Scalive 1 http://connpass.com/event/6903/ 発表資料です。TRANSCRIPT
![Page 1: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/1.jpg)
DSPを始めよう!~ Scala製RTB-DSP service “Sphere” のご紹介 ~
Hidenori MATSUKI (@mazgi) Scalive # 1 July 15, 2014
![Page 2: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/2.jpg)
今日のアジェンダ• 自己紹介
• 会社紹介
• Scala製RTB-DSP service “Sphere”のご紹介
• "Sphere"を運用してみて
• これからの”Sphere”
• 最後に
![Page 3: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/3.jpg)
Hidenori MATSUKI ( @mazgi ) Maverick inc.
Manager of “Sphere” department. !
アドテクはじめて半年経ちました
!http://mazgi.com
or
Who is mazgi?
![Page 5: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/5.jpg)
What is Maverick inc.?
• マーベリック株式会社 • 西新宿にあるアドテクの会社です • 2013年11月創業!
• 2013年12月"Sphere”サービス開始!
• エンジニア十数名
![Page 6: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/6.jpg)
Our Product & Service
今日ご紹介する Scala製RTB-DSP service “Sphere”
を開発・運営しています
![Page 8: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/8.jpg)
• 当資料の内容は「サービスインあるある」な感じかもしれません。
• 当資料には真のScalaistから見てツッコミどころのある内容が含まれています、きっと。
• お手元の(Air)マサカリを投げる機会は最後にございますので、どなたさまも(Air)マサカリの素振りをしながらご清聴願います。
御注意
![Page 9: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/9.jpg)
Scala製RTB-DSP service “Sphere”のご紹介
![Page 10: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/10.jpg)
What’s RTB-DSP ?• RTB→Real Time Bidding
• Web広告が表示される瞬間に広告枠のオークションを行われ配信される広告が決まる仕組み
• DSP→Demand Side Platform
• 広告主に代わりSSPから広告枠を買い付けるプラットフォーム
• SSP→Supply Side Platform
• 広告媒体者に代わりDSPに広告枠を販売するプラットフォーム
![Page 11: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/11.jpg)
広告主
Audience
It's w
e!
DSP SSP Media
※画像は http://jp.yamaha.com/products/network/downloads/tools/ より
広告出稿
広告閲覧1. 広告リクエスト
2. bid request
3. 入札判断
4. bid response
5. 落札通知
6. 広告配信
a few secs
100 ms or die!
![Page 12: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/12.jpg)
Sphereの特徴• Scala製!
• RTB部分→Scala, Play Framework2
• 集計・機械学習部分→Scala
• Web管理画面→Play Framework2
• 機械学習で賢く入札
• すべて物理サーバーで構成
• http://knowledge.sakura.ad.jp/case-study/1695/
![Page 13: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/13.jpg)
“Sphere“"を運用してみて
![Page 14: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/14.jpg)
“Sphere“"を運用してみて• 半年経ってようやく開発フロー固まってきた感じ
• GitHub.com使用
• 一応PullRequest駆動
• なんとなくgit-flow
• Redmine併用
• コミュニケーションはSkype使用
![Page 15: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/15.jpg)
“Sphere“"を運用してみて• 半年経ったけどDeployフローまだまだ
• Ansibleでdeploy
• sbtとPlayのバージョン数種類併用→deploy時はsbtenv, playenvでビルド
• ミドルウェア依存部分のテストがまだまだ
• 本番安定性は確保できるようになった(
![Page 16: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/16.jpg)
“Sphere“"を運用してみて
• Scala, sbt, Play Frameworkのバージョン対応
• playenv
• sbtenv
• sbt-extras
各自この辺りのツールを使ってます
![Page 17: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/17.jpg)
エピソード
• ScalikeJDBCで爆速な話
• MySQL to MariaDBな話
• Hadoop(YARN)な話
![Page 18: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/18.jpg)
ScalikeJDBCで爆速な話
![Page 19: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/19.jpg)
ScalikeJDBCで爆速ある日のSkype
![Page 20: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/20.jpg)
ScalikeJDBCで爆速
\merged/
![Page 21: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/21.jpg)
MySQL to MariaDBな話
![Page 22: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/22.jpg)
MySQL to MariaDBOld DB New DB
Middleware MySQL 5.1.69 MariaDB 5.5.32
DB Engine InnoDB XtraDB
FileSystem Ext4 XFS
Kernel Version 2.6.32-358.23.2.el6.x86_64 3.12.13-gentoo
transactions/s!(4 threads)
653.25 822.39
r/w requests/s!(4 threads)
12411.72 15625.45
![Page 23: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/23.jpg)
Hadoop(YARN)な話
![Page 24: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/24.jpg)
Hadoop(YARN)なぜかHive Jobがメモリ使ってくれない・・・
!!!
しばらく(*'ω' *)ィャンと(*'ω' *)マモリーが社内流行語に・・・教訓:設定ファイルはちゃんと確認しましょう
![Page 25: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/25.jpg)
これからの"Sphere"
![Page 26: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/26.jpg)
ポイント
• もっとScalaを活かしたい
• アーキテクチャ刷新します!
• ログ収集と解析を強化します!
![Page 27: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/27.jpg)
Real T
ime Bidding
Agg
rega
te &
Lea
rnin
g
InternetSSPs and Audiences
Architecture
![Page 28: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/28.jpg)
Real T
ime Bidding
Agg
rega
te &
Lea
rnin
g
InternetSSPs and Audiences
Architecture
![Page 29: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/29.jpg)
最後に
![Page 30: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/30.jpg)
マサカリの投げ方
• @mazgiにマサカリを投げる
• 次回 #Scalive で壇上からマサカリを投げる
• Maverick inc.に入社して思う存分マサカリを投げる
!!
![Page 31: #Scalive 1 : Getting started RTB-DSP with Scala](https://reader034.vdocuments.site/reader034/viewer/2022052311/5565fa8bd8b42a20158b53df/html5/thumbnails/31.jpg)
We’re hiring!