什么场景下新建Azure Function App时选择Windows以外的操作系统?

rud*_*nek 6 azure azureportal azure-functions

我们创建并测试了多个托管在 Windows 上的Azure 函数应用程序。在什么情况下创建新的 Azure Function App 时,我会选择 Windows 以外的操作系统?意思是 Linux 或 Docker。

我为所有三个操作系统选择选项创建了测试实例,每个选项的基本设置似乎非常接近。

新功能应用程序的选项

Chr*_*lum 6

如果您的函数具有仅适用于 Linux/Docker 的依赖项,则 Linux 或 Docker 很有用。例如,一些 node.js 原生库只能在 Linux 上工作,而永远不会在 Windows 上工作。

如果您不需要 Linux 用于任何特定的事情,那么我建议坚持使用 Windows,因为它目前(在撰写本文时)是运行 Azure Functions 的最佳和最受支持的环境。


Mik*_*kov 5

Azure Functions 2.0 运行时基于 .NET Core,因此它是跨平台的。如果您选择Linux/Docker,Functions运行时将部署在Linux上。

2.0 仍处于预览阶段,因此生产环境中尚不支持 Linux/Docker。目前不支持消费套餐(按次付费)。

请参阅Linux 上的 Azure Functions 预览版。引用:

Linux 上的功能可以通过 2 种不同的模式托管在专用应用服务层中:

  • 您携带 Function App 代码,我们提供并管理容器,无需特定的 Docker 相关知识。
  • 您可以自带 Docker 容器,包括 Azure Functions 运行时 2.0、特定依赖项和 Function App 代码。