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