【问题标题】:How to scale a azure cloud service to reduce billing如何扩展 Azure 云服务以减少计费
【发布时间】:2015-07-30 19:45:30
【问题描述】:

我们有一个批处理操作,正在处理一些数据。该操作大约需要 2 小时,目前需要大量 RAM。因此,我们在 Microsoft azure 中有一个具有 56GB RAM 的云服务。此操作应在每晚运行,因此在剩下的 22 小时内,我们会为无所事事的服务付费。

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

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

【问题讨论】:

  • 使用 Azure 自动化 (azure.microsoft.com/en-us/services/automation) 启动和停止 VM。我目前这样做是为了启动和停止 VSO 构建代理(在预定时间),这样它就不会在我们停机期间运行。
  • @BrendanGreen 我相信 OP 正在使用云服务,即使它停止了也会继续收费。

标签: azure scalability


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您说得对,从今天开始,Azure 云服务还不能缩减到零实例。至少,需要一个实例。解决此问题的一种方法是使用 Azure 服务管理 API 以编程方式创建/删除部署。所以你可以做的是创建一个工作,它将:

    1. 在一天中的某个时间,部署此包并使用服务管理 API 创建云服务。由于部署启动和运行需要一些时间,因此您可能希望在操作开始前至少 30 分钟执行此操作。
    2. 操作完成后,它可以通过再次调用服务管理 API 自行销毁,或者您可以安排另一个作业,该作业计划在作业完成时间后至少 30 分钟运行。

    要安排此作业,您可以在 Azure 中使用许多选项:

    1. 您可以使用 Azure 自动化。
    2. 您可以创建一个 WebJob 并按固定时间表运行它。
    3. 您可以使用 Azure 调度程序服务。
    4. 您可以编写自己的代码来安排此作业并将其托管在另一个 Worker Role 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-10
      • 2011-02-28
      • 1970-01-01
      • 2021-07-05
      • 2010-10-19
      • 1970-01-01
      • 2014-09-28
      • 1970-01-01
      相关资源
      最近更新 更多