tencent cloud

云函数

安全稳定、管理简化、易用且高效的低成本无服务器函数计算平台

简介

云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。SCF 是实时文件处理和数据处理等场景下理想的计算平台。

特性
简单易用

用户只需编写最重要的“核心代码”,不再需要关心周边组件,极大地降低了服务架构搭建的复杂性。无需任何手动配置,云函数即可根据请求量自动横向扩缩。不管您的应用每天的请求数处于波峰还是波谷,SCF 均可自动安排合理的计算资源满足业务需求。

高效

云函数 SCF 不要求特定框架,开发者可专注于核心代码的开发。单个模块的开发无需了解代码细节。您可以使用云函数编写一些目的单一、逻辑独立的业务模块。每个函数都是单独运行、单独部署、单独伸缩的,用户上传代码后即可自动部署,提升了独立开发和迭代的速度。

稳定可靠

如果某个可用区因灾害或电力故障等导致瘫痪,云函数 SCF 会自动地选择其他可用区的基础设施来运行,免除单可用区运行的故障风险。由事件触发的工作负载可以使用云函数来实现,利用不同云服务满足不同的业务场景和业务需求,使得您的服务架构更加健壮。

简化管理

用户不再需要对 OS 入侵、登录风险、文件系统安全、网络安全和端口监听做复杂的配置和管理,一切交由平台处理,平台通过定制化的容器保证每个用户的隔离性。用户无需复杂的配置文件即可一键部署和测试 SCF。

降低开销

SCF 在未执行时不产生任何费用,所以对一些无需常驻的业务进程来说,开销将大幅降低。SCF 执行时按请求数和计算资源的运行时间收费,价格优势明显,对初创期的开发者十分友好。

功能

代码管理

支持多开发环境

自动伸缩

事件触发

监控和日志

代码管理


您可以通过上传代码使用腾讯云无服务器云函数,云函数提供多种代码管理方式:

通过控制台编辑代码,这种方式适用于没有外部依赖的业务代码,直接在控制台上编辑代码。


上传代码 ZIP 包,将所有依赖和代码打包成 ZIP 并上传至腾讯云无服务器云函数,平台将自动抽取入口函数并执行。


通过 COS 管理代码 ZIP 包,将所有依赖和代码打包成 ZIP 并上传至腾讯云对象存储,并在云函数中指定代码所在 Bucket 和 文件对象,平台将自动下载函数代码。

支持多开发环境


无服务器云函数支持多种开发环境,您可以选择适合您自身的开发语言,完成函数编写。目前已支持的语言包括:Python 2.7 & 3.6、Node.js 6.10 & Node.js 8.9、Java 8、Php 5 & Php 7、Go。

自动伸缩


无服务器云函数支持毫秒级别的实时弹性伸缩,完全根据请求量扩容或缩容。动态负载均衡将请求分发至后端近乎无限的函数实例上,完全无需任何手动配置和操作,满足并发量从 0 到成千上万的不同场景。

事件触发


无服务器云函数支持设置多种触发器来决定代码何时运行,在满足触发器条件(Event)时,代码自动开始运行,并根据请求自动调度基础设施资源实现自动伸缩和回收,提高计算效率。目前支持以下触发器:

对象存储 COS:支持在特定的 COS Bucket 操作文件上传或文件删除等事件时触发云函数,可以对文件进行更多操作。例如:在图片上传到特定 Bucket 时,对其进行压缩或裁剪以适应不同分辨率的移动终端。

定时器:支持定时触发函数,助力用户构造更加灵活的自动化控制系统。


手动触发:支持通过 云 API /控制台 手动触发函数,帮助用户更便捷、更清晰地调试和使用云函数。

CMQ 主题队列触发:由 CMQ Topic 主题队列内的消息触发,利用 CMQ 消息队列解耦事件,可以帮助用户和更多应用完成联动。


Ckafka 消息队列触发:由 Ckafka Topic 主题队列内的消息触发,对消息进行处理,可以帮助用户实现日志聚合、消息存储等。

API 网关触发:支持 API 网关中的 API 配置后端为无服务器云函数,在 API 接收到客户端请求时,触发无服务器云函数,并将处理结果作为 API 响应返回给客户端。

监控和日志


无服务器云函数提供精细的日志记录,您可方便地查看函数的运行状况,并对代码进行调试、测试和审计;支持相关的监控指标上报,帮助您快速了解函数的整体运行概况,同时您还可自定义云函数的监控指标,对云函数进行更深入、更广泛的监控。

功能


您可以通过上传代码使用腾讯云无服务器云函数,云函数提供多种代码管理方式:

通过控制台编辑代码,这种方式适用于没有外部依赖的业务代码,直接在控制台上编辑代码。


上传代码 ZIP 包,将所有依赖和代码打包成 ZIP 并上传至腾讯云无服务器云函数,平台将自动抽取入口函数并执行。


通过 COS 管理代码 ZIP 包,将所有依赖和代码打包成 ZIP 并上传至腾讯云对象存储,并在云函数中指定代码所在 Bucket 和 文件对象,平台将自动下载函数代码。


无服务器云函数支持多种开发环境,您可以选择适合您自身的开发语言,完成函数编写。目前已支持的语言包括:Python 2.7 & 3.6、Node.js 6.10 & Node.js 8.9、Java 8、Php 5 & Php 7、Go。


无服务器云函数支持毫秒级别的实时弹性伸缩,完全根据请求量扩容或缩容。动态负载均衡将请求分发至后端近乎无限的函数实例上,完全无需任何手动配置和操作,满足并发量从 0 到成千上万的不同场景。


无服务器云函数支持设置多种触发器来决定代码何时运行,在满足触发器条件(Event)时,代码自动开始运行,并根据请求自动调度基础设施资源实现自动伸缩和回收,提高计算效率。目前支持以下触发器:

对象存储 COS:支持在特定的 COS Bucket 操作文件上传或文件删除等事件时触发云函数,可以对文件进行更多操作。例如:在图片上传到特定 Bucket 时,对其进行压缩或裁剪以适应不同分辨率的移动终端。

定时器:支持定时触发函数,助力用户构造更加灵活的自动化控制系统。


手动触发:支持通过 云 API /控制台 手动触发函数,帮助用户更便捷、更清晰地调试和使用云函数。

CMQ 主题队列触发:由 CMQ Topic 主题队列内的消息触发,利用 CMQ 消息队列解耦事件,可以帮助用户和更多应用完成联动。


Ckafka 消息队列触发:由 Ckafka Topic 主题队列内的消息触发,对消息进行处理,可以帮助用户实现日志聚合、消息存储等。

API 网关触发:支持 API 网关中的 API 配置后端为无服务器云函数,在 API 接收到客户端请求时,触发无服务器云函数,并将处理结果作为 API 响应返回给客户端。


无服务器云函数提供精细的日志记录,您可方便地查看函数的运行状况,并对代码进行调试、测试和审计;支持相关的监控指标上报,帮助您快速了解函数的整体运行概况,同时您还可自定义云函数的监控指标,对云函数进行更深入、更广泛的监控。

应用场景

视频应用、社交应用等场景下,用户上传的图片、音视频的总量大、频率高,对处理系统的实时性和并发能力都有较高的要求。例如:对于用户上传的视频短片,我们可以使用多个云函数对其分别处理,对应不同的清晰度(1080p、720p等),以满足不同场景下用户的需求,适应移动网络带宽较小且不稳定的特性。

一些数据处理系统中,常常需要周期性/计划性地处理庞大的数据量。例如:证券公司每12小时统计一次该时段的交易情况并整理出该时段交易量 top 5,每天处理一遍秒杀网站的交易流日志获取因售罄而导致的错误从而分析商品热度和趋势等。云函数近乎无限扩容的能力可以使您轻松地进行大容量数据的计算。我们利用云函数可以对源数据并发执行多个 mapper 和 reducer 函数,在短时间内完成工作;相比传统的工作方式,使用云函数更能避免资源的闲置浪费从而节省资金。

无服务器云函数和其他腾讯云云服务紧密结合,开发者能够构建可弹性扩展的移动或 Web 应用程序 – 轻松创建丰富的无服务器后端,而且这些程序可在多个数据中心高可用运行,无需在可扩展性、备份冗余方面执行任何管理工作。

在 AI 模型完成训练后,对外提供推理服务时,可以使用无服务器云函数,将数据模型包装在调用函数中,在实际用户请求到达时再运行代码。不仅能享受无需准备服务器或 GPU 服务器的费用节省、按实际调用量计费,还可以获得高并发请求下的自动扩容伸缩能力。

定价

云函数 SCF 按照实际使用付费,采用后付费月结方式,次月 3-5 日出上个月的账单,以“美元”进行结算。SCF 月结账单由三部分组成:资源使用费用、调用次数费用、外网出流量费用。每部分根据自身统计结果和计算方式进行费用计算,结果以 美元 为单位并保留小数点后两位。更多定价计费详情请查看费用指南 。免费额度