マイクロソフトは先日、Azure Service BusのPremiumレベルに向けた新しいGeoレプリケーション機能のパブリックプレビューを発表した。この機能では、名前空間にまつわるメタデータやデータの複製をプライマリリージョンからセカンダリリージョンへ継続して行える。そのため、ユーザーはいつでもレプリケーションを進められるようになる。
Azure Service Busはマイクロソフトのフルマネージド型のメッセージングサービスで、クラウド環境とオンプレミス環境に分散したアプリケーション間やサービス間で信頼性と安全性の高い通信が可能になる。
今回発表のサービスに向けたGeoレプリケーションの新機能は、停電や災害に際して、Azure Service Busアプリケーションの保護を強固にすることを目的としている。既存のオプションであるGeo-Disaster Recovery やAvailability Zonesを補完する形のサービスだ。
既存のGeoディザスタリカバリ機能とは異なり、Geoレプリケーションではメタデータとデータが複製される。このため、米国の東西部など、異なるAzureリージョン間での回復性が確かなものになる。さらに、アベイラビリティゾーンによって、特定地域のリージョン内での回復性が見込めるようになる。
マイクロソフトのService Busチームでシニア・プログラム・マネージャーを務めるEldert Grootenboer氏は、次のように記している。
Geoレプリケーション機能では、プライマリ セカンダリ レプリケーションモデルでのメタデータとデータが実装されます。こうして単一の名前空間で作用することで、ある一時点で、生産者と消費者にサービスを提供するプライマリリージョンは1つだけになります。単一のホスト名がネームスペースに接続されますが、接続先は常に現在のプライマリリージョンになります。セカンダリリージョンの昇格後は、ホスト名が新しいプライマリリージョンになり、以前のプライマリリージョンはセカンダリリージョンに降格されます。新しいセカンダリリージョンは再初期化で昇格され、いつでもプライマリリージョンに戻すことが可能です。
Service Bus PremiumのGeoレプリケーション(出典:Tech community blog post)
マイクロソフトの競合他社は、ディザスタリカバリ機能を備えた同様のメッセージングサービスを提供している。AWS Simple Queue Service(SQS)は、リージョン内の複数のアベイラビリティゾーンにメッセージを分散させることで、高可用性と耐障害性を確保している。つまり、特定のデータセンターに停電や災害が発生しても、メッセージへのアクセスは維持され、失われることはない。同様に、Google Cloud Pub/Subは、複数のリージョン間でデータを自動的に複製することで、高可用性とディザスタリカバリを提供し、1つのリージョンで障害や災害が発生した場合でも、メッセージが確実に配信され、利用できるようにする。
マイクロソフトのメッセージング・リアルタイム分析担当アーキテクト主任であるClemens Vasters氏は、大胆なツイートをしている。
#Azure Service Busは、現存する中でもっとも強力なトランザクション用ハイパースケールキューブローカーです。
リージョン障害に対する保険として、マルチリージョン、同期型(RPO-Zero)や、非同期型の名前空間レプリケーション(すべてのメッセージとメッセージステートが対象!)を導入しています。
最後に、この機能は米国中部のEUAP、イタリア北部、スペイン中部、ノルウェー東部のAzureリージョンで利用できる。