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.1k
サイト信頼性を高める前に開発チームからの信頼性を高めよう
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
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
440
SRE Trail Mapから考える仲間の増やし方
syossan27
3
500
FanstaにおけるCI・CDの紹介と培った知見
syossan27
2
280
TerraformサポートされていないFirebase Remote ConfigでもIaCしてみた
syossan27
2
1.3k
実録!一人SREが直面している技術的負債
syossan27
8
3.6k
SREに活かすセルフ・アウェアネス
syossan27
4
1.4k
QAと共に築く、機能性を通じた信頼性担保への取り組み
syossan27
6
5.6k
OSS builder
syossan27
0
90
初心者がGoでCLIツール作ってみて学んだこと
syossan27
0
100
Other Decks in Programming
See All in Programming
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
3
2.1k
.NETでOBS Studio操作してみたけど…… / Operating OBS Studio by .NET
skasweb
0
120
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
300
Androidアプリの One Experience リリース
nein37
0
1.2k
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
590
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
560
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
2.8k
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
190
Alba: Why, How and What's So Interesting
okuramasafumi
0
210
ASP.NET Core の OpenAPIサポート
h455h1
0
120
[JAWS-UG横浜 #80] うわっ…今年のServerless アップデート、少なすぎ…?
maroon1st
0
100
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
Featured
See All Featured
A Philosophy of Restraint
colly
203
16k
How GitHub (no longer) Works
holman
312
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Done Done
chrislema
182
16k
Raft: Consensus for Rubyists
vanstee
137
6.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
What's in a price? How to price your products and services
michaelherold
244
12k
Git: the NoSQL Database
bkeepers
PRO
427
64k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
98
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
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