はじめに
Azure Analysis Servicesの可用性を高める方式についてメモ
※記事内のリンクは引用です
SLAについて
99.9 %
日に2分弱は保証されていない時間が生まれるレベルですが、基幹系システムでなく情報系システムであれば問題ない水準です。
方式
ではさらに可用性を高めるための具体的方法ですが、冗長化を基本方針とします。
冗長化構成をとる方式として以下の2点の組み合わせが考えられます。
- マルチリージョン構成
- スケールアウト構成
マルチリージョン構成
メインはこちらがアナウンスされています。
あらかじめ各地のリージョンにセカンダリのAnalysis Servicesを配置してダウン時にセカンダリにアクセスさせるようにします。
その際にサーバー名のエイリアスの機能を使うことでクライアントからはサーバの切り替えを
意識することなくアクセスさせることができます。
同期の方式
冗長化をするうえで重要なのはデータの同期ですが下記の2つの方法がアナウンスされています。
- モデルを他のリージョンの冗長サーバーにデプロイします。 この方法を使用する場合、プライマリ サーバーと冗長サーバーの両方のデータを並行して処理し、すべてのサーバーを確実に同期させる必要があります。
- プライマリ サーバーのデータベースをバックアップして、冗長サーバーで復元します。 たとえば、Azure Storage への夜間バックアップを自動化し、他のリージョンの他の冗長サーバーに復元できます。
また、下記の記事ではマルチリージョンをとりつつ、トラフィックマネージャを利用して、ユーザから近いリージョンのサーバに振り分けて負荷分散をする方式が紹介されています。
Sending Users to the Geographically Nearest Azure Analysis Services
SLAから考えると1-{(1-0.999)の(冗長化リージョン数)乗}が期待できるレベルと考えます。
スケールアウト構成
Azure Analysis Services のスケールアウト
同一リージョン内でクエリ応答のためのレプリカを作成します。
ただしこちらに関しては可用性が上がりそうではありますが、具体的な数字と冗長化の仕様ついての情報は明記されていませんでした。ラック障害には対抗できないかもしれません。