我们正在为我们的客户采用基于 Azure Functions 的体系结构,其中一些客户要求 AF 仅在本地运行。
在Microsoft Azure Functions 文档中,他们指的是在本地运行 Azure Functions 仅用于开发目的。
据我了解,他们只是列出了在本地运行从云计算中获得优势的服务的最常见用例;这不应排除本地运行时的生产用途。我没有在任何地方阅读以避免在生产中使用它们。
因此问题是:我们是否应该避免在生产环境中使用本地 Azure Functions?
提前致谢
我们正在为我们的客户采用基于 Azure Functions 的体系结构,其中一些客户要求 AF 仅在本地运行。
在Microsoft Azure Functions 文档中,他们指的是在本地运行 Azure Functions 仅用于开发目的。
据我了解,他们只是列出了在本地运行从云计算中获得优势的服务的最常见用例;这不应排除本地运行时的生产用途。我没有在任何地方阅读以避免在生产中使用它们。
因此问题是:我们是否应该避免在生产环境中使用本地 Azure Functions?
提前致谢
您可能遇到的主要问题是支持 - 虽然主机是开源的并且绝对可以在本地运行,但它可能尚未在您的客户运行的特定环境中进行测试,并且可能难以获得更新与产品团队优先解决该问题。
要考虑的替代方法可能是在 Functions 主机之外使用 Webjobs SDK。我过去曾这样做过,我需要在混合场景中部署代码,并且由于 Webjobs 本质上是控制台应用程序,因此我能够将它们作为简单的 Windows 服务运行。Functions 非常依赖 Webjobs SDK,将它们转换为 Functions 应用程序只需要很少的代码更改。
基本上我的项目结构看起来像这样(我在 .NET 中工作):