6

注意:如果您熟悉 Azure 定价模型,请直接跳到“问题”部分。

微软将从2010 年 2 月 1 日开始对 Azure 平台的使用收费。每月账单将取决于带宽、存储和其他因素。用于计算账单的因素之一是计算时间。然而,后一个因素有一个误导性的名称:它应该被命名为实例托管时间。引用 windows azure 定价页面:

在开发和测试您的应用程序时,开发人员将希望删除未使用的计算实例以最大限度地减少计算小时计费

因此,您会认为这不是计算时间,而是正常运行时间。在阅读了MSDN 论坛中对此问题的官方回复后,疑问完全消失了:

我可以确认每个实例(任何角色)都很重要,并且您拥有实例活动计数的所有时间(无论它们有多少“活动”)。对于具有两个 Web 角色实例和两个辅助角色实例的应用程序,您需要为四个实例付费

按每个实例 0.12 美元/小时计算,使用 N 个实例的应用的平均计费为 24*30*0.12*N/月 = ~ 每个实例每月 86 美元。当您考虑到如果您希望应用 99.9% 的正常运行时间服务级别协议,您的实例不能少于 2 个这一事实时,小型网站的情况会变得更糟。

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

问题

仅就计算能力和“计算时间”计费而言,Azure 将是一个很好的托管选项,适用于每月仅运行几个小时的批处理,前提是您可以扩大(和缩小!)数量实例很容易。所以:

  • 是否可以通过编程方式扩大和缩小 Azure 中的实例数量?除了手动更改配置文件还有其他选项吗?
  • 减少实例数量是否存在任何不明显的问题?
  • Azure 需要多长时间来“确认”应用程序的缩减?

关于后一个问题:举一个极端情况,您有大量实例(例如 1000 个)运行 45 分钟。如果 Azure 无法在流程结束后的 15 分钟内注意到缩减,则将再收取 1000 个计算时间小时的费用。

4

4 回答 4

4

你是对的,你支付的是正常运行时间,而不是计算时间。

需要注意的一件事是,您在没有任何按比例分配的情况下为部分时间付费,因此,如果您快速扩大和缩小规模,您就是在吃完整的时间。

正如其他人所提到的,您可以在应用程序中以编程方式向上和向下扩展。但是,一般来说,特定角色只能访问其自己的指标(除非您将指标保存到存储中)以及任何全局资源指标(队列长度等),因此基于 CPU 利用率等进行扩展可能很困难。

扩大规模几乎立即开始,机器需要几分钟才能启动。目前没有提供带启动功能的 SLA。Microsoft 曾表示实例将在不同时间出现,因此如果您进行非常大规模的扩展操作,可能需要很长时间才能使所有实例都可用;但有些实例几乎立即可用。在完全启动之前,您无需为实例付费。

缩减几乎立即发生,但您无法控制哪些实例用于缩减,因此如果 50% 的实例处于空闲状态并且您进行了 50% 的缩减,您可能会关闭所有活动实例,并且需要在先前空闲的实例上重新启动该工作。您必须确保您的设计支持良好的工作重新启动(如果您使用队列超时,这可能会自动发生)

开始出现一些旨在帮助扩展的第三方解决方案。我看过的一个看起来很有希望的是来自http://paraleap.com/的 AzureWatch, 它提供了一些东西,比如基于利用率、队列长度、调度等自动向上/向下缩放 Web 和工作角色。

于 2010-10-07T20:05:59.073 回答
3

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

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

是的,但 AFAIK Azure 不会自行扩展和缩减,您必须通过 Web 服务调用来实现(与使用 UI 手动执行此操作非常相似)。请参阅此MSDN 文档,“托管服务”部分,然后从那里继续阅读。

Hudson CI 服务器这样的东西可以很容易地扩展来进行基本的工作队列监控。也许您需要功能更丰富的东西;整个“企业服务总线”世界中有很多这样的系统。

减少实例数量是否存在任何不明显的问题?

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

此外,来自 Azure 价目表:“部分计算小时数按完整小时数计费。”。

Azure 需要多长时间来“确认”应用程序的缩减?

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

尝试测试它。创建一个便宜的帐户,并启动一些服务器,关闭它们等。构建您的应用程序的小型原型(或使用其中一个 Azure 示例应用程序)并感受一下。

另一个方面是:你有什么保证能够随时扩大规模?目前,任何云计算供应商AFAIK都没有这样的保证;但亚马逊在这方面有很好的记录。Azure 是一个新产品,我们不知道微软的容量估计有多好,即我们不知道他们在未来几个月内的表现如何。我希望这不是问题;微软会很好地处理这个问题——但我还没有这方面的证据。

于 2010-01-26T14:57:24.387 回答
3

自 2013 年 6 月 26 日起,Windows Azure 包括平台内置的自动缩放功能。目前只是预览版,仅支持 2 个指标(CPU 利用率和队列长度),它非常直观且易于启用。检查出来

于 2013-07-04T15:08:26.560 回答
2

是的,现在有了新发布的Autoscaling Application Block,Azure 中实例数量的程序化扩展和缩减比以往任何时候都容易。

请参阅我在此线程上的详细答案。

于 2011-12-03T18:43:16.290 回答