Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
re:Invent 2024 SaaS系Workshop紹介
Search
Uchida Takashi
January 24, 2025
Technology
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
re:Invent 2024 SaaS系Workshop紹介
Uchida Takashi
January 24, 2025
Other Decks in Technology
See All in Technology
『SAR衛星データ解析入門』のご紹介とその応用
syuchimu
0
120
大型犬好きによるPugの紹介
yamanoku
1
160
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
8
2.4k
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
100
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
310
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.1k
React改造してみた
tsukina_7mochi
0
110
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
1
250
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
190
Rust で関数型ドメインモデリング
takonda
0
160
⾮構造化データを価値に変える AI エージェント基盤とその組織
ivry_presentationmaterials
0
200
Featured
See All Featured
Abbi's Birthday
coloredviolet
4
10k
KATA
mclloyd
PRO
35
16k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Code Review Best Practice
trishagee
74
20k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Raft: Consensus for Rubyists
vanstee
142
7.8k
Producing Creativity
orderedlist
PRO
348
41k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
930
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
Transcript
© 2024 Anti-Pattern Inc. re:Invent 2024 SaaS系Workshops紹介
© 2024 Anti-Pattern Inc. re:Invent 2024 SaaS系Workshops一覧 Workshops • SAS301 –
Solving the SaaS cost-per-tenant puzzle: An inside look • SAS304 – Inside the SaaS Builder Toolkit: A hands-on deep dive [REPEAT] • SAS402 – SaaS survivor: Building a rich multi-tenant operations experience • SAS403 – SaaS microservices deep dive: Multi-tenancy meets microservice • SAS404 – Automate SaaS provisioning & deployment with Kubernetes DevOps tooling • SAS405 – SaaS and RAG: Maximizing generative AI value in multi-tenant solutions • ARC402 – Scaling multi-tenant SaaS with a cell-based architecture SaaS系Workshopsは全部で7つ
© 2024 Anti-Pattern Inc. re:Invent 2024 SaaS系Workshops一覧 Workshops • SAS301 –
Solving the SaaS cost-per-tenant puzzle: An inside look • SAS304 – Inside the SaaS Builder Toolkit: A hands-on deep dive [REPEAT] • SAS402 – SaaS survivor: Building a rich multi-tenant operations experience • SAS403 – SaaS microservices deep dive: Multi-tenancy meets microservice • SAS404 – Automate SaaS provisioning & deployment with Kubernetes DevOps tooling • SAS405 – SaaS and RAG: Maximizing generative AI value in multi-tenant solutions • ARC402 – Scaling multi-tenant SaaS with a cell-based architecture SaaS系Workshopsは全部で7つ 参加した中から4つのworkshopsを紹介
© 2024 Anti-Pattern Inc. SAS301 Solving the SaaS cost-per-tenant puzzle:
An inside look テナントごとのコストをどのように計測するかを体験できるワークショップ Workshopsの構成 Lab 1 • Shared Services(コントロールプレーン)をセットアップします。 Lab 2 ~ Lab 4 • 3つの異なるSaaSアーキテクチャで Coarse-grainedアプローチとFine-grainedアプローチを紹介します。 ◦ Lab 2:サーバーレスSaaSアーキテクチャ ◦ Lab 3:Amazon Aurora PostgreSQLを使用したプール型コンテナ SaaSアーキテクチャ ◦ Lab 4:Amazon S3を使用したサイロ型コンテナ SaaSアーキテクチャ Lab 5 • Amazon QuickSightを利用し、Amazon AthenaとCUDOSを使ってコストをクエリ・可視化する手法を学習します。
© 2024 Anti-Pattern Inc. SAS301 Workshop概要図 出典 :https://catalog.us-east-1.prod.workshops.aws/workshops/6743cde7-2471-46fc-863f-5830b98f3d36/en-US/1-introduction/13-application-architecture
© 2024 Anti-Pattern Inc. SAS301 Coarse-grained approach First Step: テナントごとの
APIコール数を計測する 日本語訳 テナントの利用状況をおおまかに把握するだけで十分な場合には、 粗粒度のアプローチ が有効です。この方法では、取得に大きな手 間をかけずに済むシンプルな使用量メトリクスに注目します。私たちの場合、最も容易かつ「十分に実用的」なソリューションは、各テナ ントが当社のプロダクトおよび注文サービスを呼び出す際に行われる APIコールの回数 を追跡することです。 上記はLab 2での文章ですが、 Lab 2 - Lab 4まで一貫して記載されています。 出典 :https://catalog.us-east-1.prod.workshops.aws/workshops/6743cde7-2471-46fc-863f-5830b98f3d36/en-US/4-serverlessservices/42-code-changes-coarse-grained
© 2024 Anti-Pattern Inc. SAS301 Lab2 サーバーレス SaaSアーキテクチャ 出典 :https://catalog.us-east-1.prod.workshops.aws/workshops/6743cde7-2471-46fc-863f-5830b98f3d36/en-US/4-serverlessservices/42-code-changes-coarse-grained
© 2024 Anti-Pattern Inc. SAS301 Lab2 Fine-grained approach 取得したいログ •
Lambdaのduration time • DynamoDBのRCU/WCU (read and write capacity units) 実装方法 • Lambdaでまとめてログに出力 ◦ Lambda ExtensionのTelemetry APIを使用 ◦ DynamoDBのReturnConsumedCapacityパラメータ ◦ aws_lambda_powertooolsのLoggerをカスタム
© 2024 Anti-Pattern Inc. SAS301 Lab3 Amazon Aurora PostgreSQLを使用したプール型コンテナ SaaSアーキテクチャ
出典:https://catalog.us-east-1.prod.workshops.aws/workshops/6743cde7-2471-46fc-863f-5830b98f3d36/en-US/5-containerizedservices-ecs-aurora
© 2024 Anti-Pattern Inc. SAS301 Lab3 Fine-grained approach 取得したいログ •
共有しているECSのリクエスト実行時間 • 共有しているデータベースのアクティブセッション、 IOPSや実行時間、ストレージ 実装方法 • ECSはサイドカーコンテナで EMF(Embedded metric format)を使用してtenantid単位で収集 ◦ Lambdaでログ収集 • DBの負荷はAmazon RDS Performance Insights DB Load metrics ◦ AWS SDKからメトリクスを収集 • IOPSはpg_stat_statementsを有効にし、ユーザー単位で取得 ◦ Lambdaでクエリを実行
© 2024 Anti-Pattern Inc. SAS301 Lab4 Amazon S3を使用したサイロ型コンテナ SaaSアーキテクチャ 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/6743cde7-2471-46fc-863f-5830b98f3d36/en-US/6-containerizedservices-ecs-s3
© 2024 Anti-Pattern Inc. SAS301 Lab3 Fine-grained approach 取得したいログ •
ECSのタスク • S3の各プレフィックスのストレージ、データ転送量、 APIリクエスト 実装方法 • コンソールから設定 ◦ ECSのSCAD(split cost allocation data)を有効化 ◦ S3 ストレージレンズを有効化
© 2024 Anti-Pattern Inc. SAS304 – Inside the SaaS Builder
Toolkit: A hands-on deep dive SBT(SaaS Builder Toolkit)を体験できるワークショップ Workshopsの構成 • Lab 1 - SaaS Builder Toolkit (SBT) Background • Lab 2 - Deploy Control Plane • Lab 3 - Deploy Application Plane • Lab 4 - ECS SaaS Reference Solution on SBT • Lab 5 - AWS Marketplace Integration
© 2024 Anti-Pattern Inc. SAS304 Lab1 SaaS Builder Toolkit (SBT)
Background 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/236fe656-f781-4862-a1a9-51becf126857/ja-JP/lab-1/1-design-overview
© 2024 Anti-Pattern Inc. SAS304 Lab4 ECS SaaS Reference Solution
on SBT 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/236fe656-f781-4862-a1a9-51becf126857/en-US/lab-4
© 2024 Anti-Pattern Inc. 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/236fe656-f781-4862-a1a9-51becf126857/en-US/lab-4/2-ecs-app-plane-architecture SAS304 Lab4 ECS SaaS Reference
Solution on SBT
© 2024 Anti-Pattern Inc. 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/236fe656-f781-4862-a1a9-51becf126857/en-US/lab-4/4-create-basic-tier-tenant SAS304 Lab4 Basic Tier
© 2024 Anti-Pattern Inc. 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/236fe656-f781-4862-a1a9-51becf126857/en-US/lab-4/5-create-premium-tier-tenant SAS304 Lab4 Premium Tier
© 2024 Anti-Pattern Inc. SAS403 – SaaS microservices deep dive:
Multi-tenancy meets microservice マイクロサービスのマルチテナント Saasificationを体験できるワークショップ Lab1 Deploying your first multi-tenant microservice • マイクロサービスがテナントコンテキストを取得する方法 • テナントコンテキストを使用してテナントリソースにアクセスする方法 Lab2 Tenant isolation • なぜテナント分離ポリシーが必要か • TVM(Token Vending Machine)の導入 Lab3 Service-to-service communication • マイクロサービス間通信でのテナントコンテキストの共有方法
© 2024 Anti-Pattern Inc. SAS403 – SaaS microservices deep dive:
Multi-tenancy meets microservice マイクロサービスのマルチテナント Saasificationを体験できるワークショップ Lab4 Multi-tenant microservice routing • テナントコンテキストを使用したアプリケーションルーティング Lab5 Authorizing multi-tenant requests • Amazon Verified Permissions を使用した認可 • テナントごとのポリシーのカスタマイズ Lab6 Tenant-aware metrics and monitoring • EMFでテナント/ティア別のメトリクスを分析
© 2024 Anti-Pattern Inc. 出典:https://catalog.workshops.aws/saas-microservices/en-US/3-lab2/3-2-token-vendor-sidecar SAS403 – Token Vending Machine
© 2024 Anti-Pattern Inc. 出典:https://catalog.workshops.aws/saas-microservices/en-US/5-lab4 SAS403 – テナントデプロイモデル
© 2024 Anti-Pattern Inc. SAS405 – SaaS and RAG: Maximizing
generative AI value in multi-tenant solutions マルチテナント GenAI RAG SaaS ソリューションの構築を体験できるワークショップ Workshopsの構成 • Lab1 - Introducing Multi-Tenancy in RAG • Lab2 - Tenant Isolation in multi-tenant RAG architecture ◦ ABAC(Attribute-Based Access Control)による分離 • Lab3 - Enable tenant throttling experience • Lab4 - Calculating Cost Per Tenant
© 2024 Anti-Pattern Inc. 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/224f4cc0-cefb-4e29-95fa-365ad5a7ef28/en-US/lab1/architecture SAS405 Lab1 マルチテナント RAGアーキテクチャ
© 2024 Anti-Pattern Inc. SAS405 Lab2 ABAC(Attribute-Based Access Control)による分離 JWTから取得したtenantid,
knowledgebaseidをassumeroleする際にタグとして含めている Iam policyをroleのタグで動的にアクセス制御
© 2024 Anti-Pattern Inc. 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/224f4cc0-cefb-4e29-95fa-365ad5a7ef28/en-US/lab3/architecture SAS405 Lab3 スロットリング(トークン、 APIコール)
© 2024 Anti-Pattern Inc. 出典:https://catalog.us-east-1.prod.workshops.aws/workshops/224f4cc0-cefb-4e29-95fa-365ad5a7ef28/en-US/lab4/aggregate-metrics-architecture SAS405 Lab4 Calculating Cost Per
Tenant
© 2024 Anti-Pattern Inc. re:Invent 2024 まとめ 本日紹介した workshopsのリンク • SAS301
– Solving the SaaS cost-per-tenant puzzle: An inside look ◦ https://github.com/aws-samples/aws-saas-tenant-usage-and-cost-attribution ◦ https://d1.awsstatic.com/events/Summits/reinvent2023/SAS404_Designing-and-implementing-a-S aaS-cost-per-tenant-strategy.pdf • SAS304 – Inside the SaaS Builder Toolkit: A hands-on deep dive [REPEAT] ◦ https://github.com/awslabs/sbt-aws ◦ https://catalog.us-east-1.prod.workshops.aws/workshops/236fe656-f781-4862-a1a9-51becf12685 7/en-US • SAS403 – SaaS microservices deep dive: Multi-tenancy meets microservice ◦ https://github.com/aws-samples/aws-saas-factory-saas-microservices-workshop ◦ https://catalog.workshops.aws/saas-microservices/en-US • SAS405 – SaaS and RAG: Maximizing generative AI value in multi-tenant solutions ◦ https://github.com/aws-samples/aws-saas-genai-rag-workshop ◦ https://catalog.us-east-1.prod.workshops.aws/workshops/224f4cc0-cefb-4e29-95fa-365ad5a7ef28 /en-US