为满足不同场景下的用户需求,函数计算提供事件函数、Web函数、任务函数和GPU函数四种函数类型。针对不同开发流程,函数计算提供内置运行、自定义运行时和自定义镜像三种运行时环境。根据不同业务的资源利用率高低和用户对付费模式的预期差别,函数计算提供弹性实例和常驻实例两种实例类型。本文将介绍函数计算提供的功能特性及其适用场景,帮助您进行技术选型。
选型概述
使用函数计算时,您可以根据业务场景和技术栈偏好,选择合适的函数类型和运行环境,并结合实例使用类型优化性能和成本。
-
内置运行时和自定义运行时都以代码包形式部署至函数,适合轻量级应用。
-
容器化部署,需选择自定义镜像,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 |
无限制 |
无限制 |
实例类型选型
针对CPU函数,仅支持弹性实例。针对GPU函数,您可以根据业务资源利用率、对延时敏感程度和对费用的稳定性要求,选择适合的实例类型,支持在三种实例类型之间进行无损切换。
仅支持为Ada、Ada.2、Ada.3、Hopper和Xpu.1系列卡型的GPU函数绑定常驻实例。
弹性实例
如果设置函数的最小实例数为0,将按请求量自动弹性伸缩,无请求后实例自动回收,即按使用量计费,不使用不收费,能够做到最大程度降本。业务请求越频繁,资源利用率越高,相对虚拟机弹性的降本幅度越高。
是否存在冷启动
是。针对时延敏感业务,为了解决冷启动问题,可以设置最小实例数≥1,提前锁定弹性资源,当请求到达时,迅速唤醒实例执行请求。
计费说明(后付费)
函数的使用费用由弹性实例(活跃)和弹性实例(浅休眠(原闲置))费用构成,如果设置最小实例数≥1,建议开启浅休眠(原闲置)模式开关。弹性实例(浅休眠(原闲置))状态下vCPU资源使用不收费,GPU资源使用仅收1/5费用,使用费用远远小于弹性实例(活跃)状态的费用。
关于弹性实例(活跃)和弹性实例(浅休眠(原闲置))的场景划分,请参见弹性实例。
常驻实例
仅适用于GPU函数。用户需提前购买常驻资源池,然后基于常驻资源池为指定函数分配指定数量和卡型的常驻实例,从而实现使用成本的可控与固定。适用于业务资源利用率高、时延要求高或对费用稳定性有较高要求的场景。
是否存在冷启动
否。使用常驻实例时,函数最多可以同时处理的请求数=被分配的常驻实例数×实例并发数,超出的请求将被流控,而未超出的请求,可以实现实时响应,彻底消除冷启动。
计费说明(预付费)
函数费用包括已购买的所有常驻资源池的预付费费用。
常驻实例+弹性实例(混合模式)
仅适用于GPU函数。结合了常驻实例和弹性实例的优势,适用于业务流量有明显峰谷波动的场景。系统优先使用常驻资源池承载稳态流量,当请求量超过常驻资源池的承载上限时,自动触发弹性实例扩展,从而在保证保底容量稳定性的同时,有效应对突发流量。
是否存在冷启动
部分存在。在常驻资源池(最小实例数)覆盖的容量范围内,请求实现实时响应,无冷启动;当流量触发弹性扩展并弹出新实例时,弹出的弹性实例部分存在冷启动。
计费说明
混合模式的费用由预付费和后付费两部分组成:
-
常驻部分:通过已购买的常驻资源池额度进行抵扣。
-
弹性部分:超出常驻资源池额度后自动弹出的实例按照后付费模式,和弹性实例活跃、浅休眠(原闲置)费用保持一致。