マルチテナンシー:あなたが見ているものと彼らが見ているもの

マルチテナンシー:あなたが見ているものと彼らが見ているもの

マルチテナンシーは、のコアコンセプトのXNUMXつです。 クラウドコンピューティング。 組織がクラウド機能の導入を検討しているとき、利用可能なテナントオプションの全範囲と、それぞれが会社にとって何を意味するのかを理解することが重要です。 この記事では、マルチテナンシーの複雑さ、他のテナンシーモデルとの比較、およびその利点について説明します。

Contents [show]

マルチテナンシーとは何ですか?

クラウドコンピューティングでは、ソフトウェアマルチテナンシー(マルチテナントアーキテクチャとも呼ばれます)は、複数のユーザーがXNUMXつ以上のアプリケーションインスタンスを同時に共有できるようにするアーキテクチャパターンとして定義されます。 各ユーザーはテナントと呼ばれます。 これは個々のユーザーにすることができますが、より一般的には顧客企業などのユーザーのグループです。 各テナントのデータは分離されており、他のテナントには表示されませんが、同じサーバー上で実行されます。

シングルテナンシーとマルチテナンシー

単一の借地権には、単一の顧客専用の単一のアプリケーションインスタンスが含まれます。 シングルテナンシーとマルチテナンシーの違いは、不動産形式で説明できます。 単一の借地権は、顧客が自分の家をXNUMXつ購入し、必要に応じてそれをカスタマイズすることと見なすことができます。 マルチテナンシーは、すべて同じリソースを共有する、個々の顧客に賃貸されているいくつかの孤立したアパートがあるアパートの建物に例えることができます。

現在、多くの企業は、シングルテナンシーと比較して費用効果が高いため、マルチテナントアーキテクチャの使用を好みます。 ただし、単一の借地権には、構成可能性の向上、分離の強化、関連するセキュリティなど、特定の組織にとって理想的なアーキテクチャパターンとなる可能性のあるいくつかの利点があります。

なぜマルチテナンシーに移行するのですか?

従来、組織は単一のテナントでオンプレミスサーバーを維持してきました。 しかし、近年、クラウドコンピューティングへの移行が進んでいます。 クラウドコンピューティングは、柔軟性の向上、ハードウェアメンテナンスの節約、クラウドテクノロジーへのアクセスを提供するため、ほとんどのオプションで当然の選択肢となっています。 

企業が使用するクラウドコンピューティングには、主にXNUMXつのタイプがあります。 Software as a Service(SaaS)、Platform as a Service(PaaS)、およびInfrastructure as a Service(IaaS).

これらの中で、SaaSは企業の間で最も人気があり、そのコアアーキテクチャはマルチテナントであるため、ほとんどの組織にとってマルチテナントへの移行は避けられませんでした。 さらに、ほとんどの場合、クラウドベースのアプリケーションにはマルチテナンシーが必要です。

マルチテナントデータベース

マルチテナントアプリケーション用のデータベースを選択する場合、開発者が考慮しなければならないいくつかの基準があり、それらには次のものが含まれます。

  • テナント数、ストレージ、およびワークロードを含むスケーラビリティ
  • 開発と運用の複雑さ
  • テナントの分離

以下に概説するのは、マルチテナントデータベースパターンへのXNUMXつの主要なアプローチであり、それぞれがさまざまなレベルの複雑さとコストを伴います。

単一の共有データベースとスキーマ

これは、開発の初期段階で最も簡単なアプローチです。 テナントは同じアプリケーションインスタンスとデータベースを共有し、各テナントは共有スキーマにテーブルを持っています。 スケーリングが容易になり、テナントの数が増えますが、個々のテナントのトラブルシューティングが難しい場合があります。 さらに、テナントの分離が非常に低くなります。 テナント数が指数関数的に増加すると、データベースの運用が難しくなります。

共有データベース、個別のスキーマ

ここでは、データベースはXNUMXつですが、テナントごとにXNUMXつのスキーマがあります。 このアプローチは、さまざまな地理的規制を通過する場合など、さまざまなテナントからのデータをさまざまに処理する必要がある場合に役立ちます。 また、単一スキーマアプローチよりも安全です。 ただし、準拠していません PCI / HIPAA / FedRAMP規制

個別のデータベース、個別のスキーマ

このアプローチでは、コンピューティングリソースとアプリケーションコードは単一サーバー上のテナント間で共有されますが、各テナントには、他のテナントのデータから論理的に分離されたままの独自のデータセットがあります。 最高レベルのテナントとデータの分離を提供しますが、最もコストのかかるアプローチでもあります。

マルチテナント環境のアクセス制御

マルチテナンシーにおけるアクセス制御管理の難しさは次のとおりです。

  • さまざまなデータとアプリケーションリソースの制御
  • さまざまなテナントにリソースへのアクセスを提供する
  • 多数のユーザーの競合するポリシードメイン間で多くの承認ルールを使用してアクセス制御メカニズムを設計する

マルチテナンシーで適用される最も一般的なアクセス制御手段は 役割ベースのアクセス制御(RBAC)。 RBACは、ユーザーにきめ細かい承認を提供し、テナント間の信頼を構築します。 

マルチテナンシーのメリット

マルチテナンシーを組織の間で人気のあるものにしている多くの利点があり、それらには次のものが含まれます。

  • マルチテナント環境とリソースのコストはテナント間で共有されるため、費用対効果が非常に高くなります。
  • サーバーのアップグレードとメンテナンスの更新の義務は通常SaaSベンダーにあるため、テナントのメンテナンスは少なく、単一のサーバーが多くのテナントにサービスを提供しているため、更新を一度に簡単に展開できます。
  • クライアントがオンデマンドで利用できる高いスケーラビリティを提供します。 また、新しいユーザーが同じ既存の基本ソフトウェアにアクセスできるため、インフラストラクチャへの影響も少なくなります。
  • 新しいドメイン/サブドメインのサインアップと構成のプロセスが自動化され、APIを使用することで他のアプリケーションとの統合が容易になるため、サーバーに新しいテナントを簡単に追加できます。

マルチテナンシーの未来

企業は、マルチクラウドテナンシーやハイブリッドテナンシーなどの手段を通じて、シングルテナンシーとマルチテナンシーの両方のメリットを活用する方法を常に模索していますが、マルチテナンシーは依然としてクラウドコンピューティングの最前線にあります。 これは、組織に水平方向の拡張の無限の機会を提供し、オンプレミスサーバーからクラウドサービスへの移行を検討しているビジネスにとって理想的なツールになります。