我认为Azure的优势之一是可以根据我希望它们何时可用来打开和关闭服务。
但是,我看不到如何暂停我的App服务计划。可能吗?
我想使用S1层,以便可以使用它提供的功能。但是,我希望在不使用时可以暂停成本累积。
我从应用程序服务定价帮助中看到,即使应用程序处于停止状态,也仍会为其付费。
但是,该链接还明确指出,我只为自己使用的东西付费。那如何运作?
我认为Azure的优势之一是可以根据我希望它们何时可用来打开和关闭服务。
但是,我看不到如何暂停我的App服务计划。可能吗?
我想使用S1层,以便可以使用它提供的功能。但是,我希望在不使用时可以暂停成本累积。
我从应用程序服务定价帮助中看到,即使应用程序处于停止状态,也仍会为其付费。
但是,该链接还明确指出,我只为自己使用的东西付费。那如何运作?
Answers:
如果您将托管计划放到免费套餐中,将不再为此付费。但是,如果您有诸如部署槽和证书之类的东西,这些将被删除。
开启和关闭服务的能力与扩展服务的能力有关,因此,如果一个小时需要50台服务器,则可以轻松实现。
要使解决方案成为临时方案,您可以使用Powershell或Resource Manager模板创建一个部署脚本,然后可以在需要的期限内完全部署您的解决方案,然后在不需要时将其再次删除。从这个意义上讲,您可以立即打开和关闭服务。
Azure提供了构建基块来创建所需的解决方案,您将自行决定如何最好地使用这些构建基块来创建所需的解决方案。
如果您要使用S1定价计划,并且在不使用它时不收费,那么唯一的实现方法是使用自动化。幸运的是,这是微不足道的。
如果您查看此模板,几乎所有模板都已配置为按需将网站从Github部署到Azure。如果进行编辑以将其配置为满足您的需要,则可以在线运行2分钟的脚本来运行一个新的Azure网站。
然后,您将有另一个脚本在完成后将其删除。
这样,您将不会失去任何功能,并且可能会在此过程中学到很多有关Azure可能实现的知识。
应用程序服务计划是运行Web应用程序的硬件。在免费和共享层中,您的Web应用程序与其他Web应用程序共享一个实例。在其他层中,您具有专用的虚拟机。您为此付费的虚拟机。在这种情况下,是否在应用程序服务上运行Web应用程序无关紧要,您仍然在运行虚拟机,您需要为此付费。
要通过PowerShell更改应用服务计划,您可以运行以下命令
Set-AzureRmAppServicePlan -ResourceGroupName $rg -Name $AppServicePlan -Tier Free
通过选择“应用服务计划”,单击“向上扩展”(“应用服务计划”),然后从那里开始,如果您单击“开发/测试”,则可以选择“免费”层,以完成此任务。
Azure应用服务计划只是您可以在多个应用之间共享的一组功能和容量的逻辑概念。我认为您不能“暂停”计划,而可以暂停服务。并取决于每种服务的计费模式,您是否需要付费。
正如其他人提到的那样,您需要编写脚本。幸运的是,我通过一键式部署创建了一个存储库到您的Azure资源。
https://github.com/jraps20/jrap-AzureVerticalScaling
这些步骤旨在尽可能简单和通用:
该脚本依赖于运行手册和变量来维护每个应用程序服务计划和这些计划中的应用程序服务的先前状态。由于使用了特定设置(AlwaysOn,Use32BitWOrkerProcess,ClientCertEnabled等),某些App Services无法缩放。在那些情况下,先前的值在缩小之前存储为变量,然后在扩大服务时重新应用原始值。
为了更加清晰,我写了一篇博客文章,内容详尽。该帖子与Sitecore有关,但适用于任何App Service设置-通过计划的纵向扩展来大幅降低非生产环境中的Azure PaaS托管成本。它还包括一个简短的视频教程,以显示其用例。
我自己和其他人已经使用此存储库/方法超过一年了,并且效果很好。当我不积极从事某项工作时,我主要将其用于POC,以降低成本。但是,其主要目的是针对非产品环境,以节省非工作时间的成本。
暂停=删除或降低等级。脚本是关键。
1)设计图2)使用脚本创建(也考虑共享资源)3)使用脚本删除4)使用脚本重新创建。
如果共享资源,则需要手动干预。例如:存储,可以降低到免费层,或者我们可以让它为其他资源运行。
需要预先准备一个图,并且需要首先在图中批准更改。这使得交流变得容易,尤其是在另一家公司接管项目时。
例如:如果我们在每个环境中正确使用资源组,则Export-AzureRmResourceGroup将为我们创建一个模板(资源组中的所有内容都将作为脚本提取)。因此,我们可以随时删除它并重新创建它。