Upgrade to Pro — share decks privately, control downloads, hide ads and more …

サイト信頼性を高める前に開発チームからの信頼性を高めよう

 サイト信頼性を高める前に開発チームからの信頼性を高めよう

2023/05/19
「SRE大集合!みんなで学ぶ、信頼性を高めるための取り組みLT大会」発表資料
https://findy.connpass.com/event/281605/

syossan27

May 18, 2023
Tweet

More Decks by syossan27

Other Decks in Programming

Transcript

  1. ©MIXI
    サイト信頼性を高める前に
    開発チームからの信頼性を高
    めよう
    井上 翔太

    View Slide

  2. ©MIXI
    自己紹介
    名前:井上 翔太
    twitter:@syossan27
    2019年にミクシィ(現MIXI)入社
    サーバーサイドを中心に開発していたが、最近は
    SREチックなことをやっています
    2

    View Slide

  3. ©MIXI
    今日お話すること
    3

    View Slide

  4. ©MIXI
    サイト信頼性も大事だけど
    開発チームとの信頼性も大事だよね!
    というお話
    4

    View Slide

  5. ©MIXI
    1. はじめに
    2. 開発チームからの信頼性を高める重要性
    3. 信頼性を高めるために
    4. まとめ
    5

    View Slide

  6. ©MIXI
    1. はじめに
    6

    View Slide

  7. ©MIXI
    こんなサービスやってます
    スポーツ観戦ができる飲食店に特化した飲食店検索サービス
    7
    • スポーツ観戦できる飲食店をエリアやチーム、放映予
    定から検索し、予約できる
    • お店にとってはスポーツ観戦ができることを告知し、集
    客することができる

    View Slide

  8. ©MIXI
    開発チーム人数: 7人
    SREチーム人数:1人
    どのくらいの規模のサービス?
    リリースされてから:2年
    MAU/WAU/DAU:
    ユーザー登録数: 徐々に大きくなってきてる
    8

    View Slide

  9. ©MIXI
    一人SREチーム立ち上げました
    ■ 2021/03〜
    とある機能の実装の流れからインフラをちょこちょこと触るようになる
    ■ 2021/04〜
    負荷計測・パフォーマンスチューニング、インフラ・デプロイフローの障害時調査などのタスクに積極的
    に関わる
    ■ 〜2021/10
    上記を続けながらアラートを追加したり整理したり、トイルを無くすように仕組み作りをしたり、インシ
    デント管理をしたり・・・
    9

    View Slide

  10. ©MIXI
    あれ?これってSREってやつなんじゃない?  
    10

    View Slide

  11. ©MIXI
    あれ?これってSREってやつなんじゃない?  
    11
    →やろうぜ、SRE 

    View Slide

  12. ©MIXI
    その後、どういうことを考え・何をやったかは
    是非こちらを見てみてください!
    12
    「小さなサービスでの SREとの付き合い方」
    (動画と資料の両方あります)

    View Slide

  13. ©MIXI
    2. 開発チームからの信頼性を高める重要性
    13

    View Slide

  14. ©MIXI
    SREは一人じゃできない
    一人SREを実践してみて・・・
    14

    View Slide

  15. ©MIXI
    SREは一人じゃできない
    一人SREを実践してみて・・・
    → とにかくリソースが足りない!!
    15

    View Slide

  16. ©MIXI
    SREは一人じゃできない
    一人SREを実践してみて・・・
    → とにかくリソースが足りない!!
    16
    すぐにSREを採用できるわけではないので、開発チームにも協力してもらわなければいけな
    い場面が多々ある。
    • オンコール対応
    • 各種MTGのファシリを開発チームのみで回してもらう
    • 一部作業を開発チームでも手伝ってもらう
    • エラーバジェット超過時のリリースストップ
    • 開発チームの開発体験を高めるための意見をもらう
    • etc…

    View Slide

  17. ©MIXI
    SREは一人じゃできない
    一人SREを実践してみて・・・
    → とにかくリソースが足りない!!
    17
    すぐにSREを採用できるわけではないので、開発チームにも協力してもらわなければいけな
    い場面が多々ある。
    • オンコール対応
    • 各種MTGのファシリを開発チームのみで回してもらう
    • 一部作業を開発チームでも手伝ってもらう
    • エラーバジェット超過時のリリースストップ
    • 開発チームの開発体験を高めるための意見をもらう
    • etc…
    → 開発チームからの信頼性を高めて、これらを円滑に行う!

    View Slide

  18. ©MIXI
    3. 信頼性を高めるために
    18

    View Slide

  19. ©MIXI
    まずは失敗した話から・・・
    最初にSREとして開発チームの抱える問題をキャッチアップし、SREというポジションについての役割理
    解と問題解決を兼ねて以下のような施策をやりました。
    • 目安箱:Google Formsを使い、開発上困ったことをいつでも投票してもらうようにした
    • 相談アワー:Gatherを使い、口頭ベースで相談を受け付ける時間を設けた
    19

    View Slide

  20. ©MIXI
    まずは失敗した話から・・・
    最初にSREとして開発チームの抱える問題をキャッチアップし、SREというポジションについての役割理
    解と問題解決を兼ねて以下のような施策をやりました。
    • 目安箱:Google Formsを使い、開発上困ったことをいつでも投票してもらうようにした
    → ほぼ使われず・・・
    • 相談アワー:Gatherを使い、口頭ベースで相談を受け付ける時間を設けた
    → 目安箱よりも手応えはあったものの、あまり使われず・・・
    20

    View Slide

  21. ©MIXI
    まずは失敗した話から・・・
    最初にSREとして開発チームの抱える問題をキャッチアップし、SREというポジションについての役割理
    解と問題解決を兼ねて以下のような施策をやりました。
    • 目安箱:Google Formsを使い、開発上困ったことをいつでも投票してもらうようにした
    → ほぼ使われず・・・
    • 相談アワー:Gatherを使い、口頭ベースで相談を受け付ける時間を設けた
    → 目安箱よりも手応えはあったものの、あまり使われず・・・
    ⇒ 受け身な施策はまず使われない
    • そもそもSREに相談するに値する問題なのかが判断がつかない
    • 相談者に心理的ハードルが生じる(単純に面倒であったり、作業時間を割きたくないなど)
    21

    View Slide

  22. ©MIXI
    やり方、変えました
    その場その場での施策を打つのではなく、日常的に開発チームからの信頼/理解を得られるよう行動した
    • SREタスクのみではなく、プロダクト開発に関わる
    → 機能実装というよりも、より開発体験を高めるためのアーキテクチャの刷新などを行った
    (Fragment Colocationの導入、放置タスクの拾い上げなどなど)
    ⇒ ちゃんとプロダクトに目を向けてますよということをアピール
    ⇒ ただ、いつもプロダクト開発をやるわけじゃないよということも伝えておく
    • 開発チームが困っていたらすぐ助ける
    → チャットに目を光らせておき、何か困りごとがあればスッと助けに入る
    (調査を手伝うだけでも困っている人からすると助かるので、解決まで助けに入らなくてもOKというスタンスで)
    ⇒ なにかあったら助けてくれる人、という印象を付ける
    ⇒ 解決まで導けたら信頼も築ける
    22

    View Slide

  23. ©MIXI
    • 開発チームから声をかけていただく機会が増えた
    • 「これSREチームのタスクの範疇ですかね?」や「(インフラが関係しそうな事象について)SREとしてどう
    思います?」などMTGなどの要所要所で引き合いに出してもらえることが増えた
    • SREタスクも一部開発チームがやってくれることがチラホラ発生するようになった
    • SREとしても簡単なことでも開発チームに気兼ねなく聞ける
    • お互いに信頼性がある状態だと「こんな簡単なことを聞くのも気が引けるなぁ」ってことも気兼ねなく聞ける
    • オンコール対応時などは非常に助かってます(雑に「○○知ってる人教えて!」って聞いちゃってる)
    ⇒ 結果として、やってよかった!
    ⇒ 現在はSREタスクに全力集中させてもらっているが、その前に早い段階で意識を変えて信頼性の獲得に
    取り組んでおいて良かった
    ⇒ SRE本※
    に書いてある「コミュニケーションとコラボレーション」の第一歩
    いい感じになりだした
    23
    ※ Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy (2017年) SRE サイトリライアビリティエンジニアリング - Googleの信頼性を支えるエンジニアリングチーム- オライリージャパン

    View Slide

  24. ©MIXI
    4. まとめ
    24

    View Slide

  25. ©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の信頼性を支えるエンジニアリングチーム- オライリージャパン より引用

    View Slide

  26. ©MIXI
    日々のコミュニケーション、大切にしていきましょう!
    ご清聴ありがとうございました
    26

    View Slide