マルチテナントアプリ = SaaS ですか?
すべての SaaS アプリはマルチテナンシーアーキテクチャを採用するべきですか?マルチテナンシーアーキテクチャを消費者向けアプリに適用することは可能ですか?
マルチテナントアプリの広い定義
前の章では、マルチテナンシーについて一般的な意味で議論しました。要約すると、マルチテナントアプリと呼ぶとき、それは必ずしも1つのアーキテクチャモデルに従う必要はなく、さまざまなテナンシー戦略を利用していることを意味します。このことは、その少なくとも一部のコンポーネントが共有されていることを示しています。
この章では、ビジネスおよび製品の観点からマルチテナントアプリを探ります。
ビジネスにおけるマルチテナントアプリの種類
SaaS
マルチテナントアプリは、ビジネスツービジネス(B2B)ソリューション、例えば生産性向上ツールやエンタープライズリソースプランニング(ERP)システム、その他のサービスとしてのソフトウェア(SaaS)製品によく適しています。この文脈では、各「テナント」は通常、ビジネス顧客を表し、その顧客が複数のユーザー(従業員)を持つことができます。さらに、ビジネス顧客が複数のテナントを持ち、異なる組織や事業部を表すこともあります。
一般的な B2B のユースケース
B2B アプリケーションは SaaS 製品を超えて、よくマルチテナントアプリを使用します。B2B の文脈では、これらのアプリはさまざまなチーム、ビジネスクライアント、パートナー企業があなたのアプリケーションにアクセスする共通のプラットフォームとして役立ちます。
例えば、B2C と B2B の両方のアプリを提供するライドシェア会社を考えてみましょう。B2B アプリは複数のビジネスクライアントにサービスを提供し、マルチテナントアーキテクチャを使用することで、従業員とリソースの管理を助けます。例えば、会社が統一されたユーザーアイデンティティシステムを維持したい場合、以下のようなアーキテクチャを設計することができます:
Sarah を例に取りましょう。Sarah は個人とビジネスの両方のアイデンティティを持っています。彼女は乗客としてライドシェアサービスを利用し、空き時間にはドライバーとして働いています。彼女のプロフェッショナルな役割では、Company A に関連しており、同時に個人的なビジネスも管理しています。
SaaS におけるマルチテナンシーの重要性
上記の情報を追ってきたなら、必要な答えはすでに持っているでしょう。SaaS、すなわちサービスとしてのソフトウェアは、ビジネスモデルの観点から定義される概念です。一方、マルチテナンシーは、SaaS やその他の B2B の文脈でも適用可能なソフトウェアアーキテクチャです。
SaaS とマルチテナンシーが混同されることが多いのは、業界で広く認識されている信念によるものです。それは、企業クライアントを目指す際、マルチテナントアプローチを採用することが必須であるという考えです。
マルチテナンシーが重視されるのは、企業にサービスを提供する際の複雑性に対処し、さまざまな観点から貴重な解決策を提供する 上で大きな役割を果たすからです。
マルチテナンシーを活用した拡張
企業ビジネスにおいて、マルチテナンシーは、可用性、リソース管理、コスト管理、データセキュリティの要件を効果的に満たす鍵です。技術的には、マルチテナントアプローチを採用することで、開発プロセスが簡素化され、技術的な課題が最小化され、スムーズな拡張が促進されます。
統一された体験の創造
SaaS 製品のルーツを考えると、それはさまざまなアパートを含む建物のようなものです。すべてのテナントは水、電気、ガスなどの共通のユーティリティを共有しますが、独立したスペースとリソースの管理を続けます。このアプローチは、プロパティの管理を簡略化します。
SaaS 製品をこの建物のように考えてみてください。各ユニットごとに別々のエージェントを持つのではなく、一部のコンポーネントやユニットがすべてのテナントによって共有される統一された体験を提供することができます。これは、各部屋を個別に作成し管理するよりも効率的です。マルチテナンシーアーキテクチャは、ビジネス運営および顧客の両方に利点をもたらします。
テナント分離によるセキュリティの確保
マルチテナントアプリケーションを議論する際には 、テナント分離の概念に深く触れることが重要です。マルチテナンシーアーキテクチャでは、「テナント」という用語が導入され、共有インスタンス内で異なるテナントのリソースとデータを分離し安全に保ちます。これにより、各テナントのデータと操作は、同じ基礎リソースを利用している場合でも、それぞれ独立して安全に保たれます。
SaaS の文脈では、マルチテナントアーキテクチャは、リソースへのアクセスを厳密に制御し、他のテナントのリソースへの不正なアクセス試行を防ぐメカニズムを採用しています。
テナント分離の概念は抽象的で不明瞭に見えるかもしれません。次の章では、テナント分離の原則と考え方をより詳細に理解するための例や重要なポイントを提供します。