クラウドコンピューティングでマルチテナントを実装する方法

クラウドコンピューティングでマルチテナントを実装する方法

翻訳者 |朱剛

校正:孫淑娟

クラウドベースの SaaS ソリューションでは、他のほとんどのソリューションと同様に、マルチテナントが必要です。マルチテナンシーとは何か、それによって何が得られるのか、そして 2 つのシンプルなレイヤーで簡単に実装するにはどうすればよいのかを簡単に確認してみましょう。

1. マルチテナントとは?

基本的に、マルチテナンシーにより、サービス (つまり、個々のマイクロサービス) の個々の部分が、顧客ごとに個別のインスタンスを展開することなく、複数の顧客にサービスを提供できるようになります。 SaaS ソリューションを低コストで拡張し、顧客の需要を満たし、弾力性(つまり、クラウド リソースのコスト効率)を確保するには、マルチテナントをサポートする必要があります。

マルチテナント アーキテクチャは、多くの優れた重要な機能を提供します。

  • 基盤となるインフラストラクチャとサービスを共有しながら、アプリケーションが複数の顧客に同時にサービスを提供できるようにします。
  • 安全で準拠したアクセス分離。
  • 負荷分散とスケーリング。

2. 2つのレベルのマルチテナント

マルチテナントを理解すれば簡単です。基本的に必要なのは、「アプリケーション レベルのアクセス制御」と「データ アーキテクチャの管理」の 2 つだけです。

これを 2 つのレベルに分解してみましょう。

  • データ層は、分離されたデータをどのように送信、保存、管理するか (つまり、基盤となるインフラストラクチャが異なるテナントのデータの混在を回避する方法) に関するものです。データ レベルでのマルチテナンシーは通常、データ ストレージ アーキテクチャ (データベースへのデータの格納方法)、トピック (Kafka トピックなど)、タグ、ドメイン、ソケット、転送中のデータのポートなど、データ レイヤーでのパーティション分割として実装されます。

単純な列ベースのテナント分離を備えたデータベース テーブルの例

  • アプリケーション レベルでは、ロジック層で異なるテナントのコンテキストとアクセスを実装する方法、つまり、同じコードを異なるテナントに適用できるようにする方法が重要です。承認は、アプリケーション レベルでマルチテナントを実装するために必要なコンポーネントです。

Permit.io の SDK を使用してマルチテナントを強制するアプリケーション ルーティングの例

3. マルチテナントを実装する

シングルテナント アプリケーションからマルチテナント アプリケーションに安全にアップグレードするための最も高速かつ信頼性の高い方法である承認レイヤー。さらに、サービス自体を変更せずに、関連するすべてのサービスにポリシーを適用することで、承認レイヤーを分離できます。

適切な戦略モデルを選択すると、この移行プロセスがさらに簡素化されます。 RBAC + テナンシー、ReBAC + 階層 (テナントがルートレベルの関係になる)、または単純な ABAC (テナンシーが属性になる) などの従来のモデルを使用します。

マルチテナント認証を独自に実装する必要はなく、既存のオープンソース ツールとサービスを使用して実現できます。

4. OPA + OPAL(オープンソース)を使用したマルチテナントの実装

オープンソース ツールを使用することは、マルチテナント認証レイヤーの実装を開始するのに最適な選択肢です。複数のオプションがありますが、最も一般的に使用されるのは Open Policy Agent (OPA) です。 OPA は、アプリケーションに追加して、独自の Rego 言語で記述されたルールを使用してアクセスを強制できる認証マイクロサービスとして機能します。

OPA と OPAL (Open Policy Management Layer) を組み合わせることで、Pub/Sub トピックを使用してエージェントにポリシー (Rego コード) とデータ (JSON ドキュメント) を通知しながら、認証レイヤーを大規模に管理できるようになります。たとえば、トピックはテナント名またはテナント ID にすることができ、これによりブローカーを各テナントの変更と同期できるようになります。

5. Permit.io を使用したマルチテナント (サービス) の実装

Permit.io のような認証ソリューションを適用します。 Permit は OPA と OPAL 上に構築され、テナント リスト、テナント リソース管理、各テナントのユーザー管理などの管理インターフェイスが追加されます。

Permit.ioダッシュボードでテナントを切り替える

6. まとめ

