Azure应用服务计划:功能与应用服务?

5fjcxozz  于 2022-11-17  发布在  其他
关注(0)|答案(3)|浏览(185)

在应用服务计划中托管Azure功能时,与使用应用服务相比是否有任何显著差异(编辑:我认为唯一的区别是功能提供了额外的开箱即用的触发器。我遗漏了什么会导致偏好其中一个的区别吗?
我还想确认,如果应用服务计划上未配置扩展,则在应用服务计划中托管Azure功能实际上会限制可扩展性。据我所知,在使用Consumption或Premium托管时,功能会根据需要自动扩展,而无需额外配置。

vyswwuz2

vyswwuz21#

当在应用服务计划中托管Azure功能时,与使用与同一应用服务计划关联的应用服务相比,是否存在任何显著差异?我认为唯一的差异是功能提供了额外的开箱即用触发器。我遗漏了哪些差异会导致首选其中一个?
Azure函数与应用服务是不同的。Azure函数由外部事件或计时器触发。然后它执行函数的代码。当托管在消费计划上时,此执行最多允许运行5或10分钟。当您需要更长的执行时间时,您需要在应用服务计划上运行它。
应用服务可以托管你创建的任何应用,比如网站(持续运行,不需要在开始执行某项操作之前被触发)或API。
我还想确认,如果应用服务计划上未配置扩展,则在应用服务计划中托管Azure功能实际上会限制可扩展性。据我所知,在使用Consumption或Premium托管时,功能会根据需要自动扩展,而无需额外配置。
正确,当在应用服务计划中托管Azure功能时,您负责确保应用服务可扩展以允许功能在负载下良好执行。这就是为什么消费计划旨在处理这一问题,以便开发人员可以专注于功能,而无需担心基础架构。
因此,对于集成场景来说,Azure功能是一个非常自然的选择。对于网站来说,应用服务可能是最好的解决方案。
要处理您的意见:
我应该提到这个问题是在托管一个休息API而不是一个UI应用程序的上下文中提出的。
几件事:首先,有一个特定的最佳点。如果流量足够大,基于Azure功能的消费计划可能比专门的应用服务计划成本更高。当然,这取决于很多因素(CPU使用率、请求持续时间等)。此外,您将无法使用像ASP.NET核心中间件这样的现成工具。最后,我认为,如果您的api变得足够大,管理一个asp.net核心解决方案可能比用小函数管理大量Azure函数或用大量函数管理一个Azure函数项目更容易,但是,这只是我的看法(老实说,我还没有真正处理过)
需要考虑的一些资源:

ghhaqwfi

ghhaqwfi2#

主要区别在于您的支付方式:

  • Azure功能您按执行支付的消费计划
  • 应用服务(专用计划)中的Azure功能,您按分钟支付分配的硬件。

当您使用应用服务计划时,您还可以控制您的函数在哪个VNET中运行。您可能有安全要求,这一点很重要。
如果您在未配置为可伸缩的应用服务中运行它,则吞吐量将受到分配的硬件的限制,这是正确的。
有关详细信息,请参阅:https://learn.microsoft.com/en-us/azure/azure-functions/functions-scale

cx6n0qe3

cx6n0qe33#

如果您的工作负载有限且可预测,请在支持VNET集成的AppService计划中部署az功能以实现专用计算,否则请选择Premium计划,该计划将为您的计算环境提供自动扩展功能。

相关问题