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
9
450
負債あるモノリスのオブザーバビリティに組織で向き合う
2024/09/25に、オブザーバビリティ実践までの道のり〜各社の課題とアプローチ方法とは?~で発表した、moppの資料です。
Recruit
PRO
September 24, 2024
Tweet
Share
More Decks by Recruit
See All by Recruit
Kotlin Multiplatformのポテンシャル
recruitengineers
PRO
1
120
デザイン初め新年会2025_川端_PdM Days2025
recruitengineers
PRO
0
32
Azure Functions HTTPトリガーにおけるタイムアウトでハマったこと
recruitengineers
PRO
2
290
実務につなげる数理最適化
recruitengineers
PRO
7
900
うちにも入れたいDatadog
recruitengineers
PRO
2
1.2k
リクルートのデータ基盤 Crois 年3倍成長!1日40,000コンテナの実行を支える AWS 活用とプラットフォームエンジニアリング
recruitengineers
PRO
3
450
Splunk Enterpriseで S3のデータを直接検索してみた!
recruitengineers
PRO
2
230
Looker APIを使い倒す ユーザーフィードバックを基にした継続的改善サイクル
recruitengineers
PRO
3
77
Kaggleふりかえり会〜LLM 20 Questions & ISIC 2024
recruitengineers
PRO
2
290
Other Decks in Technology
See All in Technology
MasterMemory v3 最速確認会
yucchiy
0
340
WantedlyでのKotlin Multiplatformの導入と課題 / Kotlin Multiplatform Implementation and Challenges at Wantedly
kubode
0
210
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
120
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
160
Azureの開発で辛いところ
re3turn
0
220
ネットワーク可視化の世界
likr
7
5.7k
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
480
深層学習と3Dキャプチャ・3Dモデル生成(土木学会応用力学委員会 応用数理・AIセミナー)
pfn
PRO
0
440
三菱電機で社内コミュニティを立ち上げた話
kurebayashi
1
320
The future we create with our own MVV
matsukurou
0
1.8k
スケールし続ける事業とサービスを支える組織とアーキテクチャの生き残り戦略 / The survival strategy for Money Forward’s engineering.
moneyforward
0
250
Godot Engineについて調べてみた
unsoluble_sugar
0
240
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
RailsConf 2023
tenderlove
29
970
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Rails Girls Zürich Keynote
gr2m
94
13k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
200
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Music & Morning Musume
bryan
46
6.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Site-Speed That Sticks
csswizardry
2
240
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
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 負債あるモノリスのオブザーバビリティに組織で向き合う@スタディサプリ ご清聴ありがとうございました