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

推薦によるプロダクト改善とマイクロサービスが噛み合った話

 推薦によるプロダクト改善とマイクロサービスが噛み合った話

Hazumi Ichijo

June 07, 2023
Tweet

More Decks by Hazumi Ichijo

Other Decks in Technology

Transcript

  1. 自己紹介 © 2023 Wantedly, Inc. 一條 端澄 @hazumirr/@rerost 略歴: 2018~

    : ウォンテッドリー株式会社 • 2018/04~ 推薦基盤チーム Eng ◦ 2019/10 推薦ロジックのマイクロサービス化 • 2021/09~ 推薦チーム PjM • 2022/06~ 推薦チーム Leader 趣味: テトリス・旅行
  2. 自己紹介 © 2023 Wantedly, Inc. 一條 端澄 @hazumirr/@rerost 略歴: 2018~

    : ウォンテッドリー株式会社 • 2018/04~ 推薦基盤チーム Eng ◦ 2019/10 推薦ロジックのマイクロサービス化 • 2021/09~ 推薦チーム PjM • 2022/06~ 推薦チーム Leader 趣味: テトリス・旅行
  3. チーム構成 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS

    Android Web 募集一覧 API Push通知 発見タブ API etc.. DS 推薦基盤
  4. チーム構成 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS

    Android Web 募集一覧 API Push通知 発見タブ API etc.. Python Ruby on Rails
  5. チーム構成 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS

    Android Web 募集一覧 API Push通知 発見タブ API etc.. 依存関係が思ったより複雑
  6. 問題点 1. 依存関係が複雑 • 不必要な認知負荷 • スコアを改善したくても複雑で大変 2. 障害時の影響範囲を狭められない •

    RDBやElasticsearchが相乗りしている状態 • 依存関係が複雑なので、思わぬところも壊れてしまう 3. 並列処理を行えない • レスポンスタイムによりプロダクト改善に制約がかかる © 2023 Wantedly, Inc.
  7. マイクロサービス化 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS

    Android Web 募集一覧 API Push通知 発見タブ API etc.. ここをマイクロサービス化 & 依存の整理
  8. マイクロサービス化 © 2023 Wantedly, Inc. 募集のスコア iOS Android Web DS

    他のチーム 推薦基盤 ユーザの入 力に合わせ て募集推薦 募集一覧 API Push通知 発見タブ API etc..
  9. マイクロサービス化 © 2023 Wantedly, Inc. 募集のスコア iOS Android Web Python

    Ruby on Rails Go ユーザの入 力に合わせ て募集推薦 募集一覧 API Push通知 発見タブ API etc..
  10. マイクロサービス化の結果 1. デリバリーのリードタイムが短縮 • 1週間 -> 2,3日 2. 障害時の影響範囲が局所化 •

    全体に波及する障害はごく僅かに 3. レスポンスタイムが向上 • 2000ms -> 200ms © 2023 Wantedly, Inc.
  11. マイクロサービス化して3,4年経過後 1. DSだけでリリース可能に • 2,3日 -> 30分 • https://www.wantedly.com/companies/wantedly/post_articl es/309759

    2. スケーラビリティが向上 • データ量が10倍に • https://www.wantedly.com/companies/wantedly/post_articl es/300907 => これらの変更もあり、施策数が増えプロダクトのコア指標が継続的に向上 © 2023 Wantedly, Inc.
  12. なぜ噛み合ったか 1. チームが出すユーザーへの価値や能力と切り方がマッチ • 認知負荷を下げる • チームの境界と一致 => 単独で改善ができる 2.

    責務が明確 • ユーザーとユーザーの入力に応じ適切な募集を出す 3. ユーザー価値が高い箇所 © 2023 Wantedly, Inc.