Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Qiita Career Meetup for Server Side Engineers

Qiita Career Meetup for Server Side Engineers

2017/7/20開催のSever Side Engineer向け採用イベント

https://connpass.com/event/92668/

tosametal

July 20, 2018
Tweet

More Decks by tosametal

Other Decks in Technology

Transcript

  1. Qiita Career Meetup
    for Server Side Engineer
    株式会社MicroAd
    テックリード 中野翔太 2018/7/20(金)

    View Slide

  2. 会社概要
    事業内容
    本社
    設立
    社員数
    開発拠点
    Data Platform/Ad Platform
    渋谷
    2007年7月
    200人
    東京/京都

    View Slide

  3. 発表内容
    1. MicroAdの事業,技術
    2. 開発案件紹介

    View Slide

  4. 1. MicroAdの事業,技術

    View Slide

  5. アドプラットフォーム その他広告サービス
    Ad Platform

    View Slide

  6. 1回目のアクセス
    転職広告
    サイトA
    同じサイトを訪れても、違う広告が表示される
    車広告
    サイトA
    2回目のアクセス

    View Slide

  7. SSP
    DSP1
    DSP3
    DSP2
    30円
    50円
    10円
    転職広告
    RTB(Real Time Bidding)
    健康食品
    広告
    車広告
    ※実際の入札金額はもっと少ないです。説明を分かりやすくするためこの金額にしています
    転職広告
    サイトA
    最も高い金額の50円を出した
    DSP2の広告が落札され表示

    View Slide

  8. ● SSP
    ● メディアの広告管理を自動化し、収益の最大
    化を実現
    ● DSP
    ● WEB上の行動・属性データや購買データ、位
    置情報など多彩なターゲティングが可能
    ● アカウント開設約18000社
    ● 国内の代表的なAdExchangeやSSPと連携
    MicroAdのSSP,DSP製品

    View Slide

  9. システム紹介(BLADE)
    ● Bid Request 150億/day, Impression 30億/month
    ● ピーク時20万QPS
    ● レスポンス5~10ms(ネットワークのレイテンシは除く)
    ● Scala, Java, Python
    ● 他社データ(CCC, SoftBank, Geo, EC, Credit etc...)
    ● 約1500台のサーバ(全てオンプレミス)

    View Slide

  10. Data Platform

    View Slide

  11. WEB上の行動履歴
    世田谷在住
    30代男性
    旅行サイトで申し込みあり
    ポルシェに興味あり

    View Slide

  12. ● 毎朝野菜ジュース購入
    ● ユニクロでTシャツ購入
    ● 渋谷のコンビ二利用
    ● 世田谷在住30代男性
    ● 旅行サイトで申し込み
    ● ポルシェに興味あり

    ● 平日は渋谷、休日は市川
    ● 月に1回は大阪
    ● 平日も夜は新宿が多い
    ● ニンテンドーSwitch購入
    ● サイクロン掃除機
    ● トーマスのおもちゃ
    WEB上の行動履歴 位置情報データ
    EC購買データ
    リアル購買データ
    データを繋げてわかる
    真のユーザ像

    View Slide

  13. UNIVERSE FFM
    FFM(Full Funnel Management)
    多様なデータからユーザ毎のオンラインKPI
    の到達可能性をAIでスコアリングし広告配
    信を最適化
    潜在層
    見込層
    直近層

    View Slide

  14. View Slide

  15. オンライン上のデータだけでなく
    オフラインの行動データをマネジメント対象に加える
    UNIVERSE FFM

    View Slide

  16. UNIVERSE Bidder(仮)
    DDD
    広告配信プラットフォーム絶賛新規開発中!

    View Slide

  17. まとめ

    View Slide

  18. 2. 開発案件紹介

    View Slide

  19. 案件1. サイトアクセスログ

    View Slide

  20. サイトにアクセスしたログをリアルタイムに処理
    要件
    ● 2~5万QPS
    ● 整形・加工
    ● ログの順序は保持
    トップ
    ページ
    商品
    ページ
    購入
    ページ
    12:00:00 12:00:05 12:00:10
    購入でCV(コンバージョン)
    達成

    View Slide

  21. Spark Streamingによるストリーム処理
    アクセスログの重複排除・整形・加工
    ※詳細は弊社エンジニアブログ(https://developers.microad.co.jp/entry/2018/04/03/121012)で確認出来ます
    ※Qiita記事もあります

    View Slide

  22. パーティション1
    パーティション2
    パーティション3
    エグゼキュータ1
    エグゼキュータ3
    エグゼキュータ2
    ● KafkaとSpark間の並列処理を容易に実装できる
    ● at least onceを保証できる
    Direct Stream

    View Slide

  23. 高速化
    MySQL
    Scheduler
    更新
    Actor
    ActorSystem
    ドライバ
    エグゼキュータ エグゼキュータ エグゼキュータ
    定期的に
    メッセージ送信
    →2~5万QPSのパフォーマンス要件を満たす
    DBから取得し
    たデータは
    メモリに保持

    View Slide

  24. リアルタイムにスコアを算出
    →その瞬間にCV確率の高いユーザに対しての配信が可能

    View Slide

  25. 案件2. 入札額算出フロー刷新

    View Slide

  26. 入札額
    SSP
    DSP1
    DSP3
    DSP2
    30円
    50円
    10円
    転職広告
    健康食品
    広告
    車広告
    転職広告

    View Slide

  27. 既存の入札額算出フロー
    DWH
    分析
    ツール
    crontab
    データソース
    ジョブ管理
    ● 複数のデータソース
    ● ブラックボックス化した分析基盤
    ● スケールしづらいDWH
    ● 複雑なジョブ管理
    ● 実行環境依存のバッチ処理
    など問題は山積み・・・
    DWHにデータを転送 DWHで入札額計算処理を実行
    Hadoop Hadoop
    Hadoop Hadoop

    View Slide

  28. 新データ基盤アーキテクチャ
    ● ログのJson化
    ● DWHをhadoopに変更
    ● digdagを用いたworkflow管理
    ● バッチのコンテナ実行
    ※詳細は弊社エンジニアブログ(https://developers.microad.co.jp/entry/2018/05/24/131136)で確認出来ます
    ※Qiita記事もあります
    広告配信
    サーバなど
    各種サーバ
    バッチ処理
    リアルタイム処理

    View Slide

  29. digdagによるworkflow管理
    TreasureData社製workflow管理ツール
    ● yamlに似たDSLでworkflowを記述
    ● Dockerコンテナでの実行を標準サポート
    ● session_timeにより実行予定時間を保持
    ● UIからリカバリ可能
    ● その他workflow管理に必要な要件を満たす

    View Slide

  30. MicroAd BLADEにおける入札額算出処理
    3. 入札額算出
    2. 広告効果予測
    1. 入力データ
    生成
    機械学習用
    サーバ
    tsv形式でdownload
    それぞれの処理の
    スケジュールや依存関係を
    digdagで管理

    View Slide

  31. digdagのコード
    digdagのUI

    View Slide

  32. MicroAd BLADEにおける入札額算出から適用まで
    RTB
    サーバ
    機械学習
    サーバ
    KVS

    View Slide

  33. - 2つの開発事例の紹介
    - 技術選定の裁量権は案件担当エンジニアにある
    まとめ

    View Slide

  34. WE ARE HIRING!
    https://recruit.microad.co.jp/

    View Slide