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 full-size slide

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

    View full-size slide

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

    View full-size slide

  4. 1. MicroAdの事業,技術

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

  10. Data Platform

    View full-size slide

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

    View full-size slide

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

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. 2. 開発案件紹介

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  29. digdagのコード
    digdagのUI

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide