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
PRO
June 07, 2023
Technology
2
3.3k
推薦によるプロダクト改善とマイクロサービスが噛み合った話
https://findy.connpass.com/event/283285/
での発表資料
Hazumi Ichijo
PRO
June 07, 2023
Tweet
Share
More Decks by Hazumi Ichijo
See All by Hazumi Ichijo
Rubyのコード削除したい時 僕がやること
hazumirr
PRO
0
70
テーブル駆動テストと状態
hazumirr
PRO
4
1.6k
オンラインテストしようと思った その日に開始できる環境を目指して
hazumirr
PRO
0
730
ChatGPTで僕が知っていることまとめ
hazumirr
PRO
3
2.8k
プロダクトチームとどう 協業し分析環境を改善するか
hazumirr
PRO
2
1.2k
bqv速習会
hazumirr
PRO
6
6k
Protobuf on Rails Tips
hazumirr
PRO
1
800
Before Chaos Engineering
hazumirr
PRO
1
720
推薦のためのdata pipelineのモニタリングとロギング
hazumirr
PRO
3
5k
Other Decks in Technology
See All in Technology
これまでのキャリアとこれからMLエンジニアとしてどう動くか
masatakashiwagi
0
550
エンジニア候補者向け資料2024.03.28.pdf
macloud
0
2.9k
技育祭2024春 LT Finatextホールディングス
kevinrobot34
1
170
サービス成長と共に肥大化するモノレポ、長くなるCI時間 / As services grow, monorepos get bigger and CI time gets longer
kohbis
5
2.1k
関数型DDDの理論と実践:「決定を遅らせる」を先につくり、 ビジネスの機動力と価値をあげる
knih
2
490
データマネジメントを支える武器としてのメタデータ管理
10xinc
2
860
オブジェクト指向CSSが叶えたかったことと、CSSのいま / The aims of Object-oriented CSS and the current state of CSS usage
shinkufencer
11
3.6k
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
1.5k
実務への応用例から考える 変更に強いオブジェクト指向設計 / 20240324-ooc2024
bengo4com
7
5.5k
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
Tohoku.Tech #1 「Cursorを使ったRaspberry Piの開発」by ねこまた
jun2882
0
250
Vos logs méritent mieux que la config par défaut
lyrixx
2
370
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
28
46k
For a Future-Friendly Web
brad_frost
170
8.9k
The Cult of Friendly URLs
andyhume
73
5.6k
Web development in the modern age
philhawksworth
201
10k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
Thoughts on Productivity
jonyablonski
57
3.8k
Practical Orchestrator
shlominoach
180
9.7k
[RailsConf 2023] Rails as a piece of cake
palkan
21
3.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
644
57k
Music & Morning Musume
bryan
39
5.5k
KATA
mclloyd
14
11k
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.