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

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

翻訳者 |朱剛

校正:孫淑娟

クラウドベースの 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 プラットフォームの関係は何ですか?

推薦する

外部リンクを使用してウェブサイトのランキングを安定させる方法

私は、気づかないうちにウェブマスターになって4年近くになります。何も知らない初心者から始めました。毎...

読めば「クラウドコンピューティング」の過去と現在がわかる

[[221381]] 「クラウドコンピューティング」という用語は、2007 年以来、国内でよく使われ...

bgpto: シンガポール CN2 専用サーバー、定期割引 25% オフ、月額 93 ドル、e3-1230v3/8g メモリ/2T ハードディスク/10M 無制限

シンガポール データ センターにある bgpto のシンガポール CN2 サーバーが 25% オフ、...

#BandwagonHostVPS# bandwagonhost-第8コンピュータルームが正式にオンラインになりました

Bandwagonhost は、公式発表なしに、8 番目の VPS データ センターであるカナダ (...

百度の大型アップデート分析:百度の機嫌をどう見極めるか

先週木曜日の夜、4月11日に百度の週次小規模アップデートが行われたが、今週のアップデートは前週よりも...

業界のウェブサイトが本当に利益を上げたいなら、このような運用上の考え方が必要です

月収10万元の起業の夢を実現するミニプログラム起業支援プランショッピングモールのウェブサイトを直接立...

インベントリ: 2022 年の信頼性の高いエッジ コンピューティング プラットフォーム

現代のテクノロジーが進歩し、即時の満足を求める人間の欲求を満たすにつれて、消費者は製品プロバイダーを...

ハイブリッドクラウドプロジェクトの成功率を向上させる方法

企業はワークロードをパブリック クラウドに移行し、オンプレミスでプライベート クラウドを実装していま...

デジタル変革プロジェクト: 中小企業がクラウド コンピューティングを活用するための 4 つの重要なヒント

シリコンバレーでのテクノロジー業界の大規模なレイオフに関する最近のニュースは憂慮すべきものだが、問題...

新しいウェブサイトはオンラインになってから2時間以内に百度に掲載された。2日以内に百度の重みは1になった。

みなさんこんにちは。今日は、私の新しいウェブサイトがいかにして Baidu に素早く登録されたかをシ...

#黒5# tmhhost、すべてのVPSが永久に20%オフ、[日本/香港/韓国/米国]、CN2ネットワーク、追加の200Gの高防御

tmhhostのブラックフライデープロモーションが始まりました。公式が特別にカスタマイズした「Hos...

地域人材ネットワーク: オンラインからオフラインまでのマーケティング戦略

私は地域の人材ネットワークで働くという栄誉に恵まれ、人材ネットワークについてある程度の理解を持ってい...

この記事では、人工知能がクラウドコンピューティングをどのように変え、私たちの生活にどのような影響を与えるかを説明します。

AIがクラウドコンピューティングをどう変えるかクラウド コンピューティングは、オンライン アクティビ...