产品优势

优势 无服务器云函数 SCF 传统服务器 云服务器 CVM
简单易用
减少组件开销

使用腾讯云无服务器云函数,用户只需编写最重要的“核心代码”,不再需要关心负载均衡、自动伸缩、网络访问、安全配置等周边组件,极大地降低了服务架构搭建的复杂性。

按需自动扩缩

无需任何手动配置,无服务器云函数即可根据请求量自动横向扩缩。不管您的应用每天只有几个请求(如日志统计等定期事务),还是每秒有几千上万个请求(如移动应用的后端),云函数均可自动安排合理的计算资源满足业务需求

配置复杂

自建基础设施通常涉及预估用量,购买/租用基础设施,网络、负载均衡、管理系统、监控解决方案等一系列繁琐的配置

需手动配置

云服务器将底层计算资源按机型的方式抽象出来,简化了用户的业务部署。然而,使用云服务器时仍然需要手动配置如网络、服务器优化、负载均衡、弹性扩缩容等周边组件,才能满足动态的服务需求。

高效
加速开发

腾讯云无服务器云函数不要求特定框架或依赖,开发者可以专注于核心代码的开发。同时开发人员可以组成多个小团队,单个模块的开发无需了解其他团队的代码细节。独立开发和迭代的速度变得前所未有的快,帮助用户把握住产品上线的黄金时间。

NoOps

每个云函数都是单独运行、单独部署、单独伸缩的,开发者上传代码后即可一键部署,免除单体式应用部署升级难的问题。

复用第三方服务

无服务器云函数通常都是一些目的单一、逻辑独立的业务模块,因而可以完全复用已经成熟的第三方服务实现。比如使用oAuth实现获取用户授权的登录模块。

开发运维效率低

自建服务器需要复杂的管理和运维工作。在单体应用(Monolith)中,已经设计好的代码难以修改,且要求每个团队成员都使用相同的开发语言和工具;对应用程序的任何细微的修改都需要将整个程序重新打包部署,构建和部署的时间也比较长,无法适应很多应用对快速迭代的强需求。

自建CI/CD门槛高

使用云服务器构建服务时仍然需要运维人员完成服务部署和迭代,随着应用规模的增大,相应的灵活性问题也会随之突出起来。如果用户想要实现持续集成/持续交付环境,只能自行使用Jenkins等工具构建,开发门槛较高。

稳定可靠
高可用部署,海量计算能力

腾讯云无服务器云函数可以自动在每个地域中随机地选择可用区来运行。如果某个可用区因灾害或电力故障等导致瘫痪,云函数会自动地选择其他可用区的基础设施来运行,免除单可用区运行的故障风险。

与其他云服务相辅相成

常驻的工作负载可以通过云服务器 CVM 来承载,而由事件触发的工作负载可以使用无服务器云函数。不同云服务满足不同的业务场景和业务需求,使得您的服务架构更加健壮。

单点风险

自建服务器依赖于数据中心和运营商的可用性,一旦出现断电等极端情况将导致服务完全不可用,单点风险高,需要手工容灾。

可选多可用区

基础设施遍布全球,用户可选择在每个地域的不同可用区部署业务。

低成本
永远不为空闲时间付费

函数在未执行时不产生任何费用,对一些并非常驻的业务进程来说开销将大大降低。

按请求时间付费

函数执行时按请求数和计算资源的运行时间收费,价格优势明显,助力开发者降低对基础设施的成本投入,对初创期的公司十分友好。

前期投入巨大

租用基础设施的费用高昂,运维成本大

按需付费

提供包年包月和按量计费两种付费方式,满足用户不同场景下的需求。然而,即使没有响应任何请求,运行状态下的服务器会一直产生费用。

 

功能介绍

代码管理

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

通过控制台编辑代码

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

上传代码 ZIP 包

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

自动伸缩

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

事件触发

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

目前支持以下触发器:

  • 对象存储 COS:支持在特定的 COS Bucket 发生文件上传或文件删除时触发云函数,对文件进行更多操作。例如:在图片上传到特定 Bucket 时,对其进行压缩或裁剪以适应不同分辨率的移动终端。
  • 定时器:支持定时触发函数,助力用户构造更加灵活的自动化控制系统。
  • 手动触发:支持通过 SDK/控制台 手动触发函数,帮助用户更便捷、更清晰地调试和使用云函数。
监控和日志

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

 

应用场景

实时文件处理

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

  1. 1用户上传原始视频至COS Bucket;

  2. 2自动触发多个云函数,分别对该原始视频进行不同处理;

  3. 3处理完成后上传至 COS Bucket 并展示给客户端。

数据ETL处理

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

移动及Web应用后端

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

  1. 1使用 COS 托管静态网站,构建商品明细模块;

  2. 2使用 无服务器云函数 构建登录模块,可以直接复用 OAuth 的授权登录逻辑;

  3. 3使用 无服务器云函数 构建订单模块,在用户调用下单相关接口时触发增删订单等函数;

  4. 4同时使用 无服务器云函数 支持个性化模块,根据用户的订单信息生成个性化数据并返回给客户端。