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
Hazumi Ichijo
June 07, 2023
Technology
2
3.9k
推薦によるプロダクト改善とマイクロサービスが噛み合った話
https://findy.connpass.com/event/283285/
での発表資料
Hazumi Ichijo
June 07, 2023
Tweet
Share
More Decks by Hazumi Ichijo
See All by Hazumi Ichijo
Rubyのコード削除したい時 僕がやること
hazumirr
0
160
テーブル駆動テストと状態
hazumirr
4
1.9k
オンラインテストしようと思った その日に開始できる環境を目指して
hazumirr
0
900
ChatGPTで僕が知っていることまとめ
hazumirr
3
3k
プロダクトチームとどう 協業し分析環境を改善するか
hazumirr
2
1.4k
bqv速習会
hazumirr
6
6.6k
Protobuf on Rails Tips
hazumirr
1
910
Before Chaos Engineering
hazumirr
1
770
推薦のためのdata pipelineのモニタリングとロギング
hazumirr
3
5.2k
Other Decks in Technology
See All in Technology
ISUCONに強くなるかもしれない日々の過ごしかた/Findy ISUCON 2024-11-14
fujiwara3
8
860
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
Amazon Personalizeのレコメンドシステム構築、実際何するの?〜大体10分で具体的なイメージをつかむ〜
kniino
1
100
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
The Role of Developer Relations in AI Product Success.
giftojabu1
0
120
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
スクラム成熟度セルフチェックツールを作って得た学びとその活用法
coincheck_recruit
1
140
いざ、BSC討伐の旅
nikinusu
2
780
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
Featured
See All Featured
What's new in Ruby 2.0
geeforr
343
31k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Happy Clients
brianwarren
98
6.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
25
1.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Faster Mobile Websites
deanohume
305
30k
Thoughts on Productivity
jonyablonski
67
4.3k
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.