SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
DSPを始めよう!
∼ Scala製RTB-DSP service “Sphere” のご紹介 ∼
Hidenori MATSUKI (@mazgi) Scalive # 1 July 15, 2014
今日のアジェンダ
• 自己紹介
• 会社紹介
• Scala製RTB-DSP service “Sphere”のご紹介
• "Sphere"を運用してみて
• これからの”Sphere”
• 最後に
Hidenori MATSUKI ( @mazgi )
Maverick inc.
Manager of “Sphere” department.
!
アドテクはじめて半年経ちました
!
http://mazgi.com
or
Who is mazgi?
は
じ
め
ま
し
た
す
か
ら
What is Maverick inc.?
• マーベリック株式会社	

• 西新宿にあるアドテクの会社です	

• 2013年11月創業!	

• 2013年12月"Sphere”サービス開始!	

• エンジニア十数名
Our Product & Service
今日ご紹介する
Scala製RTB-DSP service “Sphere”
を開発・運営しています
Maverick inc.は
ScalaMatsuriを
おうえんしています!
• 当資料の内容は「サービスインあるある」な感
じかもしれません。
• 当資料には真のScalaistから見てツッコミ

どころのある内容が含まれています、きっと。
• お手元の(Air)マサカリを投げる機会は最後に

ございますので、どなたさまも(Air)マサカリ

の素振りをしながらご清聴願います。
御注意
Scala製RTB-DSP service
“Sphere”のご紹介
What’s RTB-DSP ?
• RTB→Real Time Bidding
• Web広告が表示される瞬間に広告枠のオークションを行われ
配信される広告が決まる仕組み
• DSP→Demand Side Platform
• 広告主に代わりSSPから広告枠を買い付けるプラットフォーム
• SSP→Supply Side Platform
• 広告媒体者に代わりDSPに広告枠を販売するプラットフォーム
広告主
Audience
It'swe!
DSP SSP Media
※画像は http://jp.yamaha.com/products/network/downloads/tools/ より
広
告
出
稿
広
告
閲
覧
1. 広告リクエスト
2. bid request
3. 入札判断
4. bid response
5. 落札通知
6. 広告配信
afewsecs
100 ms or die!
Sphereの特徴
• Scala製!
• RTB部分→Scala, Play Framework2
• 集計・機械学習部分→Scala
• Web管理画面→Play Framework2
• 機械学習で賢く入札
• すべて物理サーバーで構成
• http://knowledge.sakura.ad.jp/case-study/1695/
“Sphere“"を運用してみて
“Sphere“"を運用してみて
• 半年経ってようやく開発フロー固まってきた感じ
• GitHub.com使用
• 一応PullRequest駆動
• なんとなくgit-flow
• Redmine併用
• コミュニケーションはSkype使用
“Sphere“"を運用してみて
• 半年経ったけどDeployフローまだまだ
• Ansibleでdeploy
• sbtとPlayのバージョン数種類併用

→deploy時はsbtenv, playenvでビルド
• ミドルウェア依存部分のテストがまだまだ
• 本番安定性は確保できるようになった(
“Sphere“"を運用してみて
• Scala, sbt, Play Frameworkのバージョン対応
• playenv
• sbtenv
• sbt-extras
各自この辺りのツールを使ってます
エピソード
• ScalikeJDBCで爆速な話
• MySQL to MariaDBな話
• Hadoop(YARN)な話
ScalikeJDBCで爆速な話
ScalikeJDBCで爆速
ある日のSkype
ScalikeJDBCで爆速
\merged/
MySQL to MariaDBな話
MySQL to MariaDB
Old 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
Hadoop(YARN)な話
Hadoop(YARN)
なぜかHive Jobがメモリ使ってくれない・・・
!!!
しばらく(*'ω' *)ィャンと(*'ω' *)マモリーが社内流行語に・・・
教訓:設定ファイルはちゃんと確認しましょう
これからの"Sphere"
ポイント
• もっとScalaを活かしたい
• アーキテクチャ刷新します!
• ログ収集と解析を強化します!
RealTimeBidding
Aggregate&Learning
Internet
SSPs and Audiences
Architecture
RealTimeBidding
Aggregate&Learning
Internet
SSPs and Audiences
Architecture
最後に
マサカリの投げ方
• @mazgiにマサカリを投げる
• 次回 #Scalive で壇上からマサカリを投げる
• Maverick inc.に入社して思う存分マサカリを投げる
!!
We’re hiring!

Más contenido relacionado

Destacado

ScalaでDSP作ってみた
ScalaでDSP作ってみたScalaでDSP作ってみた
ScalaでDSP作ってみたJiro Hiraiwa
 
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るJAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るNaoyuki Yamada
 
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用Tatsuro Hisamori
 
GMOプライベートDMPの仕組み
GMOプライベートDMPの仕組みGMOプライベートDMPの仕組み
GMOプライベートDMPの仕組みMichio Katano
 
DSP「ScaleOut」の成長と負荷対策
DSP「ScaleOut」の成長と負荷対策DSP「ScaleOut」の成長と負荷対策
DSP「ScaleOut」の成長と負荷対策Toshiaki Ishibashi
 
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~Developers Summit
 
All about Programmatic buying(RTB), DSP,SSP, DMP & DCT - A complete digital ...
All about Programmatic buying(RTB), DSP,SSP, DMP & DCT -  A complete digital ...All about Programmatic buying(RTB), DSP,SSP, DMP & DCT -  A complete digital ...
All about Programmatic buying(RTB), DSP,SSP, DMP & DCT - A complete digital ...Karunakar Ravirala
 
Sano tokyowebmining 201625_v04
Sano tokyowebmining 201625_v04Sano tokyowebmining 201625_v04
Sano tokyowebmining 201625_v04Masakazu Sano
 
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回Naoyuki Yamada
 
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...Insight Technology, Inc.
 
アドテク勉強会
アドテク勉強会アドテク勉強会
アドテク勉強会Shoho Kozawa
 

Destacado (13)

ScalaでDSP作ってみた
ScalaでDSP作ってみたScalaでDSP作ってみた
ScalaでDSP作ってみた
 
ネット広告のシステム関連の話
ネット広告のシステム関連の話ネット広告のシステム関連の話
ネット広告のシステム関連の話
 
広告の最適化
広告の最適化広告の最適化
広告の最適化
 
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作るJAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
JAWS-2013-LT 10000req/secを50msecで返すサーバーインフラをAWSで作る
 
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
平均レスポンスタイム50msをPerlで捌く中規模サービスの実装/運用
 
GMOプライベートDMPの仕組み
GMOプライベートDMPの仕組みGMOプライベートDMPの仕組み
GMOプライベートDMPの仕組み
 
DSP「ScaleOut」の成長と負荷対策
DSP「ScaleOut」の成長と負荷対策DSP「ScaleOut」の成長と負荷対策
DSP「ScaleOut」の成長と負荷対策
 
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
デブサミ2013【15-C-6】5msの中身を公開!~ネット広告配信と支える職人達~
 
All about Programmatic buying(RTB), DSP,SSP, DMP & DCT - A complete digital ...
All about Programmatic buying(RTB), DSP,SSP, DMP & DCT -  A complete digital ...All about Programmatic buying(RTB), DSP,SSP, DMP & DCT -  A complete digital ...
All about Programmatic buying(RTB), DSP,SSP, DMP & DCT - A complete digital ...
 
Sano tokyowebmining 201625_v04
Sano tokyowebmining 201625_v04Sano tokyowebmining 201625_v04
Sano tokyowebmining 201625_v04
 
ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回ElasticSearch勉強会 第6回
ElasticSearch勉強会 第6回
 
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
[db tech showcase Tokyo 2015] B17:PostgreSQLで動的にスケールアウト可能な負荷分散DBクラスタを作ろう! by ...
 
アドテク勉強会
アドテク勉強会アドテク勉強会
アドテク勉強会
 

Más de Hidenori Matsuki

LTから入門するPython開発環境 #PyLadiesTokyo
LTから入門するPython開発環境 #PyLadiesTokyoLTから入門するPython開発環境 #PyLadiesTokyo
LTから入門するPython開発環境 #PyLadiesTokyoHidenori Matsuki
 
さくらとWeb×マーケティングの夕べ #1
さくらとWeb×マーケティングの夕べ #1さくらとWeb×マーケティングの夕べ #1
さくらとWeb×マーケティングの夕べ #1Hidenori Matsuki
 
Production Services with Gentoo Linux on SAKURA Cloud
Production Services with Gentoo Linux on SAKURA CloudProduction Services with Gentoo Linux on SAKURA Cloud
Production Services with Gentoo Linux on SAKURA CloudHidenori Matsuki
 
Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )Hidenori Matsuki
 
#Fluentd ドキュメント日本語化のその後
#Fluentd ドキュメント日本語化のその後#Fluentd ドキュメント日本語化のその後
#Fluentd ドキュメント日本語化のその後Hidenori Matsuki
 

Más de Hidenori Matsuki (6)

LTから入門するPython開発環境 #PyLadiesTokyo
LTから入門するPython開発環境 #PyLadiesTokyoLTから入門するPython開発環境 #PyLadiesTokyo
LTから入門するPython開発環境 #PyLadiesTokyo
 
さくらとWeb×マーケティングの夕べ #1
さくらとWeb×マーケティングの夕べ #1さくらとWeb×マーケティングの夕べ #1
さくらとWeb×マーケティングの夕べ #1
 
6th Japan IT week autumn
6th Japan IT week autumn6th Japan IT week autumn
6th Japan IT week autumn
 
Production Services with Gentoo Linux on SAKURA Cloud
Production Services with Gentoo Linux on SAKURA CloudProduction Services with Gentoo Linux on SAKURA Cloud
Production Services with Gentoo Linux on SAKURA Cloud
 
Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )Beginning comfortable documentation with jenkins and doxygen ( public )
Beginning comfortable documentation with jenkins and doxygen ( public )
 
#Fluentd ドキュメント日本語化のその後
#Fluentd ドキュメント日本語化のその後#Fluentd ドキュメント日本語化のその後
#Fluentd ドキュメント日本語化のその後
 

#Scalive 1 : Getting started RTB-DSP with Scala