AzureのSLAについて確認してみる

現在とあるプロジェクトでAzureのシステム構成を検討しています。
サーバーはApp Service(Web Apps)で作成するまでは決めているのですが、プロジェクトのRFPではインフラのSLAについても触れられており、改めてApp ServiceのSLAってどのくらいだっけ。。?と思い立ったのがこの記事を書いたきっかけとなります。

AzureのSLAは以下のサイトから確認ができます。今更ですが、様々な製品(リソース、サービス)にSLAが設定されているのがわかります。

ここからApp Serviceを探して、以下のページにアクセスします。

上記ページには「お客様のサブスクリプションで実行されるすべてのアプリが、99.95% の時間において利用可能であることを保証します。Free または Shared レベルの Apps については、SLA は提供されません。」とあります。

ここで改めて気付くのですが、App ServiceはBasicプランより上のプランであればSLAは99.95%が保証されるのです。
てっきりStandardプランからかなとも思ったのですが、Basicプランからであり、しかも、特に何台といった記述もありません。
私の記憶では例えばリージョンを跨ることである一定以上のSLAが保証されて。。といった内容だったように思われたのですが、少なくともApp Serviceについては違っていました。

では、ここでVM、つまり、仮想マシンを見てみましょう(VMは最初の検索の画面で「Virtual Machine」かなと思ったのですが、私がポータルの言語を日本語にしていたため「仮想マシン」でヒットしました。。いつか英語にしなければ)

すると以下のような記述があります。
「すべての仮想マシンに、同じ Azure リージョン内の 2 つ以上の可用性ゾーンにまたがりデプロイした 2 つ以上のインスタンスがある場合、マイクロソフトは、99.99% 以上の時間において少なくとも 1 つのインスタンスに対する仮想マシン接続が確保されることを保証します。」
「すべての仮想マシンに、同じ可用性セットまたは同じ専用ホスト グループにデプロイした 2 つ以上のインスタンスがある場合、マイクロソフトは、99.95% 以上の時間において少なくとも 1 つのインスタンスに対する仮想マシン接続が確保されることを保証します。」
そう、VMについてはインスタンスの数、配置によりSLAが変わるのです。
逆に言えばApp Serviceは数は配置によってSLAは変わらないのです。

「だったら、利用料もかかるしインスタンスは1つでいいのでは?」という感覚に一瞬襲われるのですが、ここでもちょっと注意が必要です。
AzureのSLAは定義された SLA を下回らないように運用していますが、SLA を下回る場合があります。そして、下回った場合には返金が行われます。
つまり、99.95%と定義されていたとしても、それを絶対下回らないわけではありません。そして、定義されたSLAやそれ以上の稼働を求める場合はAzureを利用する我々がそのための対応を取る必要があります。
お客様はもともと返金を望んでいるのでは無く、安定したシステムを望んでいるはずです。

例えば、App Serviceの場合でも複数起動させておく。更に、複数起動したうちの1つについてはデータセンターを分ける、もしくはリージョンで分けるといった工夫をすることで定義されたSLAの値を実現、もしくはそれ以上の安定性を得ることができます。

ポイントとしては
・なんとなくの記憶で済ますのではなく、各リソース、サービスのSLAをちゃんと確認すること
・SLAを確認した上でどういった構成にするのが良いのかを考えること。記載があればそれを参考にすること

といったところでしょうか。
今、皆さんが携わっているAzure環境のリソースやサービスは一体どのくらいのSLAなのか、改めて確認してみてはいかがでしょうか。
何か新しい気付きが得られるかもしれません。

この記事が気に入ったらサポートをしてみませんか?