2011-08-26 63 views
14

我正在评估MS云端Windows Azure以托管3个完全分离的网站。Windows Azure我可以在同一个额外小型实例或小型实例上运行多个WebSnet

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

我的目标是优化启动项目的成本,并可根据需要进行扩展。

我想知道:

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

感谢您对此的时间。

+0

感谢理查德为您的修改 – GibboK

+0

看看这篇文章。这太神奇了:[在Windows Azure Web角色中运行多个网站](http://www.wadewegner.com/2011/02/running-multiple-websites-in-a-windows-azure-web-role/) – tugberk

回答

20

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

您也可以利用类似Cloud NinjaWindows Azure Accelerator for Web Roles,它提供了一个多租户解决方案,您可以加载到你的Web角色(检查出更多的信息云遮显示视频here)。

托管多个网站时,请记住它们都在实例上共享相同的资源。因此,您可能会发现超小型实例不能满足您的性能需求(它仅限于768MB RAM和大约5Mbps带宽)。我认为,如果您需要处理更多流量,您可以使用小型实例并扩大规模。

+0

感谢您的回答 - – GibboK

6

你绝对可以在同一个实例中运行3个网站。查看this MSDN article,它向您展示了如何构建您的配置文件,以便您可以在一个角色中托管多个网站。有一点需要注意,但是自从您提到“按需扩展”以来 - 当您使用多个网站扩展实例时,您将扩展实例,这意味着所有网站都将一起扩展。您无法仅缩放共享实例上的其中一个网站。

对于数据库,理论上可以这样做,但是它会是“手动”的,因为您必须将所有表格放在同一数据库中的三个数据库中,并且您可能希望以某些数据前缀排序指标,以便您知道哪个表属于哪个应用程序。这当然不是推荐的做法,但如果它适用于您的解决方案,那么没有任何技术可以阻止您这么做。如果可能的话,我会推荐多个数据库。

+0

感谢您的回答。在我的情况下,这将是一个合理的解决方案使用一个实例与3个网站和3个独立的数据库。另一个问题,但不相关。那么Azure支持呢?包括技术支持?价格?什么是平均时间来解决票的问题?感谢您的帮助。 – GibboK

+0

这应该作为一个单独的问题发布,但是...... :-)取决于你认为的技术支持。技术支持人员是否会检查您的代码是否有问题,可能不会,但是,他们确实做了非常出色的工作,确保他们指出您正确的方向来解决您可能遇到的任何问题。如果您发现某些更具全球性的问题,他们还会将问题升级到产品团队。换句话说,他们很棒。您可以从http://www.microsoft.com/windowsazure/support/获得支持,并且不需要任何费用。 –

+0

感谢Jonathan Rozenblit的反馈,不幸的是我找不到任何技术支持价格表..但它是另一个主题:-) – GibboK

8

在过去的几个月里,我一直在一对额外的小实例上运行三个网站,其中包括albahari.com,linqpad.net和LINQPad授权服务器(使用LINQ to SQL)。诀窍是直接从blob存储中提供大量静态内容,从而不受5MBit /秒I/O带宽限制的约束。我从来没有接近过度记忆。

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

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

+0

有用的信息,因为我现在将所有的东西都移到azure中。顺便说一句,LINQPad是最好的,我每天都用它......谢谢。 –

相关问题