Jason Wadsworth: Step Up Your SaaS Game: Serverless Orchestration and Automation for SaaS
awschicago
32 views
26 slides
Jun 25, 2024
Slide 1 of 26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
About This Presentation
AWS Community Day Midwest 2024
Jason Wadsworth
Step Up Your SaaS Game: Serverless Orchestration and Automation for SaaS
Size: 1.03 MB
Language: en
Added: Jun 25, 2024
Slides: 26 pages
Slide Content
MIDWEST | OHIO
Step Up Your SaaS Game
Serverless Orchestration and Automation for SaaS
Jason Wadsworth
Agenda
•Lambda-less AppSync for SaaS
•Tenant provisioning
•Multi-account tenant provisioning
Jason Wadsworth
Chief Architect - Armanino
•Fifth year AWS Community Builder
•Over 20 years building software,
with over 13 years using AWS
•Startup junky
•SaaS enthusiast
•Serverless lover
Lambda-Less AppSync for SaaS
AppSync Direct Integrations
AppSync DynamoDB
SaaS Needs a Lambda Function
AppSync Lambda DynamoDB
STS
Custom Authorizer
•Every tenant must have its own role
•There hard account limits on roles
•Changes to the roles needs to be managed
•DynamoDB mapping isn’t as easy as AppSync’s direct
integration
Things To Be Aware Of
Tenant Provisioning
How I’ve Done It in the Past
EventBridge Lambda SDKs
Problems with This Approach
•Different than what you’re used to (CDK)
•Difficult to see what belongs to a tenant
•Updates are challenging
A Better Option
CDK S3 EventBridge Step Functions CloudFormation
Multi-Account Tenant Provisioning
Cross account role for the task
What Didn’t Work with That Approach
•Didn’t allow for rolling deployments
•Multi-account, multi-region,
CloudFormation is complicated!
Another Way
CDK S3 EventBridge Step Functions CloudFormation
Account 1
CDK S3 EventBridge Step Functions CloudFormation
Account 2
Recap
•Step Functions can be used in tenant specific
workflows in a way that supports data protection
•Step Functions are a great way to manage tenant
specific resources with CDK and CloudFormation
•Managing tenant specific resources in a multi-account
system doesn’t have to be complicated