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

広告配信システムにおけるリアーキテクティング

 広告配信システムにおけるリアーキテクティング

技術的負債の返済するアプローチの一つとしてのリアーキテクティングについて、VOYAGE GROUP/fluctでの事例をご紹介します。

CARTA Engineering

June 28, 2021
Tweet

More Decks by CARTA Engineering

Other Decks in Technology

Transcript

  1. fluct 紹介 ਤ͸ʮ&OHJOFFSTJO70:"(&ʔࣄۀΛΤϯδχΞϦϯά͢Δٕज़ऀͨͪʯ͔ΒҾ༻ ˔ GMVDU͸޿ࠂ഑৴γεςϜશମͷ͏ͪ޿ࠂ͕ܝࡌ͞ΕΔϝσΟΞଆͰར༻͞ΕΔ࢓૊Έ Λఏڙɻ Ұൠతʹʮ441 4VQQMZ4JEF1MBUGPSN ʯͱݺ͹Ε͍ͯΔɻ ˔

    ޿ࠂΛग़͢ଆͰར༻͞ΕΔʮ%41ʯɺ΋͘͠͸ʮΞυωοτϫʔΫʯͱ͍ͬͨผͷγ εςϜͱ࿈ܞͯ͠ʮ͍͍ײ͡ʯʹ޿ࠂΛग़͢͜ͱ͕ओͳ͓࢓ࣄɻ ˔ ݄ؒ޿ࠂ഑৴ԯJNQҎ্ສαΠτҎ্ʹར༻͞Ε͍ͯͯ೔ຊ࠷େڃͷ441ɻ
  2. 三つのアプローチとその実践 広告配信設定にprotobufスキーマを入れた話 • なぜその手法を選択したのか ◦ 元はスキーマがなかった ▪ JSONライクなデータがMessagePackでエンコードされていた ◦ 開発に関わる人数が増えてきてスキーマが欲しくなった

    ▪ データを使うところのソースだけ見てもどういうデータが入っているか分か らない ◦ サービスを止めることはできないので、新旧を並行稼働させてうつしていく • どういう情報から事業的な意思決定をしたのか ◦ サービスを止める選択肢はそもそもない • どのように実践したか
  3. リアーキテクティング ー Before 広告配信サーバ 配信設定作成 (ECS) 広告配信設定 <問題> • データを使う配信サーバのソ

    ースを見てもデータの中身が 分かりづらい • どんなデータが入っているか を一覧するなら作成している 方のソースを読ままいといけ ない • どの枠に何の広告を出すかというよ うな設定情報ファイル(1GB程度) • フォーマットはMessagePack (JSON様のバイナリシリアライズフ ォーマット)
  4. リアーキテクティング ー After 広告配信サーバ 配信設定作成 (ECS) 旧広告配信設 定 <対処後> •

    スキーマをみればどんなデー タが入っているのか分かる • スキーマを前提とした単体テ ストも書ける 新広告配信設 定 リアーキテクティング • ProtocolBuffersでスキーマを定義 • 一部の新しいデータのみPB版を提供 • 徐々に移し替えて移行していく