Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure功能应用程序:什么';发布Docker容器的功能是什么?_Azure_Docker_Azure Functions_Azure Function App - Fatal编程技术网

Azure功能应用程序:什么';发布Docker容器的功能是什么?

Azure功能应用程序:什么';发布Docker容器的功能是什么?,azure,docker,azure-functions,azure-function-app,Azure,Docker,Azure Functions,Azure Function App,我知道可以基于Azure函数运行时创建Docker容器。中描述了此过程的示例 好处是Azure功能可以在任何地方使用——如果我愿意,我可以将容器部署到AWS 但我不清楚的是: 在Azure portal中创建新功能应用程序时,会有一个标记为“发布”的开关,它允许选择“代码”或“Docker容器” 如果我选择“Docker容器”,我可以配置要使用的Docker映像。这在中有记录 我的问题是: 为什么我要将包含函数运行时的Docker容器部署到函数应用程序中,而不是仅将其部署到Azure容器实例中

我知道可以基于Azure函数运行时创建Docker容器。中描述了此过程的示例

好处是Azure功能可以在任何地方使用——如果我愿意,我可以将容器部署到AWS

但我不清楚的是: 在Azure portal中创建新功能应用程序时,会有一个标记为“发布”的开关,它允许选择“代码”或“Docker容器”

如果我选择“Docker容器”,我可以配置要使用的Docker映像。这在中有记录

我的问题是:

  • 为什么我要将包含函数运行时的Docker容器部署到函数应用程序中,而不是仅将其部署到Azure容器实例中
  • 容器方法如何影响缩放?谁负责安排和执行功能?容器中的运行时,还是Azure上的函数运行时
  • 使用docker容器有几个优点

    • 否(仅限windows计划),无限制
    • 保证工作,因为相同的映像将用于测试、登台和生产(并不是说普通部署不会,而是有不同版本的Node.JS)
    • 对于Python之类的语言,有时需要构建外部依赖项(C++库等),使用容器,您可以保证一切都按预期工作,因为容器已经过测试(并且只构建了一次)
    • 自动缩放。当部署到Azure容器实例时,与部署到函数应用程序时相比,您的函数应用程序将不会具有相同的动态规模
  • 有两件事需要理解——调用和实例

    • 每个实例(即函数运行时,在本例中为容器)都可以根据其拥有的CPU/RAM处理许多调用
    • Azure根据传入的事件(如HTTP请求、队列消息等)按比例增加实例数
    • 在kubernetes中运行时,可通过//或类似的解决方案进行缩放。此外,使用(注意),您可以进行扩展,而无需向AKS集群添加“真实”节点

  • 我理解:容器中的函数运行时可以扩展到分配给应用程序计划的CPU/内存限制;这就像在“应用服务计划”(每月支付固定费用)下运行功能应用程序一样。要想超越这一点,我就得换一种更高的眼泪。我还可以创建我的容器的多个实例,使用AKS,例如foe。完全正确!如果您使用的是AKS,那么使用函数的最佳方法之一就是使用。虽然它有一些,但在许多情况下,您可以在AKS中进行扩展,而不需要很多“真实”节点。