Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS_の_SaaS_レンズ_を使って_堅牢でコスト効率の良いマルチテナント_SaaS_アプリケーションを設計しよう.pdf

iwasa
July 15, 2023
1.7k

 AWS_の_SaaS_レンズ_を使って_堅牢でコスト効率の良いマルチテナント_SaaS_アプリケーションを設計しよう.pdf

iwasa

July 15, 2023
Tweet

More Decks by iwasa

Transcript

  1. 自己紹介 ➢ ブログを毎日書いてます ➢ AWS Ambassador 2022 / 2023 ➢

    AWS Top Engineer 2022 / 2023 ➢ AWS All Certifications Engineer 2022 / 2023 ➢ AWS Community Builder - Serverless ➢ Microsoft MVP for Azure クラスメソッド株式会社 AWS事業本部コンサルティング部 AWSソリューションアーキテクト 岩浅 貴大(いわさ) .NET → Azure → AWS
  2. SaaS の要素 ❏ 提供形態 ▪ すぐに使える ▪ 支払い方法 ❏ テナント・分離戦略

    ▪ サイロモデル ▪ プールモデル ❏ ビジネスモデル ▪ 効率よく価値向上し続ける
  3. SaaS の要素 ❏ 提供形態 ▪ すぐに使える ▪ 支払い方法 ❏ テナント・分離戦略

    ▪ サイロモデル ▪ プールモデル ❏ ビジネスモデル ▪ 効率よく価値向上し続ける
  4. SaaS の要素 ❏ 提供形態 ▪ すぐに使える ▪ 支払い方法 ❏ テナント・分離戦略

    ▪ サイロモデル ▪ プールモデル ❏ ビジネスモデル ▪ 効率よく価値向上し続ける
  5. SaaS の要素 ❏ 提供形態 ▪ すぐに使える ▪ 支払い方法 ❏ テナント・分離戦略

    ▪ サイロモデル ▪ プールモデル ❏ ビジネスモデル ▪ 効率よく価値向上し続ける
  6. マルチテナントで複雑になりやすい • マルチテナント考慮しなきゃいけないこと多すぎ ◦ セキュリティ大丈夫か ◦ ノイジーネイバー対策 ◦ 認証・認可 •

    マルチテナントのせいで運用大変になりがち ◦ リリースのリードタイムかかりすぎ ◦ テナント単位での計測が出来てない ◦ オンボーディングがボトルネックに
  7. 運用上の優秀性の柱 • SaaS OPS 1: マルチテナント環境の運用状態をどのように効果的にモニタリングおよび管理していま すか? • SaaS OPS

    2: 新しいテナントはどのようにシステムにオンボードされますか? • SaaS OPS 3: テナント固有のカスタマイズの必要性にどのように対応しますか? • SaaS OPS 4: 個々のテナントの使用状況と消費傾向の分析に使用できるメトリクスデータをどのよう に取得し、特定していますか?
  8. 運用上の優秀性の柱 • SaaS OPS 1: マルチテナント環境の運用状態をどのように効果的にモニタリングおよび管理していま すか? • SaaS OPS

    2: 新しいテナントはどのようにシステムにオンボードされますか? • SaaS OPS 3: テナント固有のカスタマイズの必要性にどのように対応しますか? • SaaS OPS 4: 個々のテナントの使用状況と消費傾向の分析に使用できるメトリクスデータをどのよう に取得し、特定していますか?
  9. 運用上の優秀性の柱 • SaaS OPS 1: マルチテナント環境の運用状態をどのように効果的にモニタリングおよび管理していま すか? • SaaS OPS

    2: 新しいテナントはどのようにシステムにオンボードされますか? • SaaS OPS 3: テナント固有のカスタマイズの必要性にどのように対応しますか? • SaaS OPS 4: 個々のテナントの使用状況と消費傾向の分析に使用できるメトリクスデータをどのよう に取得し、特定していますか?
  10. • SaaS SEC 1: テナントコンテキストをどのようにユーザーに関連付け、そのコンテキストを SaaS アー キテクチャ内で適用していますか? • SaaS

    SEC 2: テナントリソースがクロステナントアクセスから保護されることをどのように確認していま すか? セキュリティの柱
  11. • SaaS SEC 1: テナントコンテキストをどのようにユーザーに関連付け、そのコンテキストを SaaS アー キテクチャ内で適用していますか? • SaaS

    SEC 2: テナントリソースがクロステナントアクセスから保護されることをどのように確認していま すか? セキュリティの柱
  12. • SaaS SEC 1: テナントコンテキストをどのようにユーザーに関連付け、そのコンテキストを SaaS アー キテクチャ内で適用していますか? • SaaS

    SEC 2: テナントリソースがクロステナントアクセスから保護されることをどのように確認していま すか? セキュリティの柱
  13. 信頼性の柱 • SaaS 信頼性 1: 個々のテナントがシステム内の他のテナントの可用性に影響を与える可能性がある 負荷をかけることをどのように制限しますか? • SaaS 信頼性

    2: テナントの健全性をどのように積極的に検知および維持しますか? • SaaS 信頼性 3: SaaS アプリケーションのマルチテナント機能をどのようにテストしていますか?
  14. 信頼性の柱 • SaaS 信頼性 1: 個々のテナントがシステム内の他のテナントの可用性に影響を与える可能性がある 負荷をかけることをどのように制限しますか? • SaaS 信頼性

    2: テナントの健全性をどのように積極的に検知および維持しますか? • SaaS 信頼性 3: SaaS アプリケーションのマルチテナント機能をどのようにテストしていますか?
  15. パフォーマンス効率の柱 • SaaS PERF 1: あるテナントが別のテナントの体験に悪影響を与えることを防ぐにはどうすればいいの でしょうか? • SaaS PERF

    2: インフラストラクチャリソースの消費とテナントのアクティビティやワークロードを調整す るにはどうしたらよいですか? • SaaS PERF 3: テナントの階層やプランによって異なるパフォーマンスレベルを可能にするにはどうす ればよいですか?
  16. パフォーマンス効率の柱 • SaaS PERF 1: あるテナントが別のテナントの体験に悪影響を与えることを防ぐにはどうすればいいの でしょうか? • SaaS PERF

    2: インフラストラクチャリソースの消費とテナントのアクティビティやワークロードを調整す るにはどうしたらよいですか? • SaaS PERF 3: テナントの階層やプランによって異なるパフォーマンスレベルを可能にするにはどうす ればよいですか?
  17. コスト最適化の柱 • SaaS COST 1: 個々のテナントのリソース消費はどのように測定されますか? • SaaS COST 2:

    テナントの消費とインフラストラクチャのコストはどのように関連付けられますか?
  18. コスト最適化の柱 • SaaS COST 1: 個々のテナントのリソース消費はどのように測定されますか? • SaaS COST 2:

    テナントの消費とインフラストラクチャのコストはどのように関連付けられますか?
  19. コスト最適化の柱 • SaaS COST 1: 個々のテナントのリソース消費はどのように測定されますか? • SaaS COST 2:

    テナントの消費とインフラストラクチャのコストはどのように関連付けられますか?
  20. 背景 ❏ お客様へ AWS 技術支援 ❏ ここ1 ~ 2 年は

    SaaS プロバイダーのお客様中心に ❏ SaaS レンズをベースに
  21. SaaS レンズ 良い ❏ 汎用的 ▪ 全ての SaaS にとりあえず採用可能 ▪

    あくまでもベストプラクティス ▪ AWS に限らず使える ❏ シンプルに観点が良い ❏ 対応例の情報も多い
  22. • 会社プロファイルごとのガイダンス ◦ どこから始めたのか ◦ どのドメインにいるのか ◦ どのような競争圧力に直面しているのか • フェーズごとのガイダンス

    ◦ フェーズ1: 事業計画立案 ◦ フェーズ2: 製品戦略/ロードマップ開発 ◦ フェーズ3: 実用最小限のサービス ◦ フェーズ4: ローンチ/市場開拓 まず SaaS モデルの戦略を立てる AWSホワイトペーパー SaaS ジャーニーフレームワーク https://d1.awsstatic.com/whitepapers/ja_JP/saas-journey-framework.pdf
  23. 参考資料 AWSホワイトペーパー SaaS テナント分離戦略 https://d1.awsstatic.com/whitepapers/ja_JP/saas-tenant-isolation-strategies.pdf • テナント分離の具体的な戦略を紹介 ◦ 分離の基本概念 ◦

    サイロ分離の実装 ▪ フルスタック分離 ▪ ターゲティング分離 ◦ プール分離の実装 ▪ IAM ポリシーベース ▪ アプリケーションでの適用 ▪ プール分離の詳細の隠し方 ◦ 分離の透過性