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
Recruit
PRO
September 24, 2024
Technology
640
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
負債あるモノリスのオブザーバビリティに組織で向き合う
2024/09/25に、オブザーバビリティ実践までの道のり〜各社の課題とアプローチ方法とは?~で発表した、moppの資料です。
Recruit
PRO
September 24, 2024
More Decks by Recruit
See All by Recruit
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
5
2.1k
ブラウザ研修 2026
recruitengineers
PRO
7
1.3k
事業価値と Engineering 2026年度版
recruitengineers
PRO
56
26k
トヨタ⽣産⽅式(TPS)⼊⾨
recruitengineers
PRO
3
1.1k
JavaScript 研修 (2026)
recruitengineers
PRO
2
690
TypeScript入門 2026
recruitengineers
PRO
3
1.1k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
980
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
750
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
9
3.3k
Other Decks in Technology
See All in Technology
8bit CPU 2026
koba789
7
2.7k
内製AIチャットボット開発で学んだ Datadog Agent Observability活用術
mkdev10
0
110
SmartHR Engineering Team Deck
smarthr
1
3.6k
:syncing_time:
sksat
2
520
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
440
RelayerというPHPのフレームワークを作った
polidog
PRO
0
130
コーチングの奥義 何もしないテクニック
jinwatanabe
0
150
dbt と Snowflake と tag
kevinrobot34
1
160
会社紹介資料 / Sansan Company Profile
sansan33
PRO
24
430k
DatadogのBits Chatが開発組織にもたらしたもの / What Bits Chat Has Brought Us
sms_tech
1
300
【Aiming】共通基盤なのに「共通化しない」課金・認証基盤「LINK」が選び取ったシングルテナント戦略と運用の秘訣
saikeda
0
160
同じWAFが、攻撃の“形”は弾く── 正当な“形”の不正は通す
kuroneko13
0
270
Featured
See All Featured
Chasing Engaging Ingredients in Design
codingconduct
0
280
GraphQLとの向き合い方2022年版
quramy
50
15k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
440
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
430
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Scaling GitHub
holman
464
140k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
How to train your dragon (web standard)
notwaldorf
97
6.8k
What's in a price? How to price your products and services
michaelherold
247
13k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
470
Producing Creativity
orderedlist
PRO
348
40k
Transcript
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 負債あるモノリスのオブザーバビリティに 組織で向き合う @mopp オブザーバビリティ実践までの道のり〜各社の課題とアプローチ方法とは?〜
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ About mopp • 仕事 ◦ ソフトウェアエンジニア • エディタ
◦ Neovim ◦ VimConf 2024 の運営やってます • 最近のできごと ◦ セブンイレブンの豆腐ガトーショコラを 自宅で量産できた
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ About スタディサプリ 小中高 様々なスタディサプリの内 「小学講座」「中学準備・中学 講座」「大学受験講座」の領域 でのお話しをします
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ • もっとオブザーバビリティ/監視を推進したいけど どうしたらいいのか悩んでいる人 • モノリスのオブザーバビリティ/監視を改善したい人 対象者
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ オブザーバビリティとは? オブザーバビリティとは?監視との違い、必要性について解説 | New Relic より 何が起きたかを 見続けること
監視 なぜそれが起きたかを 探り出すこと オブザーバビリティ 基礎に「監視」がある (自分でも理解が曖昧でした) より進んだ概念
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ オブザーバビリティを実践するために 監視から強化していく
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 歴史と負債のあるモノリス Ruby サーバ アプリケーション 多くの機能が乗っている要所 エンドポイント数: 約240個 Web,
Android, iOS の全クライアントから利用 地層の最深層は2015年くらい チーム エンドユーザ 利用する チーム チーム チーム チーム チーム チーム チーム チーム チーム チーム チーム チーム チーム チーム 約15チーム 開発する
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 歴史と負債のあるモノリス 直面する問題(の一部) エラー増加したとき どのチームを呼べばいいか わからない 実装の詳細が知りたい でも、誰も知らない 何かが起きてそう
だが、どこが原因か調べにくい →オブザーバビリティが低い エンドポイントに Ownership を設定 一定解消 打ち手 今回はこの話をします 開発者 つらい、 とても… 近年の 社内有志たち による改善
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 今回の問題 現れた問題 ダッシュボードが見づらい 本来やりたかったこと Ownerチームの特定と接続のため どこで異常が起きているか知りたい 動作確認のため 問題がないか確認したい
開発者 グラフがたくさんあるけど どれを見れば…? 開発者 全体レイテンシが悪化して るけど原因はどのエンドポ イントだ… Ownership が混じる
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 問題の深堀り アプリケーションも一つ 監視には Datadog を利用 ダッシュボードは一つ アプリケーション全体の Owner
は1チーム このグラフ、要らな い気がするけど誰か 見てる人いるかも… 1つのダッシュボードを 15チームで使おうとしていた ダッシュボードに新し いセクションを追加し たいけど、隣のチーム が Owner だしな… お互いの気遣いで 改善が停滞 チームXの開発者 チームZの開発者 チーム横断の改善が必要で コスト高く進んでいなかった チームXがOwner アプリケーション エンドポイント群A チームYがOwner エンドポイント群B チームZがOwner エンドポイント群C 状況 推定原因
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 初手のアプローチ • Ownerチームを巻き込んで一緒に改善していく ◦ メンバ全員でなくて OK ▪ 予定調整で苦労したり、定例まみれになるよりは
一部メンバで軽量に進めたほうが有益 ▪ チームとして知識があること、と チーム内でサイロ化しないこと、は別の問題 ◦ 自分はリード役、ファシリテーション役を率先する
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 巻き込み力: 初手の声掛け Ownership を尊重し チームのスキル向上を支援 一緒に学ぶために ワークショップ形式を提案 毎週1時間の
devs 知見交換会の場を利用 → 興味のある色々な人が来てくれる
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 巻き込み力: 一筆 • 非同期コミュニケーションの活用 ◦ 事前に背景や意図を伝える • 記録として残す
◦ 再現性の参考にする ◦ 歴史として残す ◦ 過程で登場した問題を記録する
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ ダッシュボード磨き込み会 場 オンライン 毎週火曜日 1時間弱 現時点で 5回実施 やっていること
方針の 相談と決定 具体の改善
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ ダッシュボード磨き込み会 ダッシュボードOwnerチームから 必ず1人は参加してもらう 工夫した点 工夫の狙い Ownership を尊重し 自己組織化を支援
モブプロ形式で実施 Driver は Owner チームを優先 誰でも参加 OK いつのまにか 「Datadog 歯磨き」と 呼ばれるようになった チーム横断の知見共有
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 得られた成果 大方針の策定 Ownership に準じて機能やエンドポイント に特化した別ダッシュボードを作る 既存のダッシュボードは アプリケーション全体を 俯瞰して見られるものにする
注意: あくまでも弊組織での事例 自チームの裁量で監視可能にする 異常の原因を掘り出せるように整備する → オブザーバビリティ 期待する効果
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 得られた成果 不要/重複グラフ削除による ダッシュボードの軽量化 5XX を最もよく見るので HTTPリクエストのグラフから着手 進める中で具体的な問題が見えてきた (例:
SLOの問題、DBの監視不足) (個人的に嬉しかったこと) moppの休暇と会が被ったとき 問題なく進んでいたこと 例: ダッシュボードの一部
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ 振り返り • オブザーバビリティへの道が一つ開けた ◦ お見合い状態が解消できた • Ownership と自己組織化が進む方向に迎えた
◦ これを一人ではなくみんなで決められたことが偉業
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ まとめ • 今回やったことを型化してみる • オブザーバビリティ/監視を組織として推進するために 1. 問題に当たりを付ける 2.
メンツを集める 3. 場を用意する 4. 会を推進する コミュニケーションコストを抑えつつ Ownership を尊重する トピックに関心が高い人から集める 「乗っていき」がある人がいつでも参入できるようにする 既存の場に便乗するのが便利 「自分の知見を提供する」だと推進者が疲れるので 「みんなで学んでいく」方が気楽でいい 会の辞め時や方針転換の気配は見逃さないように注意
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ フリー素材コーナー • ご自由にお使いください エンドユーザ1 Drawn by ujihisa https://x.gd/i1vWi
エンドユーザ2 Drawn by mopp https://x.gd/OE0Sn
#o11y_findy 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ ご清聴ありがとうございました