使用 Azure Spot 实例降低成本的综合指南
Posted: Tue Dec 03, 2024 3:48 am
云计算对于数据科学和人工智能应用非常有用。云提供商有很多,选择合适的提供商对于我们的应用至关重要。然而,云计算的一大挑战是管理成本。当我们将应用程序和工作负载部署到云中时,我们需要注意成本,因为在云中运行的机器可能非常昂贵。
在本文中,我们将探讨 Azure Spot 虚拟机 (VM),也称为 Azure Spot 实例。这些机器使我们在部署到 Microsoft Azure 时节省成本。如果您是 Microsoft Azure 新手并需要介绍,请参阅我们的Azure 简介课程。对于更高级的用户,我们的Azure 架构和服务课程将很有用。最后,如果您正在寻找快速参考,可以在此处找到我们比较不同云提供商的简单表格:数据科学和 AI 的 AWS、Azure 和 GCP 服务比较。
让我们深入了解 Azure Spot VM。
什么是 Azure Spot VM?
Azure Spot VM 是 Azure 数据中心 viber 数据库 内随时可用的备用虚拟机。由于这些机器目前未被使用,因此 Azure 以大幅降低的价格提供它们,有时与 Azure VM 的标准价格相比, 折扣高达 90% 。
然而,这种成本降低也伴随着不确定性。如果其他用户对虚拟机的需求增加,Azure 可以在几乎没有通知的情况下随时收回这些 Spot VM。这使得 Spot VM 非常难以预测。因此,我们必须仅将 Spot VM 用于不需要持续可用性且可以承受中断的任务。一些这样的任务包括:
批处理作业
批处理作业是无需人工干预即可在计算机上运行的任务。这些任务通常以大组或“批次”的形式处理,可以按顺序或并行进行。这些作业通常具有灵活的开始和结束时间,因此可以暂停和恢复,而不会造成重大中断。
例如,假设一家金融机构需要在每个工作日结束时处理交易。他们可以设置批处理作业,自动加载来自各种来源的数千或数百万笔交易,验证这些交易,然后相应地更新账户余额。
测试和开发环境
测试和开发环境是软件开发人员可以在不影响实时生产环境的情况下构建和测试应用程序的环境。设置这些环境的成本可能很高,而 Spot VM 正是可用于此类环境。
例如,假设一个团队正在开发一个电子商务网站。他们想在网站上尝试一项新功能,即根据用户浏览历史推荐产品。他们可以在开发环境中开发此功能,然后将其移至测试环境,以严格测试错误、性能问题和用户体验。这可以在 Spot VM 中针对不同的设置完成。测试成功后,他们可以将该功能部署到生产环境,供客户使用。
容错应用程序
容错应用程序是即使某些组件发生故障也能继续运行而不中断的应用程序。这可以通过内置冗余和故障转移机制实现。此类应用程序非常适合 Spot VM。此类应用程序的一个示例可能有多个服务器正在处理用户请求。如果一台服务器发生故障,系统会自动将请求重新路由到另一台服务器。由于此类操作具有容错能力,因此可以在 Spot VM 上使用它们以节省成本。
Azure Spot VM 的优势
使用 Azure Spot VM 的主要好处是可以大幅节省成本。正如我们所提到的,与按需 VM 价格相比,这最多可以节省 90%。由于有了这个折扣,我们可以根据可用容量增加或减少工作负载,从而允许我们运行大规模操作,而这些操作如果使用按需 VM 则非常昂贵。此外,使用 Spot VM,我们可以设置我们愿意为 VM 支付的最高价格。这使我们能够控制支出。
当虚拟机被 Azure 回收时,我们还可以选择逐出策略来指定接下来会发生什么 - 我们可以解除分配或删除我们的虚拟机。如果我们选择解除分配虚拟机,它将停止但不会删除虚拟机。这样,我们可以在虚拟机再次可用时重新启动它。与此同时,我们只需支付存储费用。如果我们选择删除我们的虚拟机,我们的所有数据和工作负载都将被删除。
如何部署 Spot VM
在本节中,我们将介绍如何部署 Spot VM 并选择与其相关的选项,例如定价和驱逐策略。我们可以部署单个 Spot VM 或一组 Spot VM(称为 Spot VM 规模集)。
在本文中,我们将探讨 Azure Spot 虚拟机 (VM),也称为 Azure Spot 实例。这些机器使我们在部署到 Microsoft Azure 时节省成本。如果您是 Microsoft Azure 新手并需要介绍,请参阅我们的Azure 简介课程。对于更高级的用户,我们的Azure 架构和服务课程将很有用。最后,如果您正在寻找快速参考,可以在此处找到我们比较不同云提供商的简单表格:数据科学和 AI 的 AWS、Azure 和 GCP 服务比较。
让我们深入了解 Azure Spot VM。
什么是 Azure Spot VM?
Azure Spot VM 是 Azure 数据中心 viber 数据库 内随时可用的备用虚拟机。由于这些机器目前未被使用,因此 Azure 以大幅降低的价格提供它们,有时与 Azure VM 的标准价格相比, 折扣高达 90% 。
然而,这种成本降低也伴随着不确定性。如果其他用户对虚拟机的需求增加,Azure 可以在几乎没有通知的情况下随时收回这些 Spot VM。这使得 Spot VM 非常难以预测。因此,我们必须仅将 Spot VM 用于不需要持续可用性且可以承受中断的任务。一些这样的任务包括:
批处理作业
批处理作业是无需人工干预即可在计算机上运行的任务。这些任务通常以大组或“批次”的形式处理,可以按顺序或并行进行。这些作业通常具有灵活的开始和结束时间,因此可以暂停和恢复,而不会造成重大中断。
例如,假设一家金融机构需要在每个工作日结束时处理交易。他们可以设置批处理作业,自动加载来自各种来源的数千或数百万笔交易,验证这些交易,然后相应地更新账户余额。
测试和开发环境
测试和开发环境是软件开发人员可以在不影响实时生产环境的情况下构建和测试应用程序的环境。设置这些环境的成本可能很高,而 Spot VM 正是可用于此类环境。
例如,假设一个团队正在开发一个电子商务网站。他们想在网站上尝试一项新功能,即根据用户浏览历史推荐产品。他们可以在开发环境中开发此功能,然后将其移至测试环境,以严格测试错误、性能问题和用户体验。这可以在 Spot VM 中针对不同的设置完成。测试成功后,他们可以将该功能部署到生产环境,供客户使用。
容错应用程序
容错应用程序是即使某些组件发生故障也能继续运行而不中断的应用程序。这可以通过内置冗余和故障转移机制实现。此类应用程序非常适合 Spot VM。此类应用程序的一个示例可能有多个服务器正在处理用户请求。如果一台服务器发生故障,系统会自动将请求重新路由到另一台服务器。由于此类操作具有容错能力,因此可以在 Spot VM 上使用它们以节省成本。
Azure Spot VM 的优势
使用 Azure Spot VM 的主要好处是可以大幅节省成本。正如我们所提到的,与按需 VM 价格相比,这最多可以节省 90%。由于有了这个折扣,我们可以根据可用容量增加或减少工作负载,从而允许我们运行大规模操作,而这些操作如果使用按需 VM 则非常昂贵。此外,使用 Spot VM,我们可以设置我们愿意为 VM 支付的最高价格。这使我们能够控制支出。
当虚拟机被 Azure 回收时,我们还可以选择逐出策略来指定接下来会发生什么 - 我们可以解除分配或删除我们的虚拟机。如果我们选择解除分配虚拟机,它将停止但不会删除虚拟机。这样,我们可以在虚拟机再次可用时重新启动它。与此同时,我们只需支付存储费用。如果我们选择删除我们的虚拟机,我们的所有数据和工作负载都将被删除。
如何部署 Spot VM
在本节中,我们将介绍如何部署 Spot VM 并选择与其相关的选项,例如定价和驱逐策略。我们可以部署单个 Spot VM 或一组 Spot VM(称为 Spot VM 规模集)。