通过App Services节省Azure账单费用吗?

问题描述 投票:0回答:2

我目前有一个.NET Core应用程序作为Azure应用程序服务运行,并且我需要它每天仅执行几次“工作”。为了节省按小时计费,这是我开发的解决方案:

  1. 使用运行手册(Azure自动化):在7:00 PM将App Service Plan扩展到“免费”层
  2. 使用运行手册(Azure自动化):在8:00 AM将App Service Plan扩展回高级级别
  3. 硬编码我的.NET Core应用程序,以确保它仅在8:00 AM和7:00 PM之间执行繁重的“工作”

这是fine,因为它为我节省了大量成本,因为我只需要支付App Service Plan扩展到高级级别的时间。但是,这绝对不是理想的。

我的问题是-为了完成我想做的事情,应该实施哪种设计模式?我需要大量的计算资源,但一天仅需要几个小时。我知道AWS有可以配置的“现货”实例-Azure中是否有类似的机制?

理想情况下,我可以实施一种解决方案,让我只在我真正需要它时(例如:每天数次,而太阳升起时)才支付这些繁重的计算资源]

感谢您的见解和帮助!

azure asp.net-core containers azure-web-app-service azure-app-service-plans
2个回答
0
投票

是,您可以切换到无服务器。托管前端在存储帐户上,后端移动到Azure功能(消费计划)。

PS:如果它是一个长期运行的过程,除非您使用持久功能,否则它可能不是最佳解决方案。


0
投票

很难用工作负载的全部描述作为“大量计算”的答案来回答这个问题。

如果您可以将“计算”放入Azure Functions,则采用消耗计划实现无服务器化可能是最好的解决方案。但是,单个函数执行具有给定的超时,因此您需要查看您的应用是否符合要求。

作为替代,您可以将您的应用程序放入Azure Container Instance,然后按需旋转它。

如果您的工作量非常大,则可以使用Azure Batch。如果您当前的工作量可以通过AppService计划完成,则可能会“过分杀伤”。

相当于AWS竞价型实例称为Azure Spot Virtual Machines。您也可以将它们与Azure Batch一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.