Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
推薦によるプロダクト改善とマイクロサービスが噛み合った話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hazumi Ichijo
June 07, 2023
Technology
4.7k
2
Share
推薦によるプロダクト改善とマイクロサービスが噛み合った話
https://findy.connpass.com/event/283285/
での発表資料
Hazumi Ichijo
June 07, 2023
More Decks by Hazumi Ichijo
See All by Hazumi Ichijo
RailsとRidgepoleの マイグレを120倍早くする
hazumirr
0
400
CIを整備してメンテナンスを生成AIに任せる
hazumirr
0
1.5k
病院の情報フローを理解して、 予約〜会計の見え方が変わった話
hazumirr
1
1.9k
Rubyのコード削除したい時 僕がやること
hazumirr
0
270
テーブル駆動テストと状態
hazumirr
5
2.2k
オンラインテストしようと思った その日に開始できる環境を目指して
hazumirr
0
1.1k
ChatGPTで僕が知っていることまとめ
hazumirr
3
3.1k
プロダクトチームとどう 協業し分析環境を改善するか
hazumirr
2
1.6k
bqv速習会
hazumirr
6
7.2k
Other Decks in Technology
See All in Technology
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
0
220
APIテストとは?
nagix
0
140
組織の中で自分を経営する技術
shoota
0
210
GitHub Copilot CLIでWebアクセシビリティを改善した話
tomokusaba
0
120
『家族アルバム みてね』における インシデント対応との向き合い方 / Approach incident response in Family Album
kohbis
2
240
インフラが苦手でも大丈夫! 紙芝居 Kubernetes -WWGT 10周年編-
aoi1
1
300
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
520
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.2k
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
920
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
1
340
Kiro CLI v2.0.0がやってきた!
kentapapa
0
210
Javaで学ぶSOLID原則
negima
1
230
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
WENDY [Excerpt]
tessaabrams
11
38k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
190
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Paper Plane
katiecoart
PRO
1
50k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Transcript
© 2023 Wantedly, Inc. 推薦によるプロダクト改善と マイクロサービスが噛み合った話 みんなの経験から学ぶ、マイクロサービスへの挑戦と課題 LT大会 Jun. 7
2023 - Hazumi Ichijo
自己紹介 © 2023 Wantedly, Inc. 一條 端澄 @hazumirr/@rerost 略歴: 2018~
: ウォンテッドリー株式会社 • 2018/04~ 推薦基盤チーム Eng ◦ 2019/10 推薦ロジックのマイクロサービス化 • 2021/09~ 推薦チーム PjM • 2022/06~ 推薦チーム Leader 趣味: テトリス・旅行
自己紹介 © 2023 Wantedly, Inc. 一條 端澄 @hazumirr/@rerost 略歴: 2018~
: ウォンテッドリー株式会社 • 2018/04~ 推薦基盤チーム Eng ◦ 2019/10 推薦ロジックのマイクロサービス化 • 2021/09~ 推薦チーム PjM • 2022/06~ 推薦チーム Leader 趣味: テトリス・旅行
© 2023 Wantedly, Inc. https://www.wantedly.com/projects
目次 1. チーム構成の説明 2. 問題点 3. 直後に得られた効果 4. 3,4年経っても継続して得られた効果 5.
なぜ噛み合ったか © 2023 Wantedly, Inc.
チーム構成 © 2023 Wantedly, Inc. データサイエンティスト (以降 DS) 推薦基盤 (Backend,
MLOps) 推薦チーム
チーム構成 DS: 推薦アルゴリズムを構築する 推薦基盤: 安定したデリバリーをする © 2023 Wantedly, Inc. ユーザー
推薦基盤 DS
チーム構成 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS
Android Web 募集一覧 API Push通知 発見タブ API etc.. DS 推薦基盤
チーム構成 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS
Android Web 募集一覧 API Push通知 発見タブ API etc.. Python Ruby on Rails
チーム構成 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS
Android Web 募集一覧 API Push通知 発見タブ API etc.. 依存関係が思ったより複雑
問題点 1. 依存関係が複雑 • 不必要な認知負荷 • スコアを改善したくても複雑で大変 2. 障害時の影響範囲を狭められない •
RDBやElasticsearchが相乗りしている状態 • 依存関係が複雑なので、思わぬところも壊れてしまう 3. 並列処理を行えない • レスポンスタイムによりプロダクト改善に制約がかかる © 2023 Wantedly, Inc.
マイクロサービス化 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS
Android Web 募集一覧 API Push通知 発見タブ API etc..
マイクロサービス化 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS
Android Web 募集一覧 API Push通知 発見タブ API etc.. ここをマイクロサービス化 & 依存の整理
マイクロサービス化 © 2023 Wantedly, Inc. 募集のスコア ユーザの入 力に合わせ て募集推薦 iOS
Android Web 募集一覧 API Push通知 発見タブ API etc..
マイクロサービス化 © 2023 Wantedly, Inc. 募集のスコア iOS Android Web DS
他のチーム 推薦基盤 ユーザの入 力に合わせ て募集推薦 募集一覧 API Push通知 発見タブ API etc..
マイクロサービス化 © 2023 Wantedly, Inc. 募集のスコア iOS Android Web Python
Ruby on Rails Go ユーザの入 力に合わせ て募集推薦 募集一覧 API Push通知 発見タブ API etc..
マイクロサービス化の結果 1. デリバリーのリードタイムが短縮 • 1週間 -> 2,3日 2. 障害時の影響範囲が局所化 •
全体に波及する障害はごく僅かに 3. レスポンスタイムが向上 • 2000ms -> 200ms © 2023 Wantedly, Inc.
マイクロサービス化して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.
なぜ噛み合ったか 1. チームが出すユーザーへの価値や能力と切り方がマッチ • 認知負荷を下げる • チームの境界と一致 => 単独で改善ができる 2.
責務が明確 • ユーザーとユーザーの入力に応じ適切な募集を出す 3. ユーザー価値が高い箇所 © 2023 Wantedly, Inc.
© 2023 Wantedly, Inc.