为满足不同场景下的用户需求,函数计算提供事件函数、Web函数、任务函数和GPU函数四种函数类型。本文介绍函数计算支持的函数类型的适用场景及差异,供您进行技术选型。
选型概述
在使用函数计算时,您可以根据业务场景和技术栈偏好,选择合适的函数类型和运行环境。
关于函数类型和运行环境的详细信息,请参考下文表格。
内置运行时和自定义运行时都以代码包形式部署至函数。若需容器化部署,也可以选择自定义镜像作为运行环境。
GPU函数仅支持使用自定义镜像作为运行环境。
选型分析
函数类型选型
对比项 | 事件函数 | Web函数 | 任务函数 | GPU函数 |
对比项 | 事件函数 | Web函数 | 任务函数 | GPU函数 |
功能 | 支持流行的Web应用框架,可以通过浏览器访问,或通过URL调用。 | 用于处理异步请求,能够追踪并保存异步调用各个阶段的状态。 | 支持流行AI项目(如Stable Diffusion WebUI、ComfyUI、RAG、TensorRT)的容器镜像,快速构建AI模型推理服务。 | |
适用场景 |
|
|
|
|
运行时环境 | 推荐使用内置运行时 | 推荐使用自定义运行时 | 推荐使用内置运行时 | 仅支持自定义镜像 |
默认关闭 | 默认关闭 | 默认开启 | 默认关闭 |
如果您需要为已创建的函数开启异步任务,可以按照管理任务中的步骤进行操作。
函数运行环境选型
对比项 | 内置运行时 | 自定义运行时 | 自定义镜像 |
对比项 | 内置运行时 | 自定义运行时 | 自定义镜像 |
开发流程 | 按照函数计算定义的接口编写请求处理程序。 | 基于Web应用框架模板开发应用,通过公网访问地址即时看到结果。 | 将自定义镜像上传至ACR然后使用镜像,或者使用ACR中已有的镜像。 |
支持的实例类型 | CPU实例 | CPU实例 | CPU实例和GPU实例 |
不支持 | 支持 | 支持 | |
最快。代码包中不包含运行时,冷启动最快。 | 较快。代码包为HTTP Server,体积较大但无需拉取镜像,因此冷启动较快。 | 较慢。需要拉取镜像,冷启动较慢。 | |
代码交付物格式 | ZIP、JAR(Java)、文件夹 | 容器镜像 | |
部分地域(如杭州)最大500 MB,其他地域最大100MB。 您可以配置层添加依赖,以减少代码包体积。 |
对于AI推理应用,您可以将大尺寸模型存储在NAS或OSS,以减少镜像体积。 | ||
支持的编程语言 | Node.js、Python、PHP、Java、C#、Go | 无限制 | 无限制 |
通过控制台创建函数
如果您想通过事件触发(OSS触发器、Kafka触发器、SLS触发器等)来调用关联函数,推荐您创建事件函数,并搭配内置运行时作为运行环境。
如果您想基于各个语言的流行框架(Java SpringBoot、Node.js Express、Python Flask、Golang Gin等)编写程序,推荐您创建Web函数,并搭配自定义运行时作为运行环境。
如果您想对函数发起异步调用,且需要追踪并保存异步调用各个阶段的状态,推荐您创建任务函数,并搭配内置运行时作为运行环境。
如果您想使用流行AI项目(Stable Diffusion WebUI、ComfyUI、RAG、TensorRT等)的容器镜像创建GPU实例,推荐您创建GPU函数,该函数仅支持自定义镜像运行环境。
- 本页导读 (1)
- 选型概述
- 选型分析
- 函数类型选型
- 函数运行环境选型
- 通过控制台创建函数