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
3k
サイト信頼性を高める前に開発チームからの信頼性を高めよう
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におけるCI・CDの紹介と培った知見
syossan27
2
180
TerraformサポートされていないFirebase Remote ConfigでもIaCしてみた
syossan27
2
1k
実録!一人SREが直面している技術的負債
syossan27
8
3.4k
SREに活かすセルフ・アウェアネス
syossan27
4
1.2k
QAと共に築く、機能性を通じた信頼性担保への取り組み
syossan27
6
5.5k
OSS builder
syossan27
0
84
初心者がGoでCLIツール作ってみて学んだこと
syossan27
0
99
雑兵エンジニアから学ぶ転職の失敗・成功
syossan27
0
170
雑兵なのに副業をやってみた
syossan27
0
120
Other Decks in Programming
See All in Programming
データマイグレーションの成功戦略~サービスリニューアルで失敗しないための実践ガイド~
tkzwtks
8
860
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
9
3.9k
2024-10-02 dev2next - Application Observability like you've never heard before
jonatan_ivanov
0
200
CSC509 Lecture 05
javiergs
PRO
0
190
【YAPC::Hakodate 2024】TypeScriptエンジニアが感じたPerlのここが面白い
kimitashoichi
1
490
Vue SFCのtemplateでTypeScriptの型を活用しよう
tsukkee
3
1.2k
Vue3の一歩踏み込んだパフォーマンスチューニング2024
hal_spidernight
3
2.4k
いかにして不足・不整合なくデータ移行したか
tjmtmmnk
1
970
画像でわかる北島直樹
naoki0917
0
140
Cloud Adoption Framework にみる組織とクラウド導入戦略
tomokusaba
2
690
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
110
Vue.js学習の振り返り
hiro_xre
1
100
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
Scaling GitHub
holman
458
140k
A Philosophy of Restraint
colly
203
16k
Typedesign – Prime Four
hannesfritz
39
2.4k
GraphQLの誤解/rethinking-graphql
sonatard
66
9.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
StorybookのUI Testing Handbookを読んだ
zakiyama
26
5.2k
It's Worth the Effort
3n
183
27k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
How to train your dragon (web standard)
notwaldorf
88
5.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Git: the NoSQL Database
bkeepers
PRO
425
64k
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