🤗

レコメンデーション基盤の整備

課題

現状は、バックエンドのサービスは1つのモノリシックな API に集約されており、下記のような様々な機能が詰め込まれています。
  • 作品の登録・更新
  • ユーザプロフィールの変更
  • フォロー
  • コメント
  • 作品検索、ユーザ検索
  • レコメンデーション
結果的に、通常 Python で開発を行っているレコメンデーションエンジニアが、API 側の改修を含めてレコメンデーション結果の改善をしようとしたときに、両者をメンテナンスする必要が出てくる等、異なる専門性・ライフサイクルを持つ対象がコード内に混在していることによる認知コストが発生しています。

展望

マイクロサービスの分割は管理コストの増加につながるものの、レコメンデーションに関しては、チームに異なる専門性を要求すること・独立した改善サイクルを回せることから、マイクロサービス・チームとして独立し、責務と達成すべき目標を明確にしていこうとしています。
  • 自社製・他社製を含む複数モデルを組み合わせた推薦を実現し、それぞれのモデルの品質評価と改善を短いサイクルで回していくための基盤を構築する
  • 社内のレコメンデーションに関する機能をマイクロサービス・チームとして独立し、責務と達成すべき目標を明確にする