2014-12-04 27 views
1

所有Web应用程序,我帮助建设是多租户能力,这意味着它可以承载相同的应用/数据库上的许多客户,而不需要看到对方。云应用程序体系结构:在应用程序中构建多租户意识?

现在,我们可以旋转了新的PaaS-实例托管应用程序我想知道是否是有意义的下降多租户意识和只使用一个数据库和每个客户一个Web应用程序的另一个实例。

优势,我看到的是客户端和客户端的潜在的更简单的安装拆卸&之间更好的隔离。当我们尝试生成一些租户间报告时(可能或可能不需要特定应用程序),可能会出现缺点。

我的问题是,是不是真的使用云概念来分隔客户一个好主意?像这样做的真实世界的应用程序?

顺便说一下,如果它很重要,我们的新的应用程序将建在ASP.NET和托管为Azure的网站,使用Cloudant为DB层。另外,预期的客户数量最多只有几百个,而不是数百万。

回答

2

现在,我们可以旋转了新的PaaS-实例主办的 另一个实例的应用程序我想知道是否是有意义的下降多租户 意识和只使用一个数据库和每个客户一个Web应用程序。

虽然从技术上讲,你可以做到这一点 - 部署的每个客户建立一个单独的网站,有我可以预见到几个问题:

  • 天青有限制,以你能有多少资源部署。例如,在标准计划下,您最多可以部署500个网站。如果您超过500位客户,会发生什么?尽管你可以增加这个配额,但是我怀疑他们是否会让它变得无限。有关订阅限制,请参阅此链接:http://azure.microsoft.com/en-in/documentation/articles/azure-subscription-service-limits
  • 管理将成为恶梦。假设你有一个新功能,你想让每个租户都可以使用它。在多租户方案中,您只需部署一次您的更改。每个租户都有自己的实例,您必须为每个租户进行部署。
+0

该应用程序的潜在客户将是大公司,因此500已经是很多客户。但我同意这是一个需要考虑的重要问题。我会更新这个问题以澄清预期的客户数量。 – theDmi 2014-12-05 07:55:46

+1

如何为100多位客户部署更新?您必须确保在每个客户端的web.config中正确配置了数据库连接字符串,并且拥有构建/部署脚本。一个错误那里,你就完了:) – 2014-12-05 07:59:36

+0

是的,你说得对,连接字符串会有所不同。这是一个重要的一点! – theDmi 2014-12-05 08:01:23