繁体   English   中英

Azure上的多租户(SaaS)Web应用程序,部署选项

[英]Multi-tenant (SaaS) web app on Azure, Deployment options

我正在计划主要针对美国客户的多租户Web应用程序,该应用程序很可能托管在Azure上。

我正在查看各种定价/部署计划,并对以下内容感到好奇:

根据他们的网站:

在多租户环境中,每个子区域最多可免费运行10个网站。 随着流量的增长,无缝升级到付费共享多租户或预留实例模型。

以上是指同一站点的不同实例还是多达10个不同的站点?

还有人知道一个网站是否可以预订多个SQL Server实例吗? 例如,数据库的最大限制为150 GB。

考虑到其潜在的增长潜力,我打算在最初的六个月内将其用户群设为100-200。 我的基本计划是为每个客户至少提供1GB的数据存储空间。 因此,假设我超过了150GB的限制,那么我可以为同一站点添加其他数据库吗?

我对整个Cloud事物还很陌生,所以请忍受并分享您的想法。

我在Azure上有一个多租户应用程序,与您所描述的完全一样。 对于大型多租户应用程序,我会忘记网站并使用Web角色。 我还将避免为每个客户端使用单独的站点,理想情况下,它们应该通过同一角色运行,并且可以在多个实例之间实现负载平衡。 您仍然可以为每个用户设置主机标头(即site1.mysite.com ),所有标头都在同一Web角色上运行。

我的所有客户端都在同一个数据库中运行,这并不难实现,并且可以更好地扩展(您认为Google每个客户端都有一个数据库吗?)。 没有理由您以后不能再访问更多数据库,也可以使用SQL Azure联合身份验证并为每个客户端拥有一个联合身份验证,但是朝另一个方向发展则困难得多。 如果每个客户都有一个单独的数据库,则必须分别管理每个数据库(模式更新,备份),这可能需要更多的工作(和费用)。 成本将影响设计。 一个1gb的数据库每月将花费10美元,因此,如果您的客户每月只支付20美元,那实际上是不可行的。 但是,如果他们每月支付1000美元,那么这不是问题。

设计您的应用程序以不使用会话,这并不难,并且可以更好地扩展。

最后,SQL Azure数据库不在超高端数据库服务器上运行。 您需要优化数据访问并尽可能承担数据库服务器的负载。 例如,使用Azure缓存来缓存参考数据,使用表存储来存储审核日志或类似的历史数据。

我的$ 0.02

  1. 我认为这意味着您可以创建多达10个免费模式的网站。 如果将其升级到共享或保留模式,则可以创建更多内容。

  2. 您可以根据需要连接到SQL服务器。 我认为Windows Azure网站上的SQL Server连接没有任何限制。 但是可以,当前最大数据库大小为150GB。

  3. 如果您计划默认为每个客户提供1GB,我强烈建议您为每个客户创建一个单独的数据库。 这样可以提供更好的安全边界,更简洁的体系结构和代码结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM