您要问的基本上是“我可以使用哪些工具来构建多租户应用程序”。
答案将是“它取决于”。您没有足够的要求来确定哪些内容有用或有用。
但是,AWS确实有一些可能有用的技术。首先看一下AWS Cognito。它可以进行身份验证和数据访问,并使用联合身份验证提供程序。它还处理DynamoDB中多个用户的数据存储。
但是,如果您正在寻找更多信息,则需要提供更多信息。
你能跨多个RDS实例对MySQL进行分片,并且每个客户端有一个模式吗?当然,如果你有一百万个客户端,这可能不会很好 - 每个实例的模式数量都有限制。
与S3相同的是 - 每个客户端可以有一个存储桶,或者每个客户端可以有一个共享存储桶下的子目录,但我无法告诉您哪种方法最适合您的应用程序。
AWS拥有足够的工具来自动为每个客户创建完整的堆栈 - 在API / CLI,CloudFormation等之间 - 但除非您处理的是高价值的产品,否则这可能不具有成本效益。
以下是我自己对该主题的研究结果:
有两种身份管理类型解决方案 - 一种充当用户的门户,显示多个应用程序,另一种充当具有登录工具的用户数据库。第一个不适用于我的情况,所以我没有看。第一种类型的一些示例:Okta,SecureKey,OnCloud,Sailpoint。
在第二种类型中,我查看了以下维度:支持多个联合Idps,支持SAML联合,支持API控制,UI仪表板(带有针对每个客户过滤的注释),支持活动目录同步,支持SP多租户,支持家庭领域发现,认证,能够嵌入解决方案,价格。
我的短名单是Auth0,AWS cognito和Stormpath。
Auth0:
AWS Cognito:
Stormpath