12月は、毎日 Microsoft Learn を受講していこうという記録。
※受講後に書き込むので公開に間に合わないこと多々あります(アドベントカレンダーの意味w)
12/9 は
Core Cloud Services - Azure アーキテクチャとサービスの保証
- Azure のサービスレベルアグリーメントについて
- サービス全体の SLA を作成する
を受講。以下、簡易メモ。
Core Cloud Services - Azure アーキテクチャとサービスの保証
Azure のサービスレベルアグリーメントについて
Microsoft では、包括的な運用ポリシー、標準、プラクティスに従うことで、ユーザーに高品質の製品とサービスを提供するというコミットメントを維持してくれている。
"サービスレベルアグリーメント"(SLA)という正式なドキュメントで、Azure に適用されるパフォーマンス基準を定義する特定の条件をキャプチャしているぽい。
Azure 製品およびサービスの SLA
Azure 製品およびサービス用の SLA には 3 つの主な特性がある。
1. パフォーマンスの目標
Azure の製品またはサービス用のパフォーマンスの目標を定義している。
パフォーマンスの目標は各製品別になっている。
2. アップタイムと接続性の保証
対応する Azure の製品またはサービスごとに、99.9%~99.999%の範囲のパフォーマンスの目標のコミットメントを指定している。
これによって、アップタイムや応答時間を加味してサービスに適用することも可能。
3. サービス クレジット
Azure の製品またはサービスが規定の SLA の仕様に沿ったパフォーマンスを実現できない場合の Microsoft の対応方法についても説明している。(手厚い!)
サービス全体の SLA を作成する
異なるサービス間で SLA を統合する場合、結果として得られる SLA は "複合 SLA" と呼ばれる。
ダウンタイムの計算
SLA が以下のようになっていると
この複合 SLA は
99.95 % × 99.99 % = 99.94 %
になる。
イコール、障害発生の組み合わせ確率は個々の SLA 値よりも高くなる。
これを改善するには、独立したフォールバックパスを作成する方法が有効。
上記の例だと、SQL Database が使えない場合はトランザクションを Queue に格納...など。
SQL Database と Queue が同時に障害発生する確率は 0.0001 % × 0.0001 %
なので、この組み合わせの複合 SLA は、
1.0 − (0.0001 × 0.001) = 99.99999 %
Queue をこのサービスに追加することによって、合計の複合 SLA は
99.95 % × 99.99999 % = ~99.95 %
になる。