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
syossan27
May 18, 2023
Programming
9
3.2k
サイト信頼性を高める前に開発チームからの信頼性を高めよう
2023/05/19
「SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会」発表資料
https://findy.connpass.com/event/281605/
syossan27
May 18, 2023
Tweet
Share
More Decks by syossan27
See All by syossan27
知識0からカンファレンスやってみたらこうなった!
syossan27
5
350
突然のメモリ使用率上昇へ対応! k8sカスタムコントローラー開発事例
syossan27
2
410
監視 やばい
syossan27
12
11k
最先端を追う前に、まず広めよう! 〜AIツールの普及活動のすすめ〜
syossan27
1
1.4k
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
660
SRE Trail Mapから考える仲間の増やし方
syossan27
3
700
FanstaにおけるCI・CDの紹介と培った知見
syossan27
2
400
TerraformサポートされていないFirebase Remote ConfigでもIaCしてみた
syossan27
2
1.5k
実録!一人SREが直面している技術的負債
syossan27
8
3.8k
Other Decks in Programming
See All in Programming
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
18k
生成AI時代のコンポーネントライブラリの作り方
touyou
1
230
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
410
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
13k
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
230
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
640
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
1
120
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
2
10k
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
580
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
260
GitHub Copilot and GitHub Codespaces Hands-on
ymd65536
2
150
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
920
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Statistics for Hackers
jakevdp
799
220k
Side Projects
sachag
455
42k
Code Reviewing Like a Champion
maltzj
524
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A better future with KSS
kneath
238
17k
How STYLIGHT went responsive
nonsquared
100
5.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
For a Future-Friendly Web
brad_frost
179
9.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Transcript
©MIXI サイト信頼性を高める前に 開発チームからの信頼性を高 めよう 井上 翔太
©MIXI 自己紹介 名前:井上 翔太 twitter:@syossan27 2019年にミクシィ(現MIXI)入社 サーバーサイドを中心に開発していたが、最近は SREチックなことをやっています 2
©MIXI 今日お話すること 3
©MIXI サイト信頼性も大事だけど 開発チームとの信頼性も大事だよね! というお話 4
©MIXI 1. はじめに 2. 開発チームからの信頼性を高める重要性 3. 信頼性を高めるために 4. まとめ 5
©MIXI 1. はじめに 6
©MIXI こんなサービスやってます スポーツ観戦ができる飲食店に特化した飲食店検索サービス 7 • スポーツ観戦できる飲食店をエリアやチーム、放映予 定から検索し、予約できる • お店にとってはスポーツ観戦ができることを告知し、集 客することができる
©MIXI 開発チーム人数: 7人 SREチーム人数:1人 どのくらいの規模のサービス? リリースされてから:2年 MAU/WAU/DAU: ユーザー登録数: 徐々に大きくなってきてる 8
©MIXI 一人SREチーム立ち上げました ▪ 2021/03〜 とある機能の実装の流れからインフラをちょこちょこと触るようになる ▪ 2021/04〜 負荷計測・パフォーマンスチューニング、インフラ・デプロイフローの障害時調査などのタスクに積極的 に関わる ▪
〜2021/10 上記を続けながらアラートを追加したり整理したり、トイルを無くすように仕組み作りをしたり、インシ デント管理をしたり・・・ 9
©MIXI あれ?これってSREってやつなんじゃない? 10
©MIXI あれ?これってSREってやつなんじゃない? 11 →やろうぜ、SRE
©MIXI その後、どういうことを考え・何をやったかは 是非こちらを見てみてください! 12 「小さなサービスでの SREとの付き合い方」 (動画と資料の両方あります)
©MIXI 2. 開発チームからの信頼性を高める重要性 13
©MIXI SREは一人じゃできない 一人SREを実践してみて・・・ 14
©MIXI SREは一人じゃできない 一人SREを実践してみて・・・ → とにかくリソースが足りない!! 15
©MIXI SREは一人じゃできない 一人SREを実践してみて・・・ → とにかくリソースが足りない!! 16 すぐにSREを採用できるわけではないので、開発チームにも協力してもらわなければいけな い場面が多々ある。 • オンコール対応
• 各種MTGのファシリを開発チームのみで回してもらう • 一部作業を開発チームでも手伝ってもらう • エラーバジェット超過時のリリースストップ • 開発チームの開発体験を高めるための意見をもらう • etc…
©MIXI SREは一人じゃできない 一人SREを実践してみて・・・ → とにかくリソースが足りない!! 17 すぐにSREを採用できるわけではないので、開発チームにも協力してもらわなければいけな い場面が多々ある。 • オンコール対応
• 各種MTGのファシリを開発チームのみで回してもらう • 一部作業を開発チームでも手伝ってもらう • エラーバジェット超過時のリリースストップ • 開発チームの開発体験を高めるための意見をもらう • etc… → 開発チームからの信頼性を高めて、これらを円滑に行う!
©MIXI 3. 信頼性を高めるために 18
©MIXI まずは失敗した話から・・・ 最初にSREとして開発チームの抱える問題をキャッチアップし、SREというポジションについての役割理 解と問題解決を兼ねて以下のような施策をやりました。 • 目安箱:Google Formsを使い、開発上困ったことをいつでも投票してもらうようにした • 相談アワー:Gatherを使い、口頭ベースで相談を受け付ける時間を設けた 19
©MIXI まずは失敗した話から・・・ 最初にSREとして開発チームの抱える問題をキャッチアップし、SREというポジションについての役割理 解と問題解決を兼ねて以下のような施策をやりました。 • 目安箱:Google Formsを使い、開発上困ったことをいつでも投票してもらうようにした → ほぼ使われず・・・ •
相談アワー:Gatherを使い、口頭ベースで相談を受け付ける時間を設けた → 目安箱よりも手応えはあったものの、あまり使われず・・・ 20
©MIXI まずは失敗した話から・・・ 最初にSREとして開発チームの抱える問題をキャッチアップし、SREというポジションについての役割理 解と問題解決を兼ねて以下のような施策をやりました。 • 目安箱:Google Formsを使い、開発上困ったことをいつでも投票してもらうようにした → ほぼ使われず・・・ •
相談アワー:Gatherを使い、口頭ベースで相談を受け付ける時間を設けた → 目安箱よりも手応えはあったものの、あまり使われず・・・ ⇒ 受け身な施策はまず使われない • そもそもSREに相談するに値する問題なのかが判断がつかない • 相談者に心理的ハードルが生じる(単純に面倒であったり、作業時間を割きたくないなど) 21
©MIXI やり方、変えました その場その場での施策を打つのではなく、日常的に開発チームからの信頼/理解を得られるよう行動した • SREタスクのみではなく、プロダクト開発に関わる → 機能実装というよりも、より開発体験を高めるためのアーキテクチャの刷新などを行った (Fragment Colocationの導入、放置タスクの拾い上げなどなど) ⇒
ちゃんとプロダクトに目を向けてますよということをアピール ⇒ ただ、いつもプロダクト開発をやるわけじゃないよということも伝えておく • 開発チームが困っていたらすぐ助ける → チャットに目を光らせておき、何か困りごとがあればスッと助けに入る (調査を手伝うだけでも困っている人からすると助かるので、解決まで助けに入らなくてもOKというスタンスで) ⇒ なにかあったら助けてくれる人、という印象を付ける ⇒ 解決まで導けたら信頼も築ける 22
©MIXI • 開発チームから声をかけていただく機会が増えた • 「これSREチームのタスクの範疇ですかね?」や「(インフラが関係しそうな事象について)SREとしてどう 思います?」などMTGなどの要所要所で引き合いに出してもらえることが増えた • SREタスクも一部開発チームがやってくれることがチラホラ発生するようになった • SREとしても簡単なことでも開発チームに気兼ねなく聞ける
• お互いに信頼性がある状態だと「こんな簡単なことを聞くのも気が引けるなぁ」ってことも気兼ねなく聞ける • オンコール対応時などは非常に助かってます(雑に「◦◦知ってる人教えて!」って聞いちゃってる) ⇒ 結果として、やってよかった! ⇒ 現在はSREタスクに全力集中させてもらっているが、その前に早い段階で意識を変えて信頼性の獲得に 取り組んでおいて良かった ⇒ SRE本※ に書いてある「コミュニケーションとコラボレーション」の第一歩 いい感じになりだした 23 ※ Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy (2017年) SRE サイトリライアビリティエンジニアリング - Googleの信頼性を支えるエンジニアリングチーム- オライリージャパン
©MIXI 4. まとめ 24
©MIXI ソフトスキルの重要性 SREと開発チーム、お互いがリスペクトを持って仕事を進めるためにはソフトスキルはハードスキルと同 じくらい重要性を持つ。 SLOの設定やfour-keysの導入などのプラクティスを実施するのも大切だけども、こういったコミュニ ケーションに関する心持ちも大切にしていきたいですね 最高の設計と実装は、お互いを尊重する雰囲気の下でプロダクションとプロダクトに対する関心が 1つになった ときに生まれるもので、それこそが SRE
が約束するものです。※ 余談: 6月に開催されるSRECon23 Asia/Pacificでも「The Secret Weapon for a Successful SRE Career」という タイトルでソフトスキルに関するセッションがあるみたいなので楽しみですね 25 ※ Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy (2017年) SRE サイトリライアビリティエンジニアリング - Googleの信頼性を支えるエンジニアリングチーム- オライリージャパン より引用
©MIXI 日々のコミュニケーション、大切にしていきましょう! ご清聴ありがとうございました 26