了解 Azure Functions 高级计划计费

Understanding of Azure Functions Premium Plan Billing

我一直在阅读有关此的各种文档,但无法明确确认我的理解,我们正在评估 Azure Functions 高级计划,希望对成本有更清晰的了解。

我的理解如下:

  1. 在高级计划中,我们可以配置最小实例数和突发大小。这是高级计划实例保留池的最小和最大大小(假设它是 SKU EP2)。假设我将最小实例设置为 3,突发大小设置为 10。

  2. 配置的最小值(在本例中为 3)意味着我一直在为 3 个 EP2 运行 付费,即使它们什么也没做。

  3. 在我的函数应用程序中,我指定我想要 2 个预热函数实例。我也在为这些预热和等待请求付费。

  4. 开始收到请求,现在我还要为预热实例中的执行时间(按使用的内核和内存)付费。

我上面的理解对吗?此处相关的总成本是否如下:

(3 EP2 固定成本 + 最多 10 EP2 最大爆发)+ (2 个预热实例 + 额外的消耗实例)+ (请求执行)

预热实例如何收费?

您需要支付 Minimum Instances,无论他们是否 运行:https://docs.microsoft.com/en-us/azure/azure-functions/functions-premium-plan#plan-and-sku-settingspre-warmed instancesMinimum Instances的范围内。超过Minimum Instances后,Premium方案将像消费方案一样扩充收费,不再保留实例缓冲

以你的例子为例,Minimum Instances3的费用是必须支付的(请将此视为固定费用),超出部分按消费计划收取。计算成本的工具:https://azure.microsoft.com/en-us/pricing/calculator/?service=functions#functionse9e50b69-a40b-49cf-acac-83786868417a

以上为高级计划Minimum Instances的费用及Minimum Instances以外的费用。另外,对于Function,您还有其他费用需要注意,否则可能会带来意想不到的大笔成本消耗。

第一个是存款账户。每个功能应用程序都需要您有一个关联的通用 Azure 存储帐户,该帐户单独计费。此帐户由 Functions 运行time 内部使用。 Function 在创建时需要绑定存款账户。它的使用分为两部分。一部分是在部署时将你的功能传递给文件共享,这部分通常可以忽略不计;另一部分是函数运行过程中使用存储资源的成本。

第二个是 Application Insights。 Function 依靠 Application Insights 为您的功能应用程序提供高性能监视体验。他不是必需的。相关费用:https://azure.microsoft.com/en-us/pricing/details/monitor/

三是不同地区之间的数据传输。您可以通过在同一区域中创建 Azure 服务来避免这种情况。如果您不小心形成了从一个区域到另一个区域的数据传输情况,那么就会产生网络带宽费用:https://azure.microsoft.com/en-us/pricing/details/bandwidth/

最终成本应该是:必须花费的Minimum Instances3+超出Minimum Instances的消费计划成本+存储账户成本+Azure Monitor成本+网络带宽成本(如果是同一个地区,本次消费为0)

暖实例已部署您的函数应用程序并准备响应。没有冷启动延迟。