マルチテナントにより、顧客ごとに個別のインスタンスを展開することなく、アプリケーションで複数の顧客のニーズに対応できるようになります。 Gist のマルチテナント ソリューションは、データとアプリケーションの 2 つのレイヤーで構成されます。マルチテナントを実装する最良の方法の 1 つは、サービス自体を変更せずに分離を可能にする承認レイヤーを作成することです。独自の認証レイヤーを構築することもできますが、アプリケーションに月単位のマルチテナント認証レイヤーを実装できるオープンソース プロジェクト (OPA + OPAL など) やサービス (Permit.io など) もあります。

元のリンク: https://dev.to/permit_io/how-to-implement-multitenancy-in-cloud-computing-4pif

翻訳者について

朱剛、51CTOコミュニティ編集者、2021年IT影響力のある専門家ブロガー、アリババクラウド専門家ブロガー、2019年CSDNブログスタートップ20、2020年テンセントクラウド+コミュニティ優秀著者、11年間の最前線開発経験を持ち、ヘッドハンティングサービスのウェブサイトアーキテクチャ、エンタープライズインテリジェントカスタマーサービス、大規模電子政府システム開発の設計に参加し、大手国有企業の内部漏洩防止および電子文書セキュリティ監視システムの構築を主導しました。彼は現在、北京途家健康で医療ソフトウェアの研究開発に従事しています。

<<:  Linkerd が新しいバージョン 2.12 にアップグレードされました

>>:  コンテナ、コンテナ クラウド、コンテナ化された PaaS プラットフォームの関係は何ですか?

推薦する

Google、ブラウザに「Do Not Track」ボタンを追加することに同意

2月24日のブルームバーグによると、Googleはブラウザに「Do Not Track」ボタンを追加...

vpsdime-6g メモリ特別版 VPS 簡易評価

誰かが私に、6G メモリを搭載した vpsdime の VPS は信頼できるかどうか尋ねました。この...

スキルを削除せずにBaidu製品マイニングウェブサイトのプロモーションプロセスを合理的に扱う

ほとんどのウェブマスターは、Baidu の製品がウェブサイトの重みが高く、最適化効果が高いことを知っ...

#クリスマス# UK2: 仮想ホストが 50% オフ、VPS が 30% オフ、サーバーが 40% オフ

UK2 グループの公式ウェブサイトでは、仮想ホスティング、ネイティブ UK IP、VPS、VPS ク...

ベンダーロックインを回避するためにマルチクラウド戦略を採用する

先見性のある企業は、一般的に、マルチクラウド戦略を採用することのメリットを理解しています。しかし、ベ...

お金がないのに、なぜウェブマスターになることを諦めるのでしょうか?

インターネットは特殊な業界です。参入障壁が低いとか、儲かりやすいとか言われていますが、本当に裕福な暮...

SEOをうまく行うには?サイト内最適化と競合分析の両方が必要

月給5,000~50,000のこれらのプロジェクトはあなたの将来です1. SEOの定義: SEO と...

すごい: Bluehost が月額 1 ドルのサーバーを開始

Bluehost の仮想ホストは世界的に有名で、プライベート エクイティ コンソーシアム EIG の...

海外のサーバーを借りて2,000以上のフィッシングサイトを作成し、350万人以上を詐欺した

犯行現場:湖北省十堰市事件の原因:村人が、オンラインでコンピューターとソフトウェアを購入したときに4...

ブランドマーケティングで成功するにはどうすればいいでしょうか?

1. 市場セグメンテーション今日の多様化した市場では、多くのブランドが急速な成長を追求しており、さま...

キーワードを適切に設定することで、Baiduプロモーションにかかるコストを削減できます。

最近、Baidu プロモーションでどれだけのお金が無駄になっているかという不満をよく耳にします。もち...

VMware と OpenStack: どちらが勝つでしょうか?

VMware は間違いなくデータ センター仮想化の支配者ですが、クラウド コンピューティング アプリ...

美容業界とネットワークマーケティングの切っても切れない起源

私の国では、インターネット マーケティングは比較的遅れて始まりました。大手企業がインターネット マー...

電子商取引の価格戦争の暴露:大手電子商取引企業が教えてくれない10のこと

「JD.com VS Suning Gome」はマーケティング戦争だが、「Suning VS Gom...