Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS_の_SaaS_レンズ_を使って_堅牢でコスト効率の良いマルチテナント_SaaS_ア...
Search
iwasa
July 15, 2023
1
1.8k
AWS_の_SaaS_レンズ_を使って_堅牢でコスト効率の良いマルチテナント_SaaS_アプリケーションを設計しよう.pdf
iwasa
July 15, 2023
Tweet
Share
More Decks by iwasa
See All by iwasa
5分でわかる Oracle Database@AWS
tak1wa
0
150
Amazon Q Developer の最新アップデートと SDLC
tak1wa
0
140
Azure アーキテクチャセンターから Microsoft Azure の基本構成を学ぼう
tak1wa
0
320
30分でマスターする SaaS on AWS
tak1wa
0
1k
AWSユーザーが知って得するAzureの基本:クラウドスキルの幅を広げる
tak1wa
0
400
TLS1.3対応のサービスが増えているが、クライアントアプリケーション側で考慮すべきことも考えてみる
tak1wa
0
2.1k
最近、レジリエンス関連のアップデートが(多分)熱い
tak1wa
0
440
第1回 Azure Traveler 勉強会 札幌の旅 Azure でのマルチテナント SaaS のはなし
tak1wa
1
3.2k
re:Growth 2023 in Sapporo Serverless Updates
tak1wa
0
670
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
1
110
Gamification - CAS2011
davidbonilla
80
5.1k
Git: the NoSQL Database
bkeepers
PRO
427
64k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Designing Experiences People Love
moore
138
23k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Why Our Code Smells
bkeepers
PRO
335
57k
Automating Front-end Workflow
addyosmani
1366
200k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
A Tale of Four Properties
chriscoyier
157
23k
Transcript
AWS の「SaaS レンズ」を使って、堅牢でコスト効率の良いマルチテ ナント SaaS アプリケーションを設計しよう 2023/7/14 AWS事業本部コンサルティング部 岩浅貴大
自己紹介 ➢ ブログを毎日書いてます ➢ 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
アジェンダ - 20分 ❏ SaaS の設計・開発・運用は大変 ❏ SaaS レンズ ❏
SaaS レンズ使ってみてわかったこと
SaaS の設計・開発・運用は大変
SaaS の設計・開発・運用は大変 SaaS の要素
SaaS の要素 ❏ 提供形態 ▪ すぐに使える ▪ 支払い方法 ❏ テナント・分離戦略
▪ サイロモデル ▪ プールモデル ❏ ビジネスモデル ▪ 効率よく価値向上し続ける
SaaS の要素 ❏ 提供形態 ▪ すぐに使える ▪ 支払い方法 ❏ テナント・分離戦略
▪ サイロモデル ▪ プールモデル ❏ ビジネスモデル ▪ 効率よく価値向上し続ける
SaaS の要素 ❏ 提供形態 ▪ すぐに使える ▪ 支払い方法 ❏ テナント・分離戦略
▪ サイロモデル ▪ プールモデル ❏ ビジネスモデル ▪ 効率よく価値向上し続ける
SaaS の要素 ❏ 提供形態 ▪ すぐに使える ▪ 支払い方法 ❏ テナント・分離戦略
▪ サイロモデル ▪ プールモデル ❏ ビジネスモデル ▪ 効率よく価値向上し続ける
SaaS の設計・開発・運用は大変 マルチテナントで複雑になりやすい
マルチテナントで複雑になりやすい • マルチテナント考慮しなきゃいけないこと多すぎ ◦ セキュリティ大丈夫か ◦ ノイジーネイバー対策 ◦ 認証・認可 •
マルチテナントのせいで運用大変になりがち ◦ リリースのリードタイムかかりすぎ ◦ テナント単位での計測が出来てない ◦ オンボーディングがボトルネックに
SaaS レンズ
AWS Well-Architected Framework のレンズ AWS Well-Architected Framework を特定のテクノロジや業界に拡張したもの https://aws.amazon.com/jp/architecture/well-architected/
Well-Architected SaaS レンズ ❏運用上の優秀性の柱(4) ❏セキュリティの柱(2) ❏信頼性の柱(3) ❏パフォーマンス効率の柱(3) ❏コスト最適化の柱(2) SaaS Lens
AWS Well-Architected Framework https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/saas-lens/wellarchitected-saas-lens.pdf
運用上の優秀性の柱 • SaaS OPS 1: マルチテナント環境の運用状態をどのように効果的にモニタリングおよび管理していま すか? • SaaS OPS
2: 新しいテナントはどのようにシステムにオンボードされますか? • SaaS OPS 3: テナント固有のカスタマイズの必要性にどのように対応しますか? • SaaS OPS 4: 個々のテナントの使用状況と消費傾向の分析に使用できるメトリクスデータをどのよう に取得し、特定していますか?
運用上の優秀性の柱 • SaaS OPS 1: マルチテナント環境の運用状態をどのように効果的にモニタリングおよび管理していま すか? • SaaS OPS
2: 新しいテナントはどのようにシステムにオンボードされますか? • SaaS OPS 3: テナント固有のカスタマイズの必要性にどのように対応しますか? • SaaS OPS 4: 個々のテナントの使用状況と消費傾向の分析に使用できるメトリクスデータをどのよう に取得し、特定していますか?
運用上の優秀性の柱 • SaaS OPS 1: マルチテナント環境の運用状態をどのように効果的にモニタリングおよび管理していま すか? • SaaS OPS
2: 新しいテナントはどのようにシステムにオンボードされますか? • SaaS OPS 3: テナント固有のカスタマイズの必要性にどのように対応しますか? • SaaS OPS 4: 個々のテナントの使用状況と消費傾向の分析に使用できるメトリクスデータをどのよう に取得し、特定していますか?
• SaaS SEC 1: テナントコンテキストをどのようにユーザーに関連付け、そのコンテキストを SaaS アー キテクチャ内で適用していますか? • SaaS
SEC 2: テナントリソースがクロステナントアクセスから保護されることをどのように確認していま すか? セキュリティの柱
• SaaS SEC 1: テナントコンテキストをどのようにユーザーに関連付け、そのコンテキストを SaaS アー キテクチャ内で適用していますか? • SaaS
SEC 2: テナントリソースがクロステナントアクセスから保護されることをどのように確認していま すか? セキュリティの柱
• SaaS SEC 1: テナントコンテキストをどのようにユーザーに関連付け、そのコンテキストを SaaS アー キテクチャ内で適用していますか? • SaaS
SEC 2: テナントリソースがクロステナントアクセスから保護されることをどのように確認していま すか? セキュリティの柱
信頼性の柱 • SaaS 信頼性 1: 個々のテナントがシステム内の他のテナントの可用性に影響を与える可能性がある 負荷をかけることをどのように制限しますか? • SaaS 信頼性
2: テナントの健全性をどのように積極的に検知および維持しますか? • SaaS 信頼性 3: SaaS アプリケーションのマルチテナント機能をどのようにテストしていますか?
信頼性の柱 • SaaS 信頼性 1: 個々のテナントがシステム内の他のテナントの可用性に影響を与える可能性がある 負荷をかけることをどのように制限しますか? • SaaS 信頼性
2: テナントの健全性をどのように積極的に検知および維持しますか? • SaaS 信頼性 3: SaaS アプリケーションのマルチテナント機能をどのようにテストしていますか?
パフォーマンス効率の柱 • SaaS PERF 1: あるテナントが別のテナントの体験に悪影響を与えることを防ぐにはどうすればいいの でしょうか? • SaaS PERF
2: インフラストラクチャリソースの消費とテナントのアクティビティやワークロードを調整す るにはどうしたらよいですか? • SaaS PERF 3: テナントの階層やプランによって異なるパフォーマンスレベルを可能にするにはどうす ればよいですか?
パフォーマンス効率の柱 • SaaS PERF 1: あるテナントが別のテナントの体験に悪影響を与えることを防ぐにはどうすればいいの でしょうか? • SaaS PERF
2: インフラストラクチャリソースの消費とテナントのアクティビティやワークロードを調整す るにはどうしたらよいですか? • SaaS PERF 3: テナントの階層やプランによって異なるパフォーマンスレベルを可能にするにはどうす ればよいですか?
コスト最適化の柱 • SaaS COST 1: 個々のテナントのリソース消費はどのように測定されますか? • SaaS COST 2:
テナントの消費とインフラストラクチャのコストはどのように関連付けられますか?
コスト最適化の柱 • SaaS COST 1: 個々のテナントのリソース消費はどのように測定されますか? • SaaS COST 2:
テナントの消費とインフラストラクチャのコストはどのように関連付けられますか?
コスト最適化の柱 • SaaS COST 1: 個々のテナントのリソース消費はどのように測定されますか? • SaaS COST 2:
テナントの消費とインフラストラクチャのコストはどのように関連付けられますか?
堅牢でコスト効率の良い マルチテナント SaaS アプリケーションに 近づけることができる SaaS レンズが解決してくれること
SaaS レンズ使ってみてわかったこと
背景 ❏ お客様へ AWS 技術支援 ❏ ここ1 ~ 2 年は
SaaS プロバイダーのお客様中心に ❏ SaaS レンズをベースに
SaaS レンズ 良い SaaS レンズ使ってみて
SaaS レンズ 良い ❏ 汎用的 ▪ 全ての SaaS にとりあえず採用可能 ▪
あくまでもベストプラクティス ▪ AWS に限らず使える ❏ シンプルに観点が良い ❏ 対応例の情報も多い
ただし … SaaS レンズとうまく付き合う
SaaS レンズとうまく付き合う あくまでもベストプラクティス
SaaS レンズとうまく付き合う まず SaaS モデルの戦略を立てる
• 会社プロファイルごとのガイダンス ◦ どこから始めたのか ◦ どのドメインにいるのか ◦ どのような競争圧力に直面しているのか • フェーズごとのガイダンス
◦ フェーズ1: 事業計画立案 ◦ フェーズ2: 製品戦略/ロードマップ開発 ◦ フェーズ3: 実用最小限のサービス ◦ フェーズ4: ローンチ/市場開拓 まず SaaS モデルの戦略を立てる AWSホワイトペーパー SaaS ジャーニーフレームワーク https://d1.awsstatic.com/whitepapers/ja_JP/saas-journey-framework.pdf
まとめ 37
まとめ • SaaS レンズを使ってベストプラクティスの観点でレビューしてみましょう • 戦略を立てる段階であれば SaaS ジャーニーフレームワークも
まとめ • SaaS レンズを使ってベストプラクティスの観点でレビューしてみましょう • 戦略を立てる段階であれば SaaS ジャーニーフレームワークも 堅牢でコスト効率の良い マルチテナント
SaaS アプリケーション 目指してください
参考資料 SaaS on AWS セッション https://d1.awsstatic.com/events/Summits/reinvent2022/SAS405_SaaS-microservices-deep-dive-Simplifying-multi-tenant-development.pdf
参考資料 AWSホワイトペーパー SaaS テナント分離戦略 https://d1.awsstatic.com/whitepapers/ja_JP/saas-tenant-isolation-strategies.pdf • テナント分離の具体的な戦略を紹介 ◦ 分離の基本概念 ◦
サイロ分離の実装 ▪ フルスタック分離 ▪ ターゲティング分離 ◦ プール分離の実装 ▪ IAM ポリシーベース ▪ アプリケーションでの適用 ▪ プール分離の詳細の隠し方 ◦ 分離の透過性
参考資料 AWSホワイトペーパー SaaS ストレージ戦略 https://docs.aws.amazon.com/ja_jp/whitepapers/latest/multi-tenant-saas-storage-strategies/multi-tenant-saas-storage-strategies.html • データパーティショニングのガイドライン ◦ マルチアカウント ◦
サービスごと ▪ DynamoDB ▪ Amazon RDS ▪ Amazon Redshift
参考資料 AWS SaaS Boost https://dev.classmethod.jp/articles/preview-aws-saas-boost/
None