マルチテナントとは?シングルテナントとの違いや
メリット・デメリット、活用のポイントを解説

複数のユーザーが単一の環境を共有するマルチテナント方式は、コスト削減や運用負荷の軽減といった利点があります。しかし、全ての状況に適しているわけではなく、場合によってはシングルテナント方式を選択する方が良いこともあります。
今回は、マルチテナントの概要に加え、そのメリットやデメリットをご紹介することで、「どのような場面でマルチテナントが効果的であるのか」をお伝えいたします。
- 目次
マルチテナントとは
マルチテナントの概要とシングルテナントとの違いをご紹介します。
マルチテナントの概要
マルチテナントとは、一つのシステムやアプリケーションを複数のユーザーや企業が共有して利用する方式です。
「テナント」は本来、ビルやオフィスの一部を借りて利用する事業者を指す言葉です。これと同様に、マルチテナント方式で開発されたシステムでは、複数のユーザーが「テナント」としてシステムの一部を共同で利用します。
SaaS型のクラウドサービスで広く採用されている方式であり、データベースやソフトウェア、サーバーなどを共有することで、コスト削減や運用負荷の軽減といったメリットがあります。
シングルテナントとの違い
マルチテナントとは対照的に、一つのシステムやアプリケーションを単一のユーザーが専有して利用する方法を、シングルテナントと呼びます。
オンプレミス環境上に構築した自社専用のシステムや、クラウドサービスでも自社専用の環境などがシングルテナントの例となります。
下表はマルチテナントとシングルテナントを各観点で比較したものです。
比較の観点 | マルチテナント | シングルテナント |
---|---|---|
コスト | 〇 | × |
運用負担 | 〇 | × |
セキュリティ | △ | 〇 |
リソースの占有可否 | × | 〇 |
コスト面では、単一の環境を複数のユーザーが利用するマルチテナントにメリットがあります。同様に、マルチテナントでは複数のユーザーが利用する単一の環境を運用するため、システム提供者の運用負荷も抑えられます。
一方で、同一のデータベースやサーバーを複数のユーザーが利用する関係上、マルチテナントにおいてはテナント間で適切にデータを分離しなければなりません。また、データを分離したとしても、作業ミスで本来閲覧してはいけないデータを他のユーザーに表示してしまう、といったリスクは完全には避けられません。
また、複数のユーザーが共通のコンピューティングリソースを利用するため、利用が集中する時期や時間帯などにパフォーマンスが低下する恐れもあります。後述するノイジーネイバーとして、リソースを過度に占有してしまうユーザーへの対処も必要です。
このように、マルチテナントとシングルテナントにはそれぞれメリット・デメリットがあり、用途やニーズに応じた使い分けが求められます。
マルチテナントのメリット
以下では、マルチテナントのメリットについて、さらに深掘りしていきます。
迅速に環境を構築できる
マルチテナントでは、事前に構築された共通のインフラやアプリケーションを複数のユーザーが利用します。そのため、ユーザーが増えても新たにインフラやアプリケーションを構築する必要がなく、短期間で環境を構築できるというメリットがあります。
※関連記事:ビジネスアジリティを向上するためにIT部門が取り組むべきこととは
システム運用の負荷を減らすことができる
マルチテナントでは、システム提供者が全ての環境を一括して管理するため、ユーザーごとに個別に運用保守を行う必要がありません。
このようなマルチテナントのメリットは、クラウドサービス提供事業者が提供するSaaSを利用するケースはもちろんのこと、グループ会社横断でのシステム利用など、自社開発したシステムを複数の企業で利用するケースでも活かせます。
グループの中核企業がマルチテナント型でシステムを開発し、グループ企業がそのシステムを利用すれば、各グループ企業の運用負荷を抑えられ、全体最適を実現できます。
マルチテナントのデメリット
他方、マルチテナントにもデメリットがあります。以下で詳しく解説していきます。
セキュリティリスクの恐れがある
マルチテナント方式では、複数のユーザーが同じサーバーやデータベースを共有するため、アクセス制御やデータ保護の対策が不可欠です。論理的なアクセス管理やデータ分離を行ったとしても、権限設定の設定ミスなど人的エラーによるセキュリティリスクはシングルテナントと比べて高くなる傾向があります。
ただし、マルチテナント型の開発では許容できるセキュリティリスクに応じた設計が可能です。例えば、テナントごとにサーバーやデータベースを個別に用意する「サイロ型」と呼ばれるモデルを採用することで、セキュリティリスクを比較的低く抑えることができます。
機能やデザインの自由度が低い
共通のシステムを利用するため、カスタマイズの自由度がシングルテナントに比べて制限される点もデメリットです。基本的に、マルチテナント型の開発において、ユーザーごとのカスタマイズは推奨されません。カスタマイズが必要である場合は、他のユーザーのニーズも加味し、全ての環境に共通の機能として追加したり、フィーチャーフラグとして機能のオン・オフを切り替える仕組みを構築したりする必要があります。
ユーザーごとに細かいカスタマイズが求められるシステムについては、マルチテナント型での開発は適していません。このような状況では、シングルテナント型の開発が推奨されます。
マルチテナント・シングルテナントどちらを選ぶべき?
ここまでマルチテナントのメリット・デメリットをご紹介しましたが、具体的にどのようなケースでマルチテナントを採用すべきなのでしょうか。
以下では、マルチテナントを選ぶべきケースとシングルテナントを選ぶべきケースを具体的にご紹介します。
こんな企業には「マルチテナント」がおすすめ
以下のニーズを持つ企業やプロジェクトにおいては、マルチテナントの採用がおすすめです。
・コストを最優先し、できるだけ安価にシステムを利用したい。
・提供される標準機能で業務要件を満たせる。
・自社に専門のIT担当者がおらず、運用・保守は任せたい。
・とにかくスピーディーに利用を開始したい。
低コストかつ運用負荷を抑えたい場合にはマルチテナントが向きます。複数ユーザーでシステムを共用することでコンピューティングリソースを最適利用してコスト総額を抑え、かつ新規ユーザーが追加になる場合でも素早く環境を用意できます。IT担当者がいない、もしくは十分なリソースが無いというケースにもおすすめです。
こんな企業には「シングルテナント」がおすすめ
対して、以下のニーズを持つ企業やプロジェクトにおいては、シングルテナントの採用がおすすめです。
・独自の業務フローに合わせた大幅なカスタマイズが必須である。
・業界の規制やセキュリティポリシー上、他社とリソースを完全に分離する必要がある。
・他のユーザーの利用状況に一切影響されない、安定したパフォーマンスを常に確保したい
ユーザーごとに機能をカスタマイズする必要があったり、セキュリティを強化しなければならなかったりする場合には、要件に対して柔軟に対応しやすいシングルテナントの採用がおすすめです。また、シングルテナントではユーザーがシステム環境を占有できるため、安定したパフォーマンスが求められるシステムにおいてもシングルテナントが適しています。
マルチテナントを活用するポイント
ここでは、マルチテナントを活用するためのポイントをいくつかの観点からご紹介します。
マルチテナント環境における安定性の確保
マルチテナント環境を安定的に運用していくためには、過剰にコンピューティングリソースやデータベースの領域を消費してしまう「ノイジーネイバー」の問題に対処する必要があります。
ノイジーネイバー対策として最もシンプルな方法は、利用するコンピューティングリソースに応じて費用負担を変えるという方法です。これにより、ユーザーに必要最小限の利用を促します。
別の方法として、ノイジーネイバーを個別の環境に隔離してしまうやり方も考えられます。これにより、同一の環境を利用する他のユーザーへの影響を減らすことができます。
ただし、このような対策を行うためには事前にテナントの移動を考慮に入れた設計が必要となります。また、インフラを移動させるためにはサービス停止などの対処も必要となるため、個別環境への隔離は緊急対応といえるでしょう。
セキュリティ対策
マルチテナントでシステムを運用する際には、セキュリティについて十分な考慮が必要です。いわゆる「クロステナントアクセス」として、別のユーザーの情報を参照できてしまう状況の発生を避けなければなりません。
ここで重要となるのが、テナント境界の明確化です。具体的には、以下のパターンで境界を設定します。
〇サイロモデル
ユーザーごとに個別にデータベースやサーバーを用意する
〇プールモデル
複数のユーザーが共通のデータベースやサーバーを利用する
〇ブリッジモデル
サーバーのみを共有し、データベースはユーザーごとに分ける
システムに要求されるセキュリティレベルを踏まえ、各分離モデルに基づき設計を行う必要があります。
運用管理の効率化
マルチテナントでは、システム提供者が複数のユーザー環境の運用管理を一元的に実施します。全体でみれば運用を効率化できる仕組みですが、どうしてもシステム提供者に負荷が集中するため、効率的な運用管理が求められます。
例えば、ツールの導入による各ユーザーのモニタリングはその一つです。各ユーザーがどのようにシステムを利用しているか、ノイジーネイバーの問題は発生していないかなど、ユーザーの活動状況を一元的に把握できるようにします。
また、特に多数のユーザーが利用するシステムである場合は、新規ユーザー追加時のテナントオンボーディングを自動化することも検討すべきでしょう。
マルチテナント管理機能を備えるプラットフォーム「LaKeel DX」
今回は、マルチテナントについて詳しくご紹介しました。マルチテナントはうまく使いこなせば全体最適化を実現できる仕組みといえますが、活用にあたってはシステム提供者に負荷が集中しないように効率化も求められます。
マルチテナント型のシステム開発を効率的に行うためには、プラットフォームの活用も有効です。ローコード・ノーコード開発プラットフォームであるLaKeel DXでは、効率的なシステム開発を実現できる機能を提供しています。
LaKeel DXのLaKeel Visual Mosaicでは、マルチテナント型でフロントサイトの開発も可能です。バックエンドのLaKeel Synergy Logicと連携し、ローコード・ノーコードでシステム開発を実現します。
LaKeel DXによるマルチテナント型開発の特徴は以下のとおりです。
・マルチテナント型のヘッドレスCMSにより、バックエンドと分離しメンテナンスを容易に
・HTML/CSS/JavaScriptを分離することで、画面部品の共有化を行いつつ、テナントごとの自由なデザインを実現
・システム運用管理に必要なツールはパッケージ化して提供
マルチテナント型システム開発に興味のある方は、ぜひ当社までお声がけください。

このコラムを書いたライター

本サイトでは、企業のDX推進に役立つ様々な情報をお届けしています。