Open1

プロダクトを価値から考える(SRE)

たなかゆうきたなかゆうき

SREとは何か

システムの信頼性を担保するためのシステム開発運用方法論
システムの信頼性を揺るがすものを排除・軽減する

システムの信頼性を揺るがすもの

変化や不確実性(ex. ユーザーニーズ、システム機能数、技術、etc...)
例えば、人間=不確実 -> 人間(の手作業、意思決定)に依存しない → ソフトウェアの問題として解決する

  • トイルの削減
    • コンピューターは同じ作業を再現性高く繰り返し行うのが得意
    • スケールさせることが容易
  • 自動化
    • 継続的インテグレーション
    • アラート
    • データパイプライン/バッチ

共通ルールに押し出す

  • 数値化
  • 文章化
    →SLI/SLO(客観的に注力すべき行動を判断する)、エラーバジェット、インシデント管理、運用手順書

SLI/SLO、エラーバジェット

客観的に注力すべき行動を判断するための指標と閾値

  • SLO範囲内 新規開発、トイルの削減
  • SLO違反 システムの安定化

エラーバジェット(予算)によって投資とリスクを

インシデント管理

インシデントに関わる人間が自律的に動けるようにする

前提として人間がパフォーマンスを出せる必要がある

そのような環境が必要

  • 身体的
    • アラート/オンコール戦略
  • 精神的
    • 非難なきポストモーテム

まとめ

SREには人間の不確実性を下げるための活動が多くある

  • 人間の不確実性を避けるために、ソフトウェアやルールで解決
  • 人間の不確実性を上げるために最大限パフォーマンスが発揮できるように
    →全ては「ユーザーへの信頼性」のため

https://www.youtube.com/watch?v=CEn3e8JxgtY&t=1s