3 章 要約、所感、疑問点
3.1 デプロイモデルとは何か?
テナントのワークロードを対応するインフラストラクチャリソースにどのように割り当てるかという戦略。
3.2 デプロイモデルの選択
ビジネスの短期目標と長期目標のバランスが取れたデプロイモデルを選択することは難しい。 アプリケーションすべてに合う万能のデプロイモデルはない。 ドメインや顧客、ビジネスの要件から着手し、現在の目標と将来の目標に合ったデプロイモデルを絞り込むために、必要な要件の組み合わせを逆算していく。 顧客要求の変化、市場の変化、新たなビジネス戦略などに基づいてデプロイモデルを絶えず改善していく。
疑問:データ駆動型で柔軟に対応できることは、マルチテナントの技術的な体験の重要な要素(どういうこと?)
3.3 サイロモデルとプールモデルの紹介
- サイロ:特定のテナントに専用リソースが割り当てられる
- プール:テナントに共有リソースが割り当てられる
疑問:サイロ型とプール型の概念がマイクロサービスの枠を超えて拡張され、環境の一部となるかもしれないあらゆるリソースに適用される(どういうこと?)
3.4 フルスタックのサイロデプロイ
- フルスタックのサイロデプロイモデル:テナントごとにすべてのリソースがサイロ化されたデプロイモデル
適しているケース:コンプライアンスとレガシーを考慮する必要がある。レガシーソリューションを SaaS に移行する。
規則の厳しい業界では、特定のコンプライアンス要件への対応を容易にするためにこのデプロイモデルを採用する場合がある。
フルスタックでサイロ化されているため、大幅なリファクタリングなしでコードを SaaS に移行できる。
3.5 フルスタックのプールモデル
アプリケーションプレーンのすべてのリソースがプール化されたデプロイモデル。
規模の経済性、運用効率、コスト削減、よりシンプルな管理手法の実現が可能。
3.6 ハイブリッドなフルスタックのデプロイモデル
フルスタックサイロとフルスタックプールの両方が存在するデプロイモデル。
例:ベーシックティアではフルスタックプールデプロイ、プレミアムティアではフルスタックサイロデプロイ
3.7 混合モードのデプロイモデル
フルスタックではないデプロイモデル。サイロ型とプール型がサービス単位で分かれている。
3.8 ポッドのデプロイモデル
- ポッド:テナントの集団をグループ化する方法
ユースケース:
- テナント数が一定の数を超えるとサービスの上限に引っかかるため別のアカウントを作る(アカウントによるグループ化)
- 複数のリージョンを使用する(リージョンによるグループ化)
- ノイジーネイバー問題やSaaSプロバイダーのセキュリティ、可用性の問題からグループ化する(テナント間の影響を減らすための分離戦略によるグループ化)
3.9 まとめ
レガシー、ドメイン、コンプライアンス、拡張性、コスト効率、その他多くのビジネス上および技術上のパラメータを使用して、最適なデプロイモデルを選択する