シングルテナントという用語の削除 - SaaS アーキテクチャの基礎

シングルテナントという用語の削除

マルチテナントという用語の使用の一環として、SaaS 環境を説明するためにシングルテナントという用語を使用したいと思うのは当然のことです。ただし、前述の背景を考えると、シングルテナントという用語は混乱を招きます。

前のトピックの図(テナントごとのスタック)はシングルテナント環境でしょうか。各テナントには技術的には独自のスタックがありますが、これらのテナントは依然としてマルチテナントモデルで運用および管理されています。これが、一般的にシングルテナントという用語が避けられる理由です。すべての環境は、マルチテナントとして特徴付けられます。これは、リソースの一部またはすべてが共有化または専用化されている、一部のテナンシーのバリエーションを実装しているだけだからです。

サイロとプールの紹介

これらすべてのモデルのバリエーションと、マルチテナンシーという用語に関する課題を考慮し、SaaS を構築する際に使用されるさまざまなモデルをより正確に把握し、説明するための用語をいくつか紹介しました。

SaaS 環境でのリソースの使用を特徴付ける用語には、サイロプールの 2 つがあります。これらの用語を使って SaaS 環境の性質にラベルを付けることができます。マルチテナントは、基礎となるあらゆる数のモデルに適用できる包括的な説明として使用します。

最も基本的なレベルでは、サイロという用語は、リソースが特定のテナントに専用化されるシナリオを指します。逆に、プールモデルは、テナントがリソースを共有するシナリオを表すために使用されます。

サイロとプールという用語がどのように使用されるかについて検討するとき、サイロとプールは絶対的な概念ではないことを明確にておくことが重要です。サイロとプールは、テナントのリソーススタック全体に適用することも、SaaS 環境全体の一部に選択的に適用することもできます。したがって、あるリソースがサイロモデルを使用していると言っても、その環境のすべてのリソースがサイロ化されているわけではありません。プールという用語の使い方についても同じことが言えます。

次の図は、SaaS 環境でサイロ化されたモデルとプールされたモデルをより詳細なレベルで使用する方法の例を示しています。

サイロモデルとプールモデルを示す図。

サイロモデルとプールモデル

この図には、サイロモデルとプールモデルの性質について、より的を絞って説明するための一連のサンプルが含まれています。これを左から右にたどると、注文マイクロサービスから開始されていることがわかります。このマイクロサービスでは、コンピューティングはサイロ化し、ストレージはプール化しています。これはコンピューティングとストレージがプール化された製品サービスと相互作用します。

次に、製品サービスは、プール化されたコンピューティングとサイロ化されたストレージを備えた請求書マイクロサービスとやり取りします。このサービスは、キューを介して配送サービスにメッセージを送信します。キューはサイロ化されたモデルで展開されます。

最後に、配送マイクロサービスはサイロ化されたキューからメッセージを取得します。これはプール化されたコンピューティングとストレージを使用します。

これは少し複雑に思えるかもしれませんが、サイロとプールの概念のより詳しい性質について明らかにすることを目的としています。SaaS ソリューションの設計と構築を検討する際には、ドメインとカスタマーのニーズに基づいて、このようなサイロ化やプール化に関する意思決定を行うことが予想されます。

サイロモデルやプールモデルを適用する方法やタイミングは、ノイジーネイバー、分離、階層化、その他さまざまな理由に影響する可能性があります。