2010-01-25 60 views
6

注意:如果您熟悉Azure定价模型,则跳转到“问题”部分。Azure平台:向上和向下缩放实例

微软将开始为使用Azure平台开始收费,开始February 1, 2010。每月账单将是带宽,存储等功能。用于计算帐单的因素包括计算时间。 然而,后一个因素有一个令人误解的名称:它应该被命名为实例托管时间。引用了Windows Azure的定价页:

当开发和测试您的应用程序,开发人员希望删除没有被使用,以尽量减少计算小时计费

因此让你觉得计算实例这不是计算时间,但正常运行时间您将收取什么。怀疑完全阅读MSDN论坛this question官方回应后淡出:

我可以证实,每个实例(任何角色)计数,你必须实例活动的计数的所有时间(不论如何他们有很多“活动”)。在具有两个Web角色实例和两个工作者角色实例的应用程序的情况下,您会被收取四个实例

在$ 0.12 /每实例小时,使用N个实例的应用程序将是一个平均结算为24 * 30 * 0.12 * N /月=每例86美元/月。 如果您希望应用99.9%的正常运行时间service level agreement,并且考虑到事实上不能少于2个实例,那么此问题会恶化。

因此,一个小型,计算能力低廉的网站可能不是Azure的目标市场。但对于批处理流程来说,负担可能会消失。

问题

只在计算功率的条件和“计算时间”计费说到,Azure的将是批量处理的好托管选项,只运行了几个小时了一个月,如果和只有当你可以容易地扩大(和减少!)个例子。所以:

  • 是否可以通过编程来扩大和缩小Azure中的实例数量?除了手动更改配置文件之外,还有其他选项吗?
  • 是否存在缩小实例数量的非显而易见的问题?
  • Azure花费多少时间来“确认”您的应用程序缩小比例?

关于后一个问题:以极端情​​况下,您有大量实例(例如1000)运行45分钟。如果Azure在该过程结束后的15分钟内无法注意到缩小比例,则您将被收取额外1000个计算时间小时。

+1

小记:“向上扩大”和“向下”通常用于向单个节点添加资源。在这种情况下,我认为你的意思是“向内扩展”和“向外扩展”,即向系统添加更多节点。 - 您可以使用csmanage(http://code.msdn.microsoft.com/windowsazuresamples)将配置文件的更新脚本编写为新的实例数。您仍然必须在本地踢脚本(不是天蓝色)。您可能需要查看以下内容:自动执行应用生命周期(http://microsoftpdc.com/Sessions/SVC25) – 2010-01-26 13:26:21

+0

几分钟前,我在MSDN Azure论坛中发布了类似的问题:http://social.msdn.microsoft。 com/Forums/zh-CN/windowsazure/thread/e4fba2df-7676-48f9-9dfd-f0f3e40f7fe8 PS:谢谢Jason!我会访问链接(并肯定会检查我的语言!:) – 2010-01-26 14:21:42

回答

3

有一点警告,下面我的评论不是基于Windows Azure上运行的生产应用程序;到目前为止,我只是愚弄它并阅读文档。

是否可以通过编程来扩大和缩小Azure中实例的数量?

是的,但是AFAIK Azure不能自行扩展和缩小,您必须通过Web服务调用(与使用UI手动完成相同)。请参阅此MSDN doc,“托管服务”一节,然后从该处继续阅读。

Hudson CI server这样的东西可以很容易地扩展到做基本的工作队列监控。也许你需要更多功能丰富的东西;整个“企业服务巴士”世界有很多这样的系统。

是否有任何缩小实例数的非显而易见的问题?

Hmn。您需要考虑锁定问题,即如何确保每个工作人员以一致的状态离开队列并在关闭之前完成其任务?

另外,从Azure价目表中可以看出:“部分计算小时数被计为全时数。”

Azure花费多少时间来“确认”缩小应用程序的比例?

老实说,我不知道,但假设你的应用程序已经退出干净的工作,我会承担这是一个两分钟的最多。他们实例化新服务器的速度足够快,而且我猜测启动新服务器比关闭服务器需要更多的时间。

尝试测试它。制作一个便宜的帐户,然后启动一些服务器,关闭它们等。为您的应用程序构建一个小型原型(或使用Azure示例应用程序之一)并获得它的感觉。

另一方面是:你有什么保证能够在你想要的时候按比例放大目前,任何云计算供应商AFAIK都没有这样的保证;但亚马逊在这方面有着不俗的记录。 Azure是一种新产品,我们不知道微软的容量估算有多好,即我们不知道他们在未来几个月内的表现如何。我期待这是一个非问题;微软将处理好这件事 - 但我还没有证据。

+0

感谢您的指导。我想我会开始一些测试,并自己回答最后一个问题...亲是,我会得到一个非常准确的答案,结果是,我将不得不支付测试:( – 2010-01-26 15:18:07

+0

他们不'直到2月1日才开始收费......所以如果你在本周完成收费,你将不必为此付费......虽然我不确定当前是否可以扩展到1000个实例(我还没有试过它)虽然我看到这个链接关于一些限制:http://blogs.msdn.com/jnak/archive/2010/01/22/windows-azure-instances-storage-limits.aspx – 2010-01-26 18:56:34

+0

不,你不能做它在CTP中(最大限制为2),一月份商业用途将在2月份收取。 – 2010-01-27 13:01:13

4

你是对的,你正在支付正常工作时间,而不是计算小时数。

有一点需要注意的是,你支付部分时间没有任何分配,所以如果你迅速地扩大和缩小,你正在吃完整的小时。

正如其他人所提到的,您可以在应用程序中以编程方式进行缩放。但是,一般来说,特定角色只能访问自己的度量标准(除非将度量标准保存到存储中),再加上任何全局资源度量标准(队列长度等),因此根据CPU利用率等进行缩放可能比较困难。

放大几乎立即开始,机器需要几分钟才能旋转起来。目前没有提供启动的SLA。微软已经表示,实例会在不同的时间出现,所以如果你做了一个非常大规模的扩展操作,那么在所有实例都可用之前,这可能是相当长的时间;但有些情况几乎立即可用。在完全融合之前,您不需要付费。

缩放比例几乎立即发生,但您无法控制哪些实例用于缩小比例,因此如果您的实例有50%处于空闲状态并且缩小比例为50%,则可以将所有缩小活动实例,并且该工作需要在以前空闲的实例上重新启动。你必须确保你的设计支持工作的好重启(如果你使用队列超时,这可能主要是自动发生)

有开始出现,旨在帮助在缩放几个第三方解决方案。一,我看着那个看起来很有希望从http://paraleap.com/ AzureWatch它提供了一些事情诸如自动网络和辅助角色的上/下缩放基于利用率,queuelength,进度等

3

截至2013年6月26日,Windows Azure包含了自动扩展功能。现在只需预览,只支持2个度量标准(CPU利用率和队列长度),它非常直观且易于启用。 Check it out