2023/05/19 「SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会」発表資料 https://findy.connpass.com/event/281605/
©MIXIサイト信頼性を高める前に開発チームからの信頼性を高めよう井上 翔太
View Slide
©MIXI自己紹介名前:井上 翔太twitter:@syossan272019年にミクシィ(現MIXI)入社サーバーサイドを中心に開発していたが、最近はSREチックなことをやっています2
©MIXI今日お話すること3
©MIXIサイト信頼性も大事だけど開発チームとの信頼性も大事だよね!というお話4
©MIXI1. はじめに2. 開発チームからの信頼性を高める重要性3. 信頼性を高めるために4. まとめ5
©MIXI1. はじめに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との付き合い方」(動画と資料の両方あります)
©MIXI2. 開発チームからの信頼性を高める重要性13
©MIXISREは一人じゃできない一人SREを実践してみて・・・14
©MIXISREは一人じゃできない一人SREを実践してみて・・・→ とにかくリソースが足りない!!15
©MIXISREは一人じゃできない一人SREを実践してみて・・・→ とにかくリソースが足りない!!16すぐにSREを採用できるわけではないので、開発チームにも協力してもらわなければいけない場面が多々ある。• オンコール対応• 各種MTGのファシリを開発チームのみで回してもらう• 一部作業を開発チームでも手伝ってもらう• エラーバジェット超過時のリリースストップ• 開発チームの開発体験を高めるための意見をもらう• etc…
©MIXISREは一人じゃできない一人SREを実践してみて・・・→ とにかくリソースが足りない!!17すぐにSREを採用できるわけではないので、開発チームにも協力してもらわなければいけない場面が多々ある。• オンコール対応• 各種MTGのファシリを開発チームのみで回してもらう• 一部作業を開発チームでも手伝ってもらう• エラーバジェット超過時のリリースストップ• 開発チームの開発体験を高めるための意見をもらう• etc…→ 開発チームからの信頼性を高めて、これらを円滑に行う!
©MIXI3. 信頼性を高めるために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の信頼性を支えるエンジニアリングチーム- オライリージャパン
©MIXI4. まとめ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