Tuesday, July 26, 2016

Amazon and multi customer support in shared multi-tenant model

Leave a Comment

Are there any ready services (by amazon or partners) that help you manage multi-customer aspects of a "pool" [1][2] type service - where all the multi-tenancy is handled by internal context switching, databases are shared, etc.

AWS tools (marketplace, billing manager) seems to be geared toward "provision new service / host by customer" while what I'm looking for is the customer and license management, user association, authentication (including federated authentication integration with multiple customer portals) and perhaps even listing and catalog services - but when a new customer purchase (or change) a license / user / configuration - I expect to get an API call to my already existing solution - in which I'll decide what to do.

Seems like there should be many services like that - but either they are proprietary, or I'm using the wrong keywords to find the information.

[1] http://www.slideshare.net/AmazonWebServices/arc340-multitenant-application-deployment-models/9

[2] https://www.youtube.com/watch?v=DMP0leGZpo4

1 Answers

Answers 1

What you're asking is basically "what tools can I use to build a multi-tenant application".

And the answer will be "it depends". You don't have enough requirements to determine what would be useful or helpful.

However, AWS does have some technologies that may help. Start by looking at AWS Cognito. It can do authentication and data access, and use federated authentication providers. It also handles storing data for multiple users in DynamoDB.

If you're looking for anything more than that, however, you need to provide more information.

Can you shard MySQL across multiple RDS instances, and have one schema per client? Sure, but that's probably not going to work well if you have a million clients - there are limits on the number of schemas per instance.

Same thing with S3 - you can have a bucket per client, or a subdirectory under a shared bucket per client, but I can't tell you which approach is going to work best for your application.

AWS has enough tools to automate the creation of a complete stack per customer - between the API/CLI, CloudFormation, etc - but unless you're dealing with a very high-value product, that's probably not going to be cost effective.

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment