Production Readiness Check
なぜやるか?
複数のサービスを素早く立ち上げ、改善を行うには、それぞれの開発チームがそのインフラストラクチャにオーナーシップを持って開発を行う必要がある ( self-service )
そのような中で信頼性を担保する
Developer と SRE の双方が、システムを正しく理解し、その信頼性に不安がない状態にしておく
社内外にシステムの信頼性を説明できるようにしておく
リリースに必要なものを明らかにして、Developer がシステムを構築する際のガイドとなる
何をチェックするか
アーキテクチャのデザイン
冗長性、スケーラビリティ
モニタリング・ロギング
セキュリティ
CI/CDの仕組みが整っているか
リリースサイクルはどのようになっているか
問題が起きた際に誰にエスカレーションすれば良いか
???どのような項目を用意し、どのように運用するか???
ここが、おそらく一番悩ましく、重要そう
小さく始める、自分たちに合うもの
サービスによって、必要とされる信頼性のレベルが異なる
全ての項目をクリアしなくても、なぜやらないかを説明できて、合意が取れていれば良さそう
なるべく具体的な項目として、抽象的にしすぎないのが良い?
技術スタックの違いが出る場合があるが、いくつかのパターンに分けれられて、多くは既存のシステムと似るはず
それらにある程度最適化して、具体的で実用的なものにする
なぜその項目をやるのかを学べるようになっていると良い
自動でレビューできるものはあるだろうか
links
Mercari
Production Readiness Checklist at Mercari
quipper
Production Readiness Check のはじめかた
みんなでつくる Production Readiness
Wantedly
Production Ready研修 @ Wantedly
Production Readiness の今
Production readiness