用語の定義
「マルチクラウド」という用語はデータベース以外の文脈でも使われる、意味の広い用語です。これを詳細化して定義します。
すでに同様の定義を行っている例は海外を中心に存在しますが、最近のレポートとしてCockroach Labsが公開している“The State of Multi-Cloud 2024”があります。
Cockroach Labsの定義によれば、Multi-cloudとは「少なくとも2つの異なるパブリッククラウドコンピューティングの環境を使用すること」であり、その中のアプリケーションの構成やデータ連携などについては何も言及されません。同レポートでは、Multi-cloudの中でも同一のアプリケーションの範囲内で異なるパブリッククラウドを使うことをIntercloudと定義しています。ここで言うアプリケーションにはさまざまなワークロードが含まれ、このワークロードごとに異なるクラウドを利用する状況、例えばOLTPではAWS、分析やレポート業務ではGoogle Cloudを利用するなどが想定されています。
さらに狭義のMulti-cloudの定義として、Single-workload multi-cloud(SWMC)という概念も示されており、単一のワークロードを複数クラウドに展開する形を指しています。これはChapter4で示した「クラウド障害に対応した高い可用性」を示したマルチクラウドに近いものと言えるでしょう。
このように、同レポートでは「Multi-cloud > Intercloud > SWMC」という包含関係が示されています。また、「クラウドストラテジー: クラウド移行を成功に導く意思決定に基づくアプローチ」という書籍では、マルチクラウドの選択肢として次のような分類を行っています。
マルチクラウドの選択肢
(中略)
- 任意(Arbitrary):ワークロードは二つ以上のクラウドにあるが特に理由はない
- 分割(Segmented):異なるクラウドは異なる目的で利用されている
- 選択(Choice):プロジェクト(またはビジネスユニット)がクラウドプロバイダを選択する
- 並列(Parallel):単一のアプリケーションが複数クラウドにデプロイされている
- 可搬(Portable):ワークロードはクラウド間を好きな時に移動できる
【引用】クラウドストラテジー: クラウド移行を成功に導く意思決定に基づくアプローチ
同書籍では、マルチクラウドを採用している企業でも最初からその形態を意図して始まるわけではなく、さまざまな経緯を経て統制の取れた(あるいは混乱期で無統制の)構成になっていることが示唆されています。つまり、マルチクラウドに任意に踏み出した後に、目的を明確化して分割や選択を行い、複数のクラウドにまたがる利用について並列と可搬の方式を検討していきます。
Chapter4で解説したデータベースベンダーが各クラウドで同じサービスを利用可能にする展開は、上記の並列にあたります。また、「クラウド障害に耐える高い可用性」のために複数クラウドでデータを同期して切り替え可能とする構成は可搬にあたります。
ここまで見てきた先行文献とChapter4までに整理してきた要件から、このChapterではデータベースサービスの文脈におけるマルチクラウド関連用語を次のように定義します。
シングルクラウド ⇔ マルチクラウド > パラレルクラウド > クロスクラウド
シングルクラウドの意味付けは簡単で、単一のクラウドベンダーにシステムすべてを配置することであり、データベースの文脈では単一クラウドでしか使えないDBaaSを使うことを指します。
その反対の用語がマルチクラウドとなりますが、これはすでに書いてきたとおり、複数のクラウドをシステムにおいて活用する構成を指します。とくにデータベースだけに限定される用語でもなく、Section5-2で説明するアプリケーションサーバとデータベースが別々のクラウドに展開された構成もマルチクラウドです。
パラレルクラウドについては、本書ではデータベースの文脈に限定して用います。複数のクラウドにデータベースを配置する構成を意味しますが、それぞれが連携しているか、データベース間でデータが同期されているかなどは問いません。この際、異なるクラウドに同じDBMSを用いたDBaaSが展開されており、例えば、PostgreSQLのDBaaSがAWSやAzure、Google Cloudで利用されているという状況を想定します。つまり、Chapter4でポータビリティがあると説明したDBaaSが展開されている状況を指して、パラレルクラウドと定義します。
クロスクラウドは、「クラウド障害に対応した高い可用性」を実現するために、異なるクラウド間でデータを同期する構成を指します。こちらもパラレルクラウドと同様にデータベース文脈に限定して本書では用います。なお、クロスクラウドの構成であっても、その中に展開されるデータベースクラスターの配置、つまりノードやインスタンスをどのクラウドに配置するのかなど、さまざまなパターンがあります。
以降で実際の構成例を解説していきます。