Open1
プロダクトを価値から考える(SRE)
SREとは何か
システムの信頼性を担保するためのシステム開発運用方法論
システムの信頼性を揺るがすものを排除・軽減する
システムの信頼性を揺るがすもの
変化や不確実性(ex. ユーザーニーズ、システム機能数、技術、etc...)
例えば、人間=不確実 -> 人間(の手作業、意思決定)に依存しない → ソフトウェアの問題として解決する
- トイルの削減
- コンピューターは同じ作業を再現性高く繰り返し行うのが得意
- スケールさせることが容易
- 自動化
- 継続的インテグレーション
- アラート
- データパイプライン/バッチ
共通ルールに押し出す
- 数値化
- 文章化
→SLI/SLO(客観的に注力すべき行動を判断する)、エラーバジェット、インシデント管理、運用手順書
SLI/SLO、エラーバジェット
客観的に注力すべき行動を判断するための指標と閾値
- SLO範囲内 新規開発、トイルの削減
- SLO違反 システムの安定化
エラーバジェット(予算)によって投資とリスクを
インシデント管理
インシデントに関わる人間が自律的に動けるようにする
前提として人間がパフォーマンスを出せる必要がある
そのような環境が必要
- 身体的
- アラート/オンコール戦略
- 精神的
- 非難なきポストモーテム
まとめ
SREには人間の不確実性を下げるための活動が多くある
- 人間の不確実性を避けるために、ソフトウェアやルールで解決
- 人間の不確実性を上げるために最大限パフォーマンスが発揮できるように
→全ては「ユーザーへの信頼性」のため