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
360
突然のメモリ使用率上昇へ対応! 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
NPOでのDevinの活用
codeforeveryone
0
870
技術同人誌をMCP Serverにしてみた
74th
1
680
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
830
RailsGirls IZUMO スポンサーLT
16bitidol
0
190
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
740
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
550
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
14k
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
190
テスト駆動Kaggle
isax1015
1
480
Agentic Coding: The Future of Software Development with Agents
mitsuhiko
0
120
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
160
GPUを計算資源として使おう!
primenumber
1
190
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Become a Pro
speakerdeck
PRO
29
5.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Fireside Chat
paigeccino
37
3.5k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
980
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Docker and Python
trallard
44
3.5k
Thoughts on Productivity
jonyablonski
69
4.7k
Scaling GitHub
holman
460
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
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