7章マルチテナントサービスの構築
ここまで、マルチテナントアーキテクチャのすべての基礎となる要素を構築することに焦点を当ててきました。つまり、コントロールプレーンを掘り下げて、SaaS環境にテナントの概念を導入するための中核となるサービス群をどのように実装するかを検討してきました。テナントのオンボーディング方法、アイデンティティの確立方法、認証方法、そして最も重要なこととして、アプリケーションのサービスにテナントコンテキストを注入する方法を見てきました。これにより、SaaS環境におけるコントロールプレーンが果たす役割の重要性を理解でき、マルチテナントアーキテクチャに基本的なテナント構造をシームレスに組み込む戦略を策定するために投資することがいかに重要であるかを理解できたと思います。
それでは、アプリケーションプレーンに目を向けていきましょう。ここでは、アプリケーションを具現化するサービスの設計と実装にマルチテナントをどのように適用するかを考えていきます。この章では、マルチテナントのワークロードの特性が、サービスの設計と分割のアプローチ方法にどのように影響するかを見ていきます。分離、ノイジーネイバー、データパーティショニングなど、これらはすべて、サービスの設計で考慮する必要のある新しい要件です。マルチテナントは、従来のサービス設計の考え方に新たな要素を加え、サービスの規模、デプロイ、影響範囲に対して新しいアプローチを取らざるを得なくなります。
テナントの概念は、サービスの実装方法にも直接影響します。マルチテナントがどのように、そしてどこにサービスのコードに組み込まれるかを詳しく見ながら、テナントがサービスの全体的な動作環境を複雑化したり、肥大化したりするのを防ぐために使用できるさまざまな戦略を明らかにしていきます。ここでは、サービスの実装例をいくつか紹介し、マルチテナントの構造をヘルパーやライブラリに組み込むことで、全体的な開発者体験を向上するために使用できるツールや戦略の概要を説明します。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access