信頼性エンジニアリング
1) SREとは何で、なぜ必要なのか
SRE (Site Reliability Engineering)は、信頼性を測定可能な製品属性に変える開発と運用のインターフェースの分野です。SREは、ユーザーエクスペリエンス指標(SLI)、品質目標(SLO)、エラー予算、自動化を接続し、変更を管理して、回復力を損なうことなく迅速に価値を提供します。
主な目標は、予測可能なUX、高速リリース、最小のダウンタイム、および管理された所有コストです。
2) SREの原則
特徴としての信頼性。SLOとビジネス目標によって設定された限界に優先順位を付けます。
エラー予算は変更率を制御します。予算が燃やされた場合、その焦点は安定性にあります。
自動化>手動操作。繰り返し可能なタスクはscript/operator/pipelineです。
測定可能性。測定されたもの(SLI/SLO)のみを改善できます。
ちょうど文化。告発のない死後、全身的な原因に焦点を当てる。
シフト左。品質、安全性、テスト、観測性は開発サイクルの一部です。
3)組織と役割
プラットフォームSREチーム:共通のツール、ポリシー、パイプライン、GitOps、サービスカタログ。
組み込みSRE:製品チーム、共同のSLOターゲットと一緒に作業します。
通話中:回転、負荷制限、補償、トレーニング。
RACI:サービスオーナー、SLOオーナー、インシデントのIC、 Comms Lead、 Scribe。
4) SLI/SLOとエラー予算(製品リンク)
SLI:可用性、レイテンシー、ビジネス・オペレーションの成功、データの関連性。
SLO: Windowsの目標28-30日+例外。
エラー予算=1 − SLO。政治家:リリース、実験、カナリア、機能は実際の燃焼率によって規制されています。
コホートによるデザイン:地域、プロバイダー、VIPセグメント-異常を失わないように個々のSLO。
5)デフォルトの観察可能性
メトリクス:成功/エラー、パーセンタイルp50/p95/p99、彩度(CPU/mem/IO/conn)。
ログ:リクエスト/リリース/フラグの相関関係で構成されています。
トレース:遅延とエラーのエンドツーエンドマップ、ホットパス。
合成+RUM:外部サンプルと実際のクライアントテレメトリー。
SLOダッシュボード:バーンダウンバジェット、リリースアノテーション、カナリア、プロバイダ。
6)変更およびリリース管理
パイプラインCI/CD:決定論的アセンブリ、アーティファクト署名、セキュリティスキャン、契約テスト。
進歩的な戦略:カナリア/青緑/影;ライフサイクルのある特徴フラグ。
ゲートの質:コードとして方針、SLOガードレール、劣化の下の自動ロールバック。
GitOps:コードとしての構成/ポリシー、環境プロモーション、監査。
7)事件と死後
SEV/Pレベルの宣言、ICはすぐに割り当てられ、SEV-1+でリリースフリーズします。
バーンレートアラート:短いウィンドウと長いウィンドウ、リージョンごとのクォーラム、サンプルタイプ。
プレイブック:キックバック、劣化、プロバイダのフェイルオーバー、リミット/リトレイ。
RCAとCAPA:事実、因果関係、測定可能な行動、制御点(D+14/D+30)。
知識カタログ:テンプレートとレッスンを再利用します。
8)信頼性試験
マイクロサービスの契約テストと消費者主導の契約。
実際のパターン、p99 test/GC pause/queue tailsによるプロファイルのロード。
カオス/レジリエンスのケース:依存関係、ネットワーク、遅延の無効化;ゲームの日とDRドリル。
データベース移行:expand→migrate→contract、リバーシビリティ、2つのバージョンの互換性テスト。
9)容量および費用管理(FinOps)
容量クリティカルパスのユニットとヘッドルーム。
ユーザーメトリックとキューラグによるHPA/VPA/KEDA。
マルチプロバイダ:クォータ、SLO/レイテンシルーティング、オートフィーラー。
単位経済学:$/1k要求、$/成功したトランザクション;キャッシュ、ログ、出力の最適化。
10)信頼性の一環としての安全性
SAST/DAST/SCA、シークレット、SBOM、画像署名を検索します。
mTLSとアクセスポリシー(OPA/ABAC)最小権限。
キー/証明書回転、期限監視、有効期限テストシナリオ。
セキュリティインシデント-個々のプレイブック、フォレンジック、レギュレータ通知。
11)文化とプロセス
SLOレビュー:毎週/毎月、紫色の機能に対する債務優先度。
トレーニングとシミュレーション:オンコールトレーニング、インシデントリハーサル、カオスデイ。
統一規格:生産準備のチェックリスト、SLA通信、死後のフォーマット。
アラート疲労インジケータ:ターゲットしきい値≤ノイズ、定期的なチューニング。
12) SRE関数の成熟度メトリック
DORAメトリクス:枯渇率、リードタイム、MTTR、変更失敗率。
SLO実行:グリーンゾーンでのサービスのシェア、バーンレートの傾向。
アラート衛生:%ページアクション、中央値アラート/シフト、偽レート。
RCA/CAPA:時間通りの実行、システムの共有(非個人)理由、再オープン率。
コスト:$/SLOポイント、$/1kリクエスト、オートスケール効率。
13)チェックリスト「生産のためのサービス準備」
- SLI/SLO、 SLOオーナー、オブザベーションウィンドウが定義されています。
- ダッシュボードとバーンレートのアラートが調整され、外部合成があります。
- パイプライン:署名/スキャン、契約/統合テスト、カナリア/フラグ、自動ロールバック。
- DBマイグレーションはリバーシブルで、ロードプロファイルはピークをカバーします。
- インシデントプレイブックとプロバイダの連絡先;ステータスページ。
- 容量のヘッドルームは確認しました;HPA/KEDAとプロバイダのクォータをチェックしました。
- 構成とポリシー-Gitで、水曜日のプロモーション、監査が有効になりました。
- セキュリティ:オフコードの秘密、mTLS/回転、制御下のTLSタイミング。
14)アンチパターン
«99.999%または何も"-達成不可能な目標→永遠の赤い燃焼率。
カナリアとフィーチャーフラグのないリリース→大きな爆発。
1つの監視ポイント→誤警報と省略。
プロダクト→driftおよびunauditabilityの構成の手動変更。
CAPAsのないポストmortems→recurringインシデント。
SREとして「消防士」アーキテクチャを変更する権利がない→負債は閉鎖されていません。
15) SRE導入ロードマップ(例: 3〜6ヶ月)
1.月1:サービスとクリティカルパスのインベントリ;SLI/SLOドラフト;基本的なダッシュボードとバーンレートアラート;オンコールを開始します。
2.月2:カナリア/フィーチャーフラグ、オートキックバック;GitOpsの設定;インシデントプレイブックカタログ;ステータスページ。
3.月3:契約テスト、負荷プロファイル、拡張/契約スキームに応じたデータベースの移行;最初のゲームの日。
4.月4-6:マルチプロバイダルート、DRエクササイズ、コスト最適化、成熟度メトリクス、チームのKPI。
16)ボトムライン
SREは、透明な品質目標(SLO)、変更率(エラー予算)、自動化とインシデントの規律、回復力のテスト、意識的なコストなどの開発オペレーティングシステムです。このアプローチにより、リリースは日常的になり、信頼性は競争上の優位性になります。