Windows Azure我可以在同一个Extra小实例或Small实例上运行多个WebSite

Gib*_*boK 14 asp.net azure multi-tenant cloud-hosting azure-sql-database

我正在评估MS云Windows Azure来托管3个完全分离的网站.

每个网站都有自己的数据库,它们没有连接,所以3个网站和3个数据库.

我的目标是优化启动项目的成本,并有可能按需扩大规模.

我想知道:

  • 如果可以在同一个实例上托管3个网站(超小实例或小实例).
  • 如果可以在同一个Sql Azure数据库上托管3个数据库(所以我会使用我的3个数据库的SQL存储总量)或者每个网站数据库我必须支付一个SQL Azure实例.

谢谢你的时间.

Dav*_*gon 20

从SDK 1.3开始,您绝对可以在同一个实例上运行多个网站,因为完整的IIS现在正在Web角色中运行.正如Jonathan在MSDN文章链接中指出的那样,您可以设置Sites元素来定义每个网站.您还应该查看Windows Azure 平台培训工具包,该工具包具有专门围绕构建多站点Web角色的实验室.

您还可以利用像云忍者Windows Azure的加速器为Web角色,它提供了一个多租户解决方案,您可以加载到你的Web角色(检查出云视频显示在这里获得更多信息).

托管多个网站时,请记住它们在实例上共享相同的资源.因此,您可能会发现Extra Small实例无法满足您的性能需求(它仅限于768MB RAM和大约5Mbps带宽).我认为你可以使用Small实例并扩展,因为你需要处理更多的流量.


Joe*_*ari 8

在过去的几个月里,我在一对超小型实例上运行了三个网站,包括albahari.com,linqpad.net和LINQPad许可服务器(使用LINQ to SQL).诀窍是直接从blob存储中提供大型静态内容,这样就不会受到5MBit /秒I/O带宽的限制.而且我从来没有接近内存不足的地方.

当您需要更好的可靠性,安全性和性能时,一对超小型Azure实例是共​​享主机的绝佳替代方案.

编辑:接近一年,Azure上的多个网站仍然没有问题.我永远不会回到共享主机.


小智 6

你绝对可以在同一个实例中运行3个网站.查看此MSDN文章,该文章向您展示如何构建配置文件,以便您可以在单个角色中托管多个网站.有一点需要注意,因为您提到了"按需扩展" - 当您扩展具有多个网站的实例时,您正在扩展实例,这意味着所有网站将一起扩展.您无法仅扩展共享实例上的其中一个站点.

对于数据库,理论上可以这样做,但它将是"手动"的,因为您必须在同一数据库中的三个数据库中拥有所有表,并且您可能希望为它们添加某种指示符,因此你知道哪个表属于哪个应用程序.这当然不是推荐的做法,但如果它适用于您的解决方案,那么没有什么技术可以阻止您这样做.如果可能的话,我会推荐多个数据库.