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
170
テーブル駆動テストと状態
hazumirr
4
1.9k
オンラインテストしようと思った その日に開始できる環境を目指して
hazumirr
0
920
ChatGPTで僕が知っていることまとめ
hazumirr
3
3k
プロダクトチームとどう 協業し分析環境を改善するか
hazumirr
2
1.4k
bqv速習会
hazumirr
6
6.7k
Protobuf on Rails Tips
hazumirr
1
930
Before Chaos Engineering
hazumirr
1
780
推薦のためのdata pipelineのモニタリングとロギング
hazumirr
3
5.3k
Other Decks in Technology
See All in Technology
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
510
MLOps の現場から
asei
6
630
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
統計データで2024年の クラウド・インフラ動向を眺める
ysknsid25
2
830
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
Wantedly での Datadog 活用事例
bgpat
1
410
KubeCon NA 2024 Recap / Running WebAssembly (Wasm) Workloads Side-by-Side with Container Workloads
z63d
1
240
UI State設計とテスト方針
rmakiyama
2
300
Featured
See All Featured
How GitHub (no longer) Works
holman
311
140k
The Language of Interfaces
destraynor
154
24k
Gamification - CAS2011
davidbonilla
80
5.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Six Lessons from altMBA
skipperchong
27
3.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Agile that works and the tools we love
rasmusluckow
328
21k
Why Our Code Smells
bkeepers
PRO
335
57k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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.