ソフトウェア・マルチテナンシーとも呼ばれるマルチ・テナント・ソフトウェア・アーキテクチャーでは、ソフトウェア・アプリケーション(およびその基盤となるデータベースおよびハードウェア)の単一インスタンスが複数のテナント(またはユーザー・アカウント)にサービスを提供します。
テナントは個人ユーザーの場合もありますが、より多くの場合、アプリケーション・インスタンス内で共通のアクセスと権限を共有する顧客組織などのユーザーのグループのことです。各テナントのデータは、アプリケーション・インスタンスを共有する他のテナントから隔離され、見えないため、すべてのテナントのデータ・セキュリティーとプライバシーが確保されます。
ソフトウェア・マルチテナンシーは、Software-as-a-Service(SaaS)が提供されるアーキテクチャーです。組織でsalesforce.comを使用している場合、HubSpotや他のクラウド・ベースのSaaSサービスを選択した場合はマルチ・テナント・サービスのテナントです。
少し紛らわしいですが、マルチ・テナントはクラウド・ホスティング製品を指すこともあります。マルチ・テナント・ホスティング(共有ホスティングとも呼ばれます)では、単一の物理コンピューターまたは仮想マシン(VM)が複数のユーザーまたはクライアント組織間で共有されます。マルチテナント型ホスティング・ソリューションは通常、シングルテナントや専用ホスティング・ソリューションに代わる低コストな選択肢として、クラウド・サービス・プロバイダーによって提供されます。
この記事の残りの部分では、ソフトウェアのマルチテナンシーに焦点を当てます。マルチ・テナント・ホスティングとシングルテナント・ホスティングの種類の詳細については、こちらをご覧ください。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
各テナントがアプリケーション、データベース、サポート用ハードウェア・インフラストラクチャーの独自のインスタンスを取得するシングルテナント・アーキテクチャと比較して、マルチ・テナント・アーキテクチャは、ソフトウェア・プロバイダーとテナント顧客に次のような大きなメリットをもたらします。
マルチ・テナント・クラウドは、共有ホスティング、または顧客がパブリッククラウドやプライベートクラウドでコンピューティング・リソースを共有するアーキテクチャの同義語としてよく使用されました(しかし、現在は使用頻度が低くなりました)。今日、主要なクラウド・サービス・プロバイダーのほとんどは、専用ホスティング・サービス以外のほとんどのサービスをマルチ・テナント・モデルに基づいて提供していることが理解されています。
マルチ・テナント・モデルを使用すると、プロバイダーはデータセンターのハードウェアとインフラストラクチャーの使用率を最大化できるため、可能な限り低コストで顧客にクラウド・サービスを提供できます。
マルチ・テナント・アプリケーションのデータベースを選択する際、開発者は、データ分離に対する顧客のニーズまたは要望と、アプリケーション・トラフィックの増加や急増に応じて迅速かつ手頃な価格で拡張できるソリューションとの間のバランスを取る必要があります。
完全な分離を確実にするために、開発者はテナントごとに個別のデータベース・インスタンスを割り当てることができます。一方で、最大限の拡張性を確保するために、開発者はすべてのテナントに同じデータベース・インスタンスを共有させることができます。しかし、ほとんどの開発者は、各テナントが同じデータベース・インスタンス内に独自のスキーマを持つことができる(「ソフト分離」と呼ばれることもあります)PostgreSQLなどのデータ・ストアの使用を選択します。これにより、両方の長所を活用できます。
無料のIBM Cloudアカウントを作成して、IBM Watson APIを含む40以上の常時無料の製品にアクセスしましょう。
IBM Cloudは、規制の多い業種・業務向けに設計されたエンタープライズ・クラウド・プラットフォームであり、オープンでAI対応のセキュアなハイブリッド・ソリューションです。
IBMのクラウド・コンサルティング・サービスで新しい機能にアクセスし、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略や専門家とのパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。