GCPで行動ログ基盤 を開発している話
by
kaito2
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
GCPで行動ログ基盤 を開発している話 エムスリー株式会社 岩月 海人
Slide 2
Slide 2 text
自己紹介
Slide 3
Slide 3 text
自己紹介 - 岩月海人 (@kaito_two) - エムスリー株式会社 - AI・機械学習チーム - どちらかというとデータエンジニア - 2019年 4月16日 新卒(?)入社 - 主にGCP関連の基盤を担当
Slide 4
Slide 4 text
話すこと
Slide 5
Slide 5 text
話すこと ● m3.com とは? ● 行動ログ基盤 ○ 背景 ○ 概要 ○ 構成 ○ 設計・移行で苦しんだトコロ ● まとめ
Slide 6
Slide 6 text
m3.com とは?
Slide 7
Slide 7 text
m3.com とは? 医師限定会員サイト 医師向けYahooのようなイメージ(多分一つ前でもはなしてある) サイト内に複数サービス(現在20以上)への導線が存在する。
Slide 8
Slide 8 text
行動ログ基盤 (移行中)
Slide 9
Slide 9 text
行動ログ基盤 目的 m3.com のサービス横断の広告表出システムをリニューアルする 概要 ● 対応サービスのコンテンツの中からユーザーに対しておすすめを表示(パーソナラ イズ) ● ユーザーの行動ログからCVをリアルタイムに補足
Slide 10
Slide 10 text
行動ログ基盤(現状の課題) なぜつくっているか? (既存システムの課題) 1. 各システムとの結合が強い ○ 表示可能なコンテンツを各サービスに問い合わせている (後述) 2. 他のシステムに相乗りする形で実装されている ○ 当時の開発スピードが優先されていた 3. 細かいパーソナライズができていない ○ 現状 「Aさんはニュースサービスが好き」 ○ やりたい 「AさんはXXXに関するニュースが好き」
Slide 11
Slide 11 text
各システムとの結合が強い 既存の広告システム 表示可能コンテンツ の問い合わせ 表示可能なコンテンツを 各サービスに問い合わせ ?? ?? ??
Slide 12
Slide 12 text
(その他にもいくつか内部の事情があり) データパイプライン作ろう
Slide 13
Slide 13 text
行動ログ基盤 | 構成
Slide 14
Slide 14 text
行動ログ基盤 | 構成 ユーザーに表示したいコンテンツを登録
Slide 15
Slide 15 text
行動ログ基盤 | 構成 パーソナライズされた 表示するコンテンツを提供
Slide 16
Slide 16 text
行動ログ基盤 | 構成 各サービスの行動ログを送信
Slide 17
Slide 17 text
行動ログ基盤 | 構成 Pub/Sub をサブスクリプションし、 行動ログからCVを判定
Slide 18
Slide 18 text
行動ログ基盤 | 構成 Pub/Sub をサブスクリプションし、 行動ログからCVを判定 状態を取得・更新
Slide 19
Slide 19 text
行動ログ基盤 | 構成
Slide 20
Slide 20 text
行動ログ基盤 | 構成 ココ
Slide 21
Slide 21 text
API 構成 表示可能なコンテンツを取得 m3の各サービス
Slide 22
Slide 22 text
API 構成 取得した情報をもとに最適化 (ロジックをPlugableにする)
Slide 23
Slide 23 text
設計・移行で悩んだトコロ
Slide 24
Slide 24 text
Pub/Sub のトピックを分割するか 現在は中央のトピックを立てている 関係ない Message でも呼び出される
Slide 25
Slide 25 text
Pub/Sub のトピックを分割するか Dataflow で分ける方法もあるが現状はしてない マシンリソースと Pub/Subのトラフィックがかかる
Slide 26
Slide 26 text
Cloud Datastore の制約 ● 一度に500エンティティまでしか書き込めない ○ コンテンツなどをBulkで追加するのが厳しい ● Kindごとの削除のコストが高い ○ Dataflowのジョブを起動する必要がある。 ■ https://cloud.google.com/datastore/docs/bulk-delete ● 基盤システムなので従量課金が厳しい(当たり前) BigTable を採用している
Slide 27
Slide 27 text
まとめ ● m3.com について ● m3.com 上のアドの仕組みをリニューアルしている ○ 様々な課題が ■ システムの密結合 ■ パーソナライズに改善の余地 ○ 行動ログ基盤をつくりリアルタイムなデータの活用を進める ● 構築上の悩み ○ Pub/Sub のトピック構成 ○ DBの選定(Datastoreが厳しそう)
Slide 28
Slide 28 text
ありがとうございました