UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

【Architecture】マルチテナンシーとは

どの文脈かは忘れたが、multi-tenancyというワードを聞いたので調べた

こちらの記事がわかりやすかった

whatis.techtarget.com

マルチテナンシーとは

マルチテナンシーは、ソフトウェアアプリケーションの単一インスタンスが複数の顧客にサービスを提供するアーキテクチャ

各顧客はテナントと呼ばれ、テナントにはユーザーインターフェイス(UI)の色や ビジネスルールなど、アプリケーションの一部をカスタマイズする機能が与えられる場合があるが、アプリケーションのコードをカスタマイズすることはできない

マルチテナントアーキテクチャでは、アプリケーションの複数のインスタンスが共有環境で動作する

マルチテナンシーアプリケーションは、同じユーザー、ディスプレイ、ルール、およびデータベース スキーマを共有できる

マルチテナンシーの重要性

マルチテナンシーはクラウドコンピューティングで最も使用されている

マルチテナントアーキテクチャは、パブリッククラウド環境とプライベートクラウド環境の両方にあり、各テナントのデータを互いに分離できる

たとえば、マルチテナントパブリッククラウドでは、同じサーバーがホスト環境で使用され、複数のユーザーをホストする

各ユーザーには、サーバー内にデータを格納するための個別のスペースが与えられる

マルチテナンシーは、スケーラビリティにとって重要で、組織のROIを向上させるだけでなく、テナントのメンテナンスと更新のペースを速める

マルチテナンシーの長所と短所

ホストプロバイダーおよびマルチテナンシーのテナントになることには、多くの長所と短所がある

利点

  • 他のテナントホスティングアーキテクチャと比較すると安価
  • 必要に応じて支払う価格設定モデルの提供している
  • テナント側は、ホストプロバイダーによってプッシュされるため、更新について心配する必要がない
  • テナント側は、データがホストされているハードウェアについて心配する必要がない
  • プロバイダー側は、単一のシステムを監視および管理するだけで済む
  • アーキテクチャがスケーラブル

欠点

  • マルチテナントアプリは、シングルテナントなどの他のテナントアーキテクチャのアプリよりも柔軟性が低い傾向がある
  • 一般に、マルチテナンシーはシングルテナンシーよりも複雑
  • マルチテナントアプリには、セキュリティのために、より厳密な認証とアクセス制御が必要
  • テナントは、他のテナントについて心配する必要がある
    つまり、同じCPU上の他の誰かが多くのサイクルを消費し、応答時間が遅くなる可能性がある
  • プロバイダーによっては、ダウンタイムも問題になる場合がある