azure-functions - 了解 Azure Functions 高级计划计费

标签 azure-functions azure-functions-runtime azure-function-app

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

我的理解如下:

  • 在高级计划中,我们可以配置最小实例和突发大小。这是保留的高级计划实例池的最小和最大大小(比如说它是 SKU EP2)。假设我将最小实例设置为 3,突发大小设置为 10。
  • 配置的最小值(在本例中为 3)意味着有 3 个 EP2 始终在运行,即使他们没有做任何事情,我也要为此付费。
  • 在我的 Function App 上,我指定需要 2 个预热的函数实例。我还为这些预热和等待请求付费。
  • 请求开始进入,现在我还要为预热实例中的执行时间(按使用的内核和内存)付费。

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

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

    我们如何为预热实例收费?

    最佳答案

    您需要为 Minimum Instances 付费,无论他们是否运行:https://docs.microsoft.com/en-us/azure/azure-functions/functions-premium-plan#plan-and-sku-settings
    , pre-warmed instancesMinimum Instances 的范围内.超过Minimum Instances后,Premium 套餐会像消费套餐一样扩容收费,不再保留实例缓存。

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

    以上是Minimum Instances的费用保费计划和超出 Minimum Instances 的费用.此外,对于Function,您还有其他费用需要注意,否则可能会带来意想不到的巨大成本消耗。

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

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

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

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

    关于azure-functions - 了解 Azure Functions 高级计划计费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60232579/

    相关文章:

    Azure Functions - 事件中心不触发函数

    docker-compose - 无法在 Visual Studio 2019 中使用 Azure Function 项目构建 docker compose

    c# - IBM.Data.DB2.Core 在 azure 函数应用程序中引发异常

    azure - 如何在全局范围内扩展 Azure Functions 以实现无服务器?

    azure - 将增量数据从 REST API 引入 SQL azure

    node.js - 为 Nodejs 项目设置 Azure 函数环境变量

    Azure功能失败: ModuleNotFoundError: No module named _cffi_backend

    azure - Microsoft.NET.Sdk.Functions 3.0.5 导致无法加载文件或程序集“Microsoft.CodeAnalysis,版本=3.4.0.0”

    c# - 在azure函数中使用MongoDB.Driver

    azure - Azure 上的时区问题 python function-app