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

sre-lounge8

 sre-lounge8

Yutaro Sugai

March 09, 2019
Tweet

More Decks by Yutaro Sugai

Other Decks in Programming

Transcript

  1. 割れ窓理論をWebインフラの改善に活用し、
    チーム内の知識共有を促進している話
    株式会社はてな SRE
    id:hokkai7go

    View Slide

  2. View Slide

  3. はてなSREチームか
    ら来ました

    View Slide

  4. 突撃!隣のDevOps
    で紹介されました
    https://dev.classmethod.jp/devops/dev-ops-hatena/

    View Slide

  5. View Slide

  6. 今日話すことは既にブ
    ログ記事化済み
    https://blog.hokkai7go.jp/entry/sre-lounge8

    View Slide

  7. 割れ窓理論をWebインフラの改善に活
    用し、チーム内の知識共有を促進して
    いる話
    https://blog.hokkai7go.jp/entry/2018/12/13/000146

    View Slide

  8. 割れ窓とは
    ● 割れた窓が放置されていると他の窓も割られやすくなっ
    てしまいます。軽犯罪を取り締まることで重大な犯罪も
    抑止できるとする理論です。不安や無秩序な状態を取
    り除くことができるというのも大きそうです。

    View Slide

  9. 割れ窓とは
    ゴミが散らかったりしないように環境を保つことによってイノ
    ベーションにまっすぐ焦点を当て続け本物のエンジニアリン
    グが前進できるようにしているのです
    Betsy Beyerら著、澤田 武男ら監修 「SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニ
    アリングチーム」2017年 より引用

    View Slide

  10. 割れ窓タイムについて
    ● はてなSREs(共通基盤)での割れ窓対応タイムのこと
    ○ 問題の認識(issue起票)・方針策定・修正作業まで含

    View Slide

  11. 割れ窓タイムを始めたきっかけ1
    ● 下記記事へのあこがれ
    ○ 割れ窓理論を導入してWebサービスのクオリティに直結した話 - pixiv
    inside [archive]
    ○ https://devpixiv.hatenablog.com/entry/2016/12/08/172049
    ○ Webサービスの新規開発プロジェクトに取り入れているとか

    View Slide

  12. 割れ窓タイムを始めたきっかけ1
    ● SREにも適用できそうと思った。なぜなら私達SREsもソフトウェアエンジニ
    アリングをするし、エンジニアとして改善に向かいたいから。

    View Slide

  13. 割れ窓タイムを始めたきっかけ2
    ● やりたいってチーム内で記事書いたら好意的な反応を複数もらえた

    View Slide

  14. はてなSREs(共通基盤)チームのご紹介
    ● 部長+テックリード+メンバー 計n名
    ● アルバイト数名
    ● 他に、チーム付きSREもいます

    View Slide

  15. 割れ窓タイム開始前の課題感
    ● 技術的負債が結構ある。返済したいけどどうしよう…
    ● 歴史的経緯など知らないことがたくさんある(僕もまだ入社して半年
    ● ドキュメントはあるけど、古くなっているところも多い(10年前の記事とかも
    出てくる(みんな書いてくれるのすごい)

    View Slide

  16. 割れ窓タイムの目的
    ● 下記2つにすることを上司と合意
    ○ 「割れ窓の数を適切に制御する」
    ○ 「直さなきゃな〜というものの修正スピードを上げる」
    ● 知見の共有は副次的効果(開始時のメンバーからのコメント)

    View Slide

  17. 割れ窓タイムの開催方法(事前)
    ● 適宜、チームメンバーは割れ窓を発見したらissueを作成し、割れ窓ラベル
    をつけておく
    ● 割れ窓タイムの日程を確保し、取り組みやすそうなissueを週刊割れ窓マ
    ガジンという記事にリストアップしておく

    View Slide

  18. 割れ窓タイムの開催方法(当日)
    ● 週に1度、1時間リモートでつないで作業時間をとる(SREチームは東京、
    京都の2拠点で仕事をしているからです)
    ● 割れ窓タイムスタート時に、その日の割れ窓タイム用issueを立て、やるこ
    とが決まればissueにその旨を書き、ログを取っていく
    ● 実施後に非同期的に参加者がその日の割れ窓タイム用issueに感想や
    KPTにつながる内容をコメントする

    View Slide

  19. 割れ窓タイムの開催方法(事後)
    ● 振り返りやすいよう、スプレッドシート上で
    issue URL等を一覧にしておく
    ● 割れ窓タイム企画者(上司と自分)が、企画の改善のために振り返りを行う

    View Slide

  20. 割れ窓タイムの対象物
    ● SREチームで開発しているソフトウェア
    ● サーバの設定
    ● 物理サーバやAWS上などのリソース
    ● アラート

    View Slide

  21. 割れ窓タイムの開催実績
    ● 2018/10〜2019/2までの5ヶ月で16回
    ● 3.2回/月

    View Slide

  22. 割れ窓タイムの効果
    ● 割れ窓タイムがないと取り組めないタスクに取り組むことができる
    ● モブプロ、モブオペを推奨しており、知識
    (前提知識や、コード、過去の経緯等
    )の共有
    を図りやすい。新しく入った人のキャッチアップにも利用可能
    ● 一人で取り組むには勇気がいりそうなところも、複数人で判断できるので勇気を持っ
    て取り組むことができる
    ● あそこに割れ窓がありそうという認識がみんなに出てきた

    View Slide

  23. 割れ窓タイムの効果
    ● みんなが集まっているので、タスクで困ってもすぐに相談、解決できてスピード感があ

    ● これって割れ窓じゃないですか?と話す機会が増えた
    ● 同じ割れ窓が発生することを検知できる
    ● 普段だと時間取れないけど、割れ窓で直しましょうという会話がされるようになった

    View Slide

  24. チーム内の知識共有
    を促進している!!!

    View Slide

  25. 運営上の工夫と、失敗したこと
    ● 大割れ窓タイムの開催(長いやつ 2h)
    ○ ダレた
    ● タスクを大きめに切ってしまいがち
    ○ 取り組むときに困る
    ● 全員で割れ窓棚卸し会をやった
    ○ 全員いらなかった

    View Slide

  26. 最近の話

    View Slide

  27. 1.5時間開催にトライ
    ● 1時間だと短いけど2時間だと長い
    ○ 重めのタスクだと時間がかかってしまう
    ■ 調査・方針策定
    ● 1.5時間なんか良さそうって話している

    View Slide

  28. 運営の民主化
    ● 自分以外も開催可能になった
    ○ waremado.rb を書いた
    ■ 週刊割れ窓マガジンをGHEのissueとして作成。
    内容は割れ窓ラベル一覧

    View Slide

  29. リズム
    ● 細かいタスクで成功体験を積むと初速を得られる

    View Slide

  30. 割れ窓タイムなかなか良いです
    やってみた人、やりたい人お話しま
    しょう

    View Slide

  31. SRE絶賛募集中
    https://hatenacorp.jp/recruit/career/sre

    View Slide