用于由 http 请求触发的 Python 脚本的 Azure 基础结构

Azure infrastructure for a Python script triggered by a http request

我有点迷失在文档、优惠和服务的丛林中。我想知道基础设施应该是什么样子,如果能推动正确的方向会很有帮助。

我们有一个 python 脚本和运行预测的 pytorch。该脚本必须从 http 请求触发。优选地,进行预测的样本也必须来自同一请求者。它必须 return 尽快预测。

最好/最简单/最快的方法是什么?

我们现在将脚本放在 Container Registry 中。我们可以使用它吗? Azure Kubernetes 服务? Azure 容器实例(速度够快吗)?

关于触发器,我们应该使用 Azure 函数还是逻辑应用程序?

谢谢!

Azure Functions V2 刚刚发布了使用 Python 编写函数的私人预览版。您可以找到一些有关如何使用它的说明 here。这可能是使用 HTTP 请求执行此脚本的最简单方法之一。请注意,由于它是私人预览版,我会毫不犹豫地推荐在生产场景中使用它。

另一个需要注意的 Azure Functions 警告是,每当我们创建函数应用程序的新实例时,都会有一个冷启动。这应该在大约 2-4 秒的数量级,并且应该只发生在应用程序有一段时间没有看到太多流量之后的第一个请求,或者如果已经创建了一个新实例来扩展您的应用程序以接收更多流量。您可以通过在专用应用服务计划上创建您的函数来避免这种冷启动,但此时您将失去 Azure Functions 的很多好处。