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

tam*_*tam 1 azure

我正处于多租户Web应用程序的规划阶段,主要面向最有可能在Azure上托管的美国客户.

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

根据他们的网站:

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

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

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

考虑到其增长潜力,我的目标网站可能在前六个月内拥有100-200个用户.我的基本计划将为每位客户提供至少1GB的数据存储空间.所以假设我超过了150GB的限制,那么我可以为同一个站点添加额外的数据库吗?

我对整个云计算事物都很陌生,所以请耐心等待并分享您的想法.

Cra*_*aig 5

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

我让所有客户都在同一个数据库中运行,这不是很难实现,而且会更好地扩展(你认为Google每个客户端都有一个数据库吗?).没有理由你以后不能去更多的数据库,或者你可以使用SQL Azure Federations并为每个客户端建立一个联盟,但是朝另一个方向迈进要困难得多.如果每个客户端都有一个单独的数据库,则必须单独管理每个数据库(模式更新,备份),这可能需要更多工作(和费用).成本将影响设计.一个1gb的数据库每月要花费10美元,所以如果你的客户每个月只需支付20美元,那么它真的不可行.但如果他们支付1000美元,那么这不是问题.

设计你的应用程序不使用会话,它并不难,并将更好地扩展.

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

  • FWI,大部分信息都已过时.我会将WebApp用于90%的SaaS应用程序.现在,Azure的整个数据库模型也已更改,联盟不再存在. (2认同)