2017/7/20開催のSever Side Engineer向け採用イベント
https://connpass.com/event/92668/
Qiita Career Meetupfor Server Side Engineer株式会社MicroAdテックリード 中野翔太 2018/7/20(金)
View Slide
会社概要事業内容本社設立社員数開発拠点Data Platform/Ad Platform渋谷2007年7月200人東京/京都
発表内容1. MicroAdの事業,技術2. 開発案件紹介
1. MicroAdの事業,技術
アドプラットフォーム その他広告サービスAd Platform
1回目のアクセス転職広告サイトA同じサイトを訪れても、違う広告が表示される車広告サイトA2回目のアクセス
SSPDSP1DSP3DSP230円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 FFMFFM(Full Funnel Management)多様なデータからユーザ毎のオンラインKPIの到達可能性をAIでスコアリングし広告配信を最適化潜在層見込層直近層
オンライン上のデータだけでなくオフラインの行動データをマネジメント対象に加える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
高速化MySQLScheduler更新ActorActorSystemドライバエグゼキュータ エグゼキュータ エグゼキュータ定期的にメッセージ送信→2~5万QPSのパフォーマンス要件を満たすDBから取得したデータはメモリに保持
リアルタイムにスコアを算出→その瞬間にCV確率の高いユーザに対しての配信が可能
案件2. 入札額算出フロー刷新
入札額SSPDSP1DSP3DSP230円50円10円転職広告健康食品広告車広告転職広告
既存の入札額算出フローDWH分析ツールcrontabデータソースジョブ管理● 複数のデータソース● ブラックボックス化した分析基盤● スケールしづらいDWH● 複雑なジョブ管理● 実行環境依存のバッチ処理など問題は山積み・・・DWHにデータを転送 DWHで入札額計算処理を実行Hadoop HadoopHadoop 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/