マルチテナント・ソフトウェア・アーキテクチャー( ソフトウェア・マルチテナンシーとも呼ばれる)では、1つのソフトウェア・アプリケーション(およびその基盤となるデータベースとハードウェア)のインスタンスが、複数のテナント(またはユーザー・アカウント)にサービスを提供します。 テナントは個々のユーザーであることもありますが、より一般的には、アプリケーション・インスタンスへのアクセスと権限を共有する、顧客組織などのユーザー・グループです。 各テナントのデータは、アプリケーション・インスタンスを共有している他のテナントからは見えないように隔離されており、すべてのテナントのデータ・セキュリティとプライバシーを確保しています。
ソフトウェアのマルチテナンシーは、 Software-as-a-Service (SaaS) を提供する場合のアーキテクチャーです。 Salesforce.comやHubSpotなどのクラウドベースのSaaSを利用している企業は、マルチテナント型のサービスを利用しています。
少し紛らわしいのですが、マルチテナントはクラウド・ホスティングサービスのことも指します。 マルチテナント・ホスティング( シェアード ホスティングとも呼ばれる)では、1台の物理的なコンピューターや 仮想マシン(VM) を複数のユーザーや顧客組織で共有します。 マルチテナント型のホスティング・ソリューションは、クラウド・サービス・プロバイダーが、シングルテナント型または 専用 ホスティング・ソリューションに代わる低コストのソリューションとして提供しています。
この記事の残りの部分では、ソフトウェアのマルチテナンシーについて説明します。 マルチテナント型とシングルテナント型のホスティングの種類についての詳細はこちらをご覧ください。
マルチテナント・アーキテクチャーは、各テナントがアプリケーションのインスタンス、データベース、およびサポートするハードウェア・インフラを持つシングル・テナント・アーキテクチャーと比較して、ソフトウェア・プロバイダーとテナントのお客様に以下のような大きなメリットをもたらします。
マルチテナント・クラウドは、シェアード・ホスティングや、パブリッククラウドやプライベートクラウドで顧客がコンピューティング・リソースを共有するアーキテクチャーの同義語として使用されることが多かった(現在は少なくなっている)が、現在ではそのようなことはない。 今日では、大手クラウド・サービス・プロバイダーのほとんどが、専用ホスティング・サービスを除くほとんどのサービスをマルチテナント・モデルで提供していると理解されています。これにより、プロバイダーはデータセンターのハードウェアとインフラを最大限に活用し、結果として、可能な限り低コストでお客様にクラウド・サービスを提供することができます。
マルチテナント・アプリケーション用データベースを選択する場合、開発者は、データの分離を求める顧客のニーズや要望と、アプリケーションの成長やトラフィックの急増に対応して迅速かつ手頃な価格で拡張できるソリューションとの間でバランスを取る必要があります。
完全に分離するためには、各テナントに個別のデータベース・インスタンスを割り当てることができます。一方、最大限のスケーラビリティを確保するためには、すべてのテナントが同じデータベース・インスタンスを共有することができます。 ただし、ほとんどの開発者は、 PostgreSQLのようなデータ・ストアを使用することを選択しています。PostgreSQLでは、同じデータベース・インスタンス内で各テナントが独自のスキーマを持つことができ(「ソフト・アイソレーション」と呼ばれることもあります)、両方の長所を兼ね備えています。
IBMクラウドでは、共有リソースの予約や専用リソースを提供するマルチテナント型の VMware 環境である VMware Solutions on IBM Cloudをはじめ、数多くのマルチテナント型ソリューションを提供しています。 この共用解決方法では、既存のVMwareインフラストラクチャーとツールを使用し、VMwareベースのワークロードや提供される 災害復旧 のワークロードをIBM Cloudで実行することができます。 このソリューションは、既存のVMware環境を利用することで、アプリケーションやワークロードをリファクタリングすることなく、パブリッククラウドのメリットであるスケーラビリティ、スピード、コスト効率をお客様に提供します。
また、 IBM® Cognos® Analytics は、マルチテナント機能を内蔵しています。 Cognos BIのマルチテナント機能は、既存の認証インフラを再利用するため、テナントを管理するために、追加の管理作業は必要ありません。 マルチテナントを有効にしても、現在のユーザーやグループの管理方法には影響しません。 テナントの追加、削除、管理には、既存の認証プロバイダーを使用するだけです。
データウェアハウスの詳細については、 IBMidにサインアップして、IBM Cloudのアカウントを作成してください。