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

マルチテナンシーは、クラウド コンピューティングの中心的な概念の XNUMX つです。 組織がますます多くの技術スタックをクラウドに移行し続ける中、マルチテナンシー、つまりアーキテクチャが環境を共有する方法を理解することは、学ぶべき最も重要なトピックの XNUMX つです。 この記事では、マルチテナンシーの複雑さ、他のテナンシー モデルとの比較、およびその利点について詳しく説明します。

内容

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

マルチテナンシーは、複数のユーザーが XNUMX つ以上のアプリケーション インスタンスを同時に共有できるようにするアーキテクチャ パターンです。 各ユーザーはテナントと呼ばれます。 これは個々のユーザーの場合もありますが、より一般的には顧客企業などのユーザーのグループです。 各テナントのデータは分離されており、他のテナントからは見えませんが、同じサーバー上で実行されます。

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

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

一般に、マルチテナント アーキテクチャは、シングル テナントに比べて費用対効果が大幅に高いため、好まれます。 シングル テナンシーはこれまで、構成の制御を強化し、分離を強化し、関連するセキュリティを提供することができましたが、SaaS ベースのマルチテナント アーキテクチャは、これらの利点のほとんどすべてを備えたシングル テナンシーを凌駕しています。

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

従来、組織はオンプレミス サーバーを単一テナントで維持してきました。 風景が自然にクラウドへと移行したため、現在ではほとんどの組織がマルチテナンシーを標準として採用しています。 クラウドベースのプラットフォーム より高い柔軟性、ハードウェア メンテナンスの節約、およびクラウド テクノロジへのアクセスを提供するため、ほとんどのオプションにとって明らかな選択肢となっています。 

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

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

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

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

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

大きく分けて以下のXNUMXつです マルチテナント データベース パターンへのアプローチ、それぞれ複雑さとコストのレベルが異なります。

GCP Cloud SQL ダッシュボード

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

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

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

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

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

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

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

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

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

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

LogicMonitorプラットフォームを使用したリモートセッションエグゼクティブダッシュボード

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

組織間でマルチテナンシーを標準にしている利点は数多くあり、その利点には次のようなものがあります。

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

マルチテナンシーの未来

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