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
2k
AWS_の_SaaS_レンズ_を使って_堅牢でコスト効率の良いマルチテナント_SaaS_アプリケーションを設計しよう.pdf
iwasa
July 15, 2023
Tweet
Share
More Decks by iwasa
See All by iwasa
Lambdaの様々な新機能とユースケース
tak1wa
0
300
AWS最新機能を駆使したマルチテナントSaaSアーキテクチャーを考えてみる
tak1wa
0
700
Tsumiki を使って仕様駆動開発をやってみよう
tak1wa
0
520
社内開発で Amazon Q Developer を使っていたが Kiro に乗り換えた話
tak1wa
0
1.5k
Microsoft Azure プランの復習とプラン切り替えのお話
tak1wa
0
240
Amazon Q Detector Library から学ぶセキュアコーディング
tak1wa
0
350
はじめての「さくらのクラウド」
tak1wa
0
300
Azure Native ISV Services「Datadog」
tak1wa
0
410
ブレイクアウトセッションから振り返る AWS re:Invent 2024 SaaS トレンド
tak1wa
0
370
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
How to Ace a Technical Interview
jacobian
281
24k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.7k
So, you think you're a good person
axbom
PRO
0
1.8k
How Software Deployment tools have changed in the past 20 years
geshan
0
30k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
50k
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