今回は、SLAについてご紹介いたします。
SLAとは、サービスレベルアグリーメントのことで、サービス企業と顧客の間の正式な契約のこと。
この契約によって、Microsoftがユーザーに対してコミットするパフォーマンス基準が定義されています。
「ダウンタイム」と「サービスクレジット」という2つの言葉が大事になっていきます。それぞれ説明していきます。
ダウンタイム
ダウンタイムとは、サービスを利用できない期間(時間)を指します。
SLAでは99.9%と99.99%という数字をよく目にすることとなり、そんなに数字に差はないと思いますが、SLAでこの数字の差はかなり違います。
SLAが99%だと週あたりにダウンタイムが1.68時間発生してしまいますが、
99.99%の場合、週あたりのダウンタイムは1.01分しかありません。
99.999%になると、週あたりのダウンタイムはたったの6秒になります。
ダウンタイムによって売り上げの機会損失などにつながってしまうので、気を付けなければいけません。
サービスクレジット
サービスがSLAどおりに機能できなかった場合の補償として、Azureの請求に対する割引を受けられます。
通常、クレジットはアップタイムが減少するにつれて増加していきます。アップタイムに応じてAzure Database for MySQLを例にクレジットがどのくらい変わるのか見てみましょう。
-
月間稼働率が99.99%未満の場合、サービスクレジットは10%返ってきます。
-
月間稼働率が99%未満の場合、サービスクレジットは25%返ってきます。
-
月間稼働率が95%未満の場合、サービスクレジットは100%(全額)返ってきます。
気を付けなければいけないのは、
無料の製品にはSLAはないということです。
Azure Advisorなどのサービスは無料なので、SLAが設定されていません。
サービス クレジットを受け取るには Microsoft に要求を申請する必要があります。 クラウド ソリューション プロバイダー (CSP) パートナーからAzureサービスを購入した場合は、通常、CSP によって要求プロセスが管理されます。
複数のSLAを組み合わせる場合

仮想マシンが2台ある場合、どちらも稼働していなければいけません。また、Azure Load Balancer, Azure SQL Databaseを使っており、各々のSLAは、
仮想マシン 99.9%
Azure SQL Database 99.99%
Azure Load Balancer 99.99%
複数のSLAを組み合わせる場合は、個々のサービスのSLAを掛け算する必要がある。
0.999×0.999×0.9999×0.9999 =99.78% になります。
複合SLAの要求が99.9%だった場合、要件を満たしてないことになります。その場合の対策として、仮想マシンの可用性を上げる方法があります。
Azure 仮想マシンの複数のインスタンスを複数の可用性ゾーンにデプロイする場合、仮想マシンの SLA は 99.99 パーセントに向上します。
そのため、0.9999×0.9999×0.9999×0.9999 =99.96%になり、要件を満たせます。
以上、AzureにおけるSLAでした。
【参照】https://www.se-from30.com/azure/azure-learningpass-base13/