使用应用服务节省 Azure 计费成本?
Saving on Azure billing cost with App Services?
我目前有一个 .NET Core 应用程序 运行 作为 Azure 应用服务,我需要它来做很多 'work' 一天大约几次。为了节省按小时计费,这是我开发的解决方案:
- 使用运行手册(Azure 自动化):在 7:00 PM
将应用服务计划扩展到 'Free' 层
- 使用运行手册(Azure 自动化):在 8:00 上午
将应用服务计划扩展回高级层
- 对我的 .NET Core 应用程序进行硬编码,以确保它仅在 8:00 上午和 7:00 下午
之间执行繁重的 'work'
这很好,因为它为我节省了很大一部分成本,因为我只需为应用服务计划扩展到高级层的时间付费.但是绝对不理想。
我的问题是 - 我应该实施什么设计模式才能完成我想做的事情?我需要大量的计算资源,但一天中只需要几个小时。我知道 AWS 有 'spot' 个您可以配置的实例 - Azure 中有类似的机制吗?
理想情况下,我可以实施一个解决方案,让我只在实际需要时才为那些繁重的计算资源付费(例如:每天几次,当太阳升起时)
感谢您的任何见解和帮助!
EDIT 关于计算类型,我的总结基本上是 一些 ML.NET 培训师 运行 与一些并行适中的 Elasticsearch 文档写作
是的,您可以切换到无服务器。存储帐户上的主机前端和后端移动到 Azure Functions(消费计划)。
PS:如果处理时间较长 运行,除非您使用 Durable Functions,否则它可能不是最佳解决方案。
很难回答这个问题,因为您的工作量的整个描述是 "heavy compute" 的 "lot"。
如果您可以将 "compute" 放入 Azure Functions,使用消费计划实现无服务器可能是最好的解决方案。但是,个别函数执行有给定的超时时间,因此您需要查看您的应用是否符合要求。
作为替代方案,您可以将您的应用程序放入 Azure Container Instance,然后根据需要启动它。
如果您的工作量真的很大,可以使用 Azure Batch。如果您当前的工作量可以在 AppService 计划上完成,这可能是 "overkill".
相当于 AWS spot 实例的名称是 Azure Spot Virtual Machines。您还可以将它们与 Azure Batch 一起使用。
我目前有一个 .NET Core 应用程序 运行 作为 Azure 应用服务,我需要它来做很多 'work' 一天大约几次。为了节省按小时计费,这是我开发的解决方案:
- 使用运行手册(Azure 自动化):在 7:00 PM 将应用服务计划扩展到 'Free' 层
- 使用运行手册(Azure 自动化):在 8:00 上午 将应用服务计划扩展回高级层
- 对我的 .NET Core 应用程序进行硬编码,以确保它仅在 8:00 上午和 7:00 下午 之间执行繁重的 'work'
这很好,因为它为我节省了很大一部分成本,因为我只需为应用服务计划扩展到高级层的时间付费.但是绝对不理想。
我的问题是 - 我应该实施什么设计模式才能完成我想做的事情?我需要大量的计算资源,但一天中只需要几个小时。我知道 AWS 有 'spot' 个您可以配置的实例 - Azure 中有类似的机制吗?
理想情况下,我可以实施一个解决方案,让我只在实际需要时才为那些繁重的计算资源付费(例如:每天几次,当太阳升起时)
感谢您的任何见解和帮助!
EDIT 关于计算类型,我的总结基本上是 一些 ML.NET 培训师 运行 与一些并行适中的 Elasticsearch 文档写作
是的,您可以切换到无服务器。存储帐户上的主机前端和后端移动到 Azure Functions(消费计划)。
PS:如果处理时间较长 运行,除非您使用 Durable Functions,否则它可能不是最佳解决方案。
很难回答这个问题,因为您的工作量的整个描述是 "heavy compute" 的 "lot"。
如果您可以将 "compute" 放入 Azure Functions,使用消费计划实现无服务器可能是最好的解决方案。但是,个别函数执行有给定的超时时间,因此您需要查看您的应用是否符合要求。
作为替代方案,您可以将您的应用程序放入 Azure Container Instance,然后根据需要启动它。
如果您的工作量真的很大,可以使用 Azure Batch。如果您当前的工作量可以在 AppService 计划上完成,这可能是 "overkill".
相当于 AWS spot 实例的名称是 Azure Spot Virtual Machines。您还可以将它们与 Azure Batch 一起使用。