SaaS Deep Dive: Designing and Building Multi-Tenant Solutions • Tod Golding • GOTO 2020
This presentation was recorded at GOTO Chicago 2020. #GOTOcon #GOTOchgo
Tod Golding – Architect at Amazon Web Services immersed in cloud-optimized application design and architecture
ABSTRACT
Creating a multi-tenant software-as-a-service (SaaS) application requires developers and architects to take new approaches to how they design, build, operate, and deploy their solutions. SaaS touches every dimension of your design, including how you decompose your system into services, how those services are built, how they are secured, how they store data, and how they are deployed.
In this session we’ll dig into each of these areas and outline the common patterns and strategies that you’ll need to factor into the design of your SaaS solution. As part of this dive into architecture and code, we’ll explore the core elements of SaaS application development, including identity, onboarding, tenant isolation, and data partitioning. The goal here is to expose you to the fundamental building blocks associated with designing and coding […]
TIMECODES
00:00 Intro
01:40 The SaaS architecture landscape
05:18 Provisioning a new tenant
07:56 Tenant context everywhere
09:32 Building multi-tenant microservices
12:49 Partitioning data
14:30 A microservices-by-microservices decision
15:23 Isolating tenant resources
16:52 The challenge of pool-based isolation
17:35 Runtime scoped access with policies
19:14 Takeaways
Read the full abstract here:
–
#SaaS #AWS #Cloud #SoftwareArchitecture #Programming #Backend
Looking for a unique learning experience?
Attend the next GOTO conference near you! Get your ticket at
SUBSCRIBE TO OUR CHANNEL – new videos posted almost daily.
We chose silo model, and we are happy with it
Thank you Tod! I am going to build my first SaaS & this was quite helpful!
Assuming silo model for database and pooled model for the microservice (of course with data-access routing using tenant-context running as a library used by microservice), the data-access layer can potentially face “connection explosion” towards siloed DBs.
Not to mention, when microservice is scaled-out in above example, (let’s assume microservice itself is kubernetes replica-set), “connection explosion” will aggravate to multiple proportions
Are there any patterns to address this connection-explosion?
Great video that clearly explains the approaches to setting up multi-tenancy in your SaaS architectures.
This is the best video out there on Multi-Tenant architecture . Thanks for sharing this…
Super awesome content. Thank you!!
So much to discuss with my developers to make sure we set everything up correctly from the get go.
What kind of business do you run?
I doubt if you can ever get everything right from the get go. Small problems tend to grow bigger as the scale increases. At the end it will be a case of compromise between speed/latency and data correctness/compliance/security
great video
very interesting video…
Can anyone give me the slide?