共享多租户模型中的亚马逊和多客户支持
Amazon and multi customer support in shared multi-tenant model
是否有任何现成的服务(由亚马逊或合作伙伴提供)可以帮助您管理 "pool" [1][2] 类型服务的多客户方面 - 其中所有多租户都由内部处理上下文切换、数据库共享等
AWS 工具(市场、计费管理器)似乎面向 "provision new service / host by customer" 而我正在寻找的是客户和许可证管理、用户关联、身份验证(包括与多个客户门户的联合身份验证集成) 甚至可能是列表和目录服务 - 但当新客户购买(或更改)许可证/用户/配置时 - 我希望收到 API 对我现有解决方案的调用 - 我将在其中决定什么要做。
似乎应该有很多这样的服务 - 但要么它们是专有的,要么我使用了错误的关键字来查找信息。
[1] http://www.slideshare.net/AmazonWebServices/arc340-multitenant-application-deployment-models/9
你问的基本上是"what tools can I use to build a multi-tenant application"。
答案将是 "it depends"。您没有足够的要求来确定哪些内容有用或有帮助。
但是,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:
- 使用多种技术支持多个联合 Idps(支持 SAML)
- 支持完全API控制
- 有 UI 仪表板,缺少 per-customer 过滤
- 使用代理支持活动目录同步
- 缺少 SP multi-tenant 支持
- 可以通过用户元数据支持 MT(虚拟分离)
- 缺少家园发现
- 可以通过持有映射以编程方式支持 HRD table
- 拥有 HIPPA(美国政府健康)认证
- 可以嵌入解决方案或用作在线服务
- 每月高成本 1000 美元/2500 活跃联合用户每月的计划低于我们需要的计划
AWS 认知:
- 通过 SAML 支持多个联合 Idps
- 支持完全API控制(?待定验证)
- 有 UI 仪表板,支持按客户过滤
- 不支持活动目录同步
- 限制为 60 个客户(用户池)
- 需与亚马逊协商
- 支持 SP 多租户(用户池来源和元数据)
- 未知的家乡领域发现 - 待定
- 目前在 US-East、爱尔兰和东京
- 如果成功,最有可能在其他地区可用,并且将来 gov-cloud
- 低成本 – 每月 275 美元/5 万每月活跃用户
注意 – 我们的用例不是此服务的主要用例(可能会导致死胡同)
风暴之路
- 使用 SAML 支持多个联合 Idps
- 支持完全API控制(?待定验证)
- 有 UI 仪表板,支持按客户筛选
- 使用代理支持活动目录同步
- 缺少 SP multi-tenant 支持
- 可以通过用户元数据支持 MT(虚拟分离)
- 缺少家园发现
- 可以通过持有映射以编程方式支持 HRD table
- 可以嵌入解决方案或用作在线服务
- 低成本 – 每月 500 美元/500k API 次调用低于我们需要的套餐
是否有任何现成的服务(由亚马逊或合作伙伴提供)可以帮助您管理 "pool" [1][2] 类型服务的多客户方面 - 其中所有多租户都由内部处理上下文切换、数据库共享等
AWS 工具(市场、计费管理器)似乎面向 "provision new service / host by customer" 而我正在寻找的是客户和许可证管理、用户关联、身份验证(包括与多个客户门户的联合身份验证集成) 甚至可能是列表和目录服务 - 但当新客户购买(或更改)许可证/用户/配置时 - 我希望收到 API 对我现有解决方案的调用 - 我将在其中决定什么要做。
似乎应该有很多这样的服务 - 但要么它们是专有的,要么我使用了错误的关键字来查找信息。
[1] http://www.slideshare.net/AmazonWebServices/arc340-multitenant-application-deployment-models/9
你问的基本上是"what tools can I use to build a multi-tenant application"。
答案将是 "it depends"。您没有足够的要求来确定哪些内容有用或有帮助。
但是,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:
- 使用多种技术支持多个联合 Idps(支持 SAML)
- 支持完全API控制
- 有 UI 仪表板,缺少 per-customer 过滤
- 使用代理支持活动目录同步
- 缺少 SP multi-tenant 支持
- 可以通过用户元数据支持 MT(虚拟分离)
- 缺少家园发现
- 可以通过持有映射以编程方式支持 HRD table
- 拥有 HIPPA(美国政府健康)认证
- 可以嵌入解决方案或用作在线服务
- 每月高成本 1000 美元/2500 活跃联合用户每月的计划低于我们需要的计划
AWS 认知:
- 通过 SAML 支持多个联合 Idps
- 支持完全API控制(?待定验证)
- 有 UI 仪表板,支持按客户过滤
- 不支持活动目录同步
- 限制为 60 个客户(用户池)
- 需与亚马逊协商
- 支持 SP 多租户(用户池来源和元数据)
- 未知的家乡领域发现 - 待定
- 目前在 US-East、爱尔兰和东京
- 如果成功,最有可能在其他地区可用,并且将来 gov-cloud
- 低成本 – 每月 275 美元/5 万每月活跃用户 注意 – 我们的用例不是此服务的主要用例(可能会导致死胡同)
风暴之路
- 使用 SAML 支持多个联合 Idps
- 支持完全API控制(?待定验证)
- 有 UI 仪表板,支持按客户筛选
- 使用代理支持活动目录同步
- 缺少 SP multi-tenant 支持
- 可以通过用户元数据支持 MT(虚拟分离)
- 缺少家园发现
- 可以通过持有映射以编程方式支持 HRD table
- 可以嵌入解决方案或用作在线服务
- 低成本 – 每月 500 美元/500k API 次调用低于我们需要的套餐