如何扩展azure云服务以减少计费

时间:2015-05-19 06:04:18

标签: azure scalability

我们有一个批处理操作,正在进行一些数据。该操作大约需要2个小时,目前需要大量RAM。因此,我们在Microsoft Azure中拥有56GB RAM的云服务。这个操作应该每晚运行,所以在22小时的剩余时间里我们支付服务费用。

我正在寻找一种简单的解决方案来自动扩展云服务以减少计费。遗憾的是,当您使用microsoft azure的自动缩放功能时,无法将最小实例大小设置为零。

你如何解决这个问题?有没有可用的工具?

2 个答案:

答案 0 :(得分:1)

您已经更正了,截至目前,Azure云服务无法缩减为零实例。至少,需要一个实例。解决此问题的一种方法是使用Azure Service Management API以编程方式创建/删除部署。所以你能做的就是创造一份工作:

  1. 在一天的特定时间,部署此程序包并使用Service Management API创建云服务。由于部署启动并运行需要一些时间,因此您可能希望在操作开始之前至少30分钟执行此操作。
  2. 一旦操作完成,它可以通过再次调用Service Management API来破坏自身,或者您可以在作业完成时间后至少30分钟内安排另一个工作。
  3. 要安排此作业,Azure中有许多选项:

    1. 您可以使用Azure自动化。
    2. 您可以创建一个WebJob并按固定的时间表运行它。
    3. 您可以使用Azure Scheduler Service。
    4. 您可以编写自己的代码来安排此工作并将其托管在另一个工作者角色中。

答案 1 :(得分:0)

假设您继续使用云服务:虽然您无法向下扩展到Web或辅助角色的零实例,但可以更改角色大小(可以通过PowerShell以编程方式完成)通过CLI,或通过门户网站),这可以通过编程方式完成。这将为您提供扩展到更大尺寸,运行批处理,然后缩小到“空闲”大小(您可以在技术上一直缩放到A0)的选项,并假设您已缩放到多个角色实例,您也可以扩展到一个实例。虽然这不是零成本解决方案,但它非常便宜(每小时0.02美元的定价)。