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

ツール・プラクティスの導入と浸透における課題と対策 / SRE practice introd...

ツール・プラクティスの導入と浸透における課題と対策 / SRE practice introduction and adoption

SREに関連する様々なツールやプラクティスを導入し、チームやサービスに変化をもたらすことは、多くの場合、信頼性を改善するために役立ちます。しかしながら、新しいツールやプラクティスを適用することで、チームメンバーが変化を理解するために必要な負荷が増加することがあります。特に忙しく、それらを十分キャッチアップする余裕のないメンバーにとっては、これが不快感をもたらすことすらあります。この課題への対策として、LINEスタンプや、LINEアプリのホームタブやウォレットタブでの事例を紹介します。

LINE株式会社Communication & Service Integration室
SRE 兼TechLeads
maru(@maruloop)
2023/04/26 TechFeed Experts Night #17

LINE Developers

April 26, 2023
Tweet

More Decks by LINE Developers

Other Decks in Technology

Transcript

  1. LINEスタンプなどにフォーカスするSREチームの歴史 年 SRE専任の人数 担当プロダクト SREing活動 2019 0 N/A SWEsがSREing 2020

    1 LINEスタンプ SREsとSWEsで一緒に 2021 2 LINEスタンプ SREsがリード 2022 3 LINEスタンプ、ウォレットタブ、ホームタブ SREsがリード 2023 4 LINEスタンプ、ウォレットタブ、ホームタブ SREsがリード
  2. SRE専任の人数によるSREing活動の変化 SREs SWEs - 設計やコードのレビューで常にSWEsと一緒 - 担当できるプロダクト数に限りがある SREs SWEs 導入

    - SREs内で開発が素早く進む - 複数のプロダクトに横展開できる SWEs2 導入 SREsが0〜1⼈ SREsが3⼈〜
  3. SRE専任の人数によるSREing活動の変化 SREs SWEs - 設計やコードのレビューで常にSWEsと一緒 - 担当できるプロダクト数に限りがある SREs SWEs 導入

    - SREs内で開発が素早く進む - 複数のプロダクトに横展開できる SWEs2 導入 破壊的な大きな変更は後回しになりがち。 横展開する余裕が少なく、サイロ化しがち。 検討段階で開発者(SWEs)の声を拾いきれない。 変化が早すぎ・劇的すぎて、SWEsが疲弊する。 SREsが0〜1⼈ SREsが3⼈〜
  4. SRE専任の人数によるSREing活動の変化 SREs SWEs - 設計やコードのレビューで常にSWEsと一緒 - 担当できるプロダクト数に限りがある SREs SWEs 導入

    - SREs内で開発が素早く進む - 複数のプロダクトに横展開できる SWEs2 導入 破壊的な大きな変更は後回しになりがち。 横展開する余裕が少なく、サイロ化しがち。 検討段階で開発者(SWEs)の声を拾いきれない。 変化が早すぎ・劇的すぎて、SWEsが疲弊する。 サイロ化とビルドトラップのトレードオフ SREsが0〜1⼈ SREsが3⼈〜
  5. ヒトの進化仮説の例 • ハイブリット化仮説(Hybridization Hypothesis) • 他のヒト属の種と交雑することで遺伝的多様性が増し、異なる能力や特性を持つ個体の発生や、感染 症への抵抗力が向上し、集団生活における生存に寄与したとするもの。 • 社会的脳仮説(Social Brain

    Hypothesis) • 大きな社会的な集団で生活することで、社会的な相互作用と認知能力が向上し、協力や競争・対立に よって脳が発達し、役割分担などの社会性を得て効率的に生存したとするもの。 • 持久走仮説(Endurance Running Hypothesis) • 霊長類の中でも特徴的な長距離を走行できる能力に着目し、獲物を狩ることができることで肉食化し 、摂取するエネルギー総量の向上により脳の発達に繋がったとするもの。 • 料理仮説(Cooking Hypothesis) • 牛が草を食べるように、ヒトは料理したものを食べるように進化したという仮説。消化吸収効率の向上 により脳が発達し、行動範囲も広がったとするもの。 • etc なお、これらの仮説は相互に関連し、補完し合っているようです。
  6. SRE専任の人数によるSREing活動の変化 SREs SWEs SREs SWEs 導入 SWEs2 導入 - 異なる能力や特性で協力

    - 導入されたツールやプラクティスの消化効率が良い - 役割分担をして効率的 - 導入や改善の総量が多い
  7. SRE専任の人数によるSREing活動の変化 SREs SWEs SREs SWEs 導入 SWEs2 導入 - 異なる能力や特性で協力

    - 導入されたツールやプラクティスの消化効率が良い - 役割分担をして効率的 - 導入や改善の総量が多い どのように両立させるか?
  8. その1:関係性を変える(中・長期的な改善) SREs LINEスタンプ ウォレットタブ ホームタブ - 各プロダクトに明確にSREsをそれぞれ埋め込む(Embedded) - SWEsとSREs、異なる能力や特性で協力 -

    各プロダクトの課題を集約して解決&知見の共有 - 導入や改善の総量を増やす - SWEやSREといった役割分担はそのまま - 役割を明確にし、オーナーシップを取りやすく 知見や課題
  9. その2:導入のアナウンス方法を変える(短期的な改善) 導入されたツールやプラクティスの消化効率向上のために、アナウンス方法の変更 • 以前まで • Slackと週次の進捗報告会議で共有 • 例 “Fluentdの設定を変更し、K8sのEventログをKibanaで検索できるようにしました!” •

    現在 • 変更ごとにプレスリリースを発行 • SREs視点のリリースノートではなく、SWEs視点の改善記事 “今まで開発者がPodがKillされた原因を調べようとした時に、K8sに接続してログを見る必要がありました。 また、EventログはClusterに1時間しか保存されないため、必要なログが既になくなっていることがあります。 SREチームでは、それらのログをデータ分析基盤に送信するようにしました。 そのため、K8sに接続する必要なく、Kibanaを使って調査できるようになりました。 例えば、PodがKillされた原因を調べたい場合は、下記のようなクエリを書いてください。” • 毎月、変更点をまとめて共有する会議を設定 • 一ヶ月間に発行されたプレスリリースを紹介 • 一ヶ月間に発生した関連する障害の共有 • 現在進行中のタスクなどの共有 • オープンディスカッション