Azure功能应用程序:什么';发布Docker容器的功能是什么?
我知道可以基于Azure函数运行时创建Docker容器。中描述了此过程的示例 好处是Azure功能可以在任何地方使用——如果我愿意,我可以将容器部署到AWS 但我不清楚的是: 在Azure portal中创建新功能应用程序时,会有一个标记为“发布”的开关,它允许选择“代码”或“Docker容器” 如果我选择“Docker容器”,我可以配置要使用的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容器实例中
- 否(仅限windows计划),无限制
- 保证工作,因为相同的映像将用于测试、登台和生产(并不是说普通部署不会,而是有不同版本的Node.JS)
- 对于Python之类的语言,有时需要构建外部依赖项(C++库等),使用容器,您可以保证一切都按预期工作,因为容器已经过测试(并且只构建了一次)
- 自动缩放。当部署到Azure容器实例时,与部署到函数应用程序时相比,您的函数应用程序将不会具有相同的动态规模
- 每个实例(即函数运行时,在本例中为容器)都可以根据其拥有的CPU/RAM处理许多调用
- Azure根据传入的事件(如HTTP请求、队列消息等)按比例增加实例数
- 在kubernetes中运行时,可通过//或类似的解决方案进行缩放。此外,使用(注意),您可以进行扩展,而无需向AKS集群添加“真实”节点
我理解:容器中的函数运行时可以扩展到分配给应用程序计划的CPU/内存限制;这就像在“应用服务计划”(每月支付固定费用)下运行功能应用程序一样。要想超越这一点,我就得换一种更高的眼泪。我还可以创建我的容器的多个实例,使用AKS,例如foe。完全正确!如果您使用的是AKS,那么使用函数的最佳方法之一就是使用。虽然它有一些,但在许多情况下,您可以在AKS中进行扩展,而不需要很多“真实”节点。