云函数 SCF 采用按需付费的方式,并首次发布 1ms 计费粒度,真正实现按使用多少计算能力来计费。

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

1ms 计费粒度的方式有什么优势呢?首先,我们来看传统云主机的计费模式和 Serverless 计费模式差异。

付费资源:云主机 vs Serverless

最开始云主机计费是按照包月计费,无论服务是否使用了云主机,都需要支付相应费用。但绝大多数的业务都存在波峰与波谷,而这种包月的计费模式使得用户为自己所不需要的流量资源花费大量费用。

图一:采用云主机与云函数方式下资源使用对比

随着业务需求与云技术发展,云主机调整计费方式,逐渐实现让用户从按月计费到按日计费甚至按小时付费,避免不同小时段流量峰值导致的资源浪费,但在同一小时段仍然存在流量的波峰与波谷,资源浪费不可避免。

而 Serverless 架构具有灵活的弹性伸缩能力,能非常方便的实现按需计费,使得业务从原先的按小时计费,缩短到按秒,甚至是按 100ms 进行计费。随着粒度不断变细,Serverless 架构下,用户支付的费用,越来越趋向于业务实际使用的资源费用。

100ms 是计费粒度的极限吗?

目前,行业 Serverless 服务的函数运行时长计量粒度为 100ms,也就是说当实际运行时长小于100ms 时,按照100ms 计费。如下图所示,函数某一次的实际运行时长为 30ms,会被当做 100ms 计费,此时,相当于用户多花费了 70% 的资源费用。

图二:函数某次运行计费情况

这种 100ms 的计量粒度对比传统云主机计费方式,虽然降低了空闲资源的浪费,但依然存在多计费的情况。

SCF 首发 1ms 计量粒度,实现完全按量计费

为了进一步降低用户的资源成本,避免 100ms 计量粒度导致的资源浪费,云函数 SCF 首次发布 1ms 计量粒度,真正让用户实现像用水和电一样完全按使用量为云服务付费。

计量粒度调低后能为您节约多少?

当前云函数的资源用量,按照函数的配置内存乘以触发时的实际运行时长进行计费,相较于原方案对齐行业 100ms 计费的方式,产生了更低的总体资源用量及费用,节省用户成本。此处将以三种场景为例,计算采用1ms 的计量粒度,可带来的成本节省量。

图三:三种场景下,不同计量粒度产生的资源用量对比

场景一:Web 和 API 服务,优惠程度可达70%

Web 服务或 API 请求下,代码的实际运行时间通常仅为30ms - 50 ms。按实际运行时长计费,优惠程度可达70%。

具体案例:A 用户使用云函数及 API 网关构成的某个 API 服务,配置了128MB的函数,平均执行时间为 37ms:

  • 按照 100ms 的计量粒度,函数的计费时长为 100ms,在每天 100 万次调用的情况下会产生 12500GBs 的资源用量;
  • 而按 1ms 的计量粒度方案,函数的计费时长为 37ms,产生的资源用量仅为 4625GBs,相比降低了 63%。

场景二:消息处理,优惠程度可达 40%

针对消息队列中的消息进行过滤、转换及转发,代码的实际运行时长通常仅为 60ms - 80ms。按实际运行时长计费,优惠程度可达 40%。

具体案例:B 用户使用 Ckakfa 的消息触发云函数,并将完成过滤及数据格式转换的消息重新投递 Ckafka,配置了 256MB 的内存,平均运行时长为 67ms。在每天 500 万次调用的情况下:

  • 按照 100ms 的计量粒度,产生的资源量为 125000GBs 的资源用量;
  • 而按实际运行时长计费的方案,产生的资源用量仅为 83750GBs,相比降低了 37%。

场景三:事件转发,优惠程度可达 50%

将对象存储的事件转发至下游系统,代码的实际执行时间通常仅为 50ms - 80ms。按实际运行时长计费,优惠程度可达 50%。

具体案例:C 用户使用云函数将 ÇOS 对象存储的文件上传事件转发至自身的文件处理系统中,配置了 128MB 内存,函数的平均运行时长为 43ms。在每天有 20 万文件上传的情况下:

  • 按照 1ms 的计量粒度,会产生 25000GBs 的资源用量
  • 而按照实际运行时长计费的方案,产生的资源用量为 10750GBs,相比降低了 57%。

综上,可以看出三种典型场景下,相比于业界通用的 100ms 计量粒度,采用 1ms 计量粒度优惠程度可达70%,相当于在原来的费用基础上,直接打3折!

表一:三种典型场景,两种计量粒度下的资源费用对比

云函数计费方式说明

云函数 SCF 采用后付费小时结,以元为单位进行结算。云函数 SCF 账单由以下三部分组成,每部分根据自身统计结果和计算方式进行费用计算。

  • 资源使用费用。

    资源使用费用 =(资源使用量 - 免费资源额度)× 资源使用单价;

    其中,资源使用量 (GBs)= 函数配置内存 × 运行时长,例如,配置为256MB的函数,单次运行了 1765 ms,计费时长为 1765 ms,则单次运行的资源使用量为(256/1024)×(1765/1000) = 0.44 GBs。
  • 调用次数费用。

    调用次数费用 = (函数调用量 - 免费调用额度) × 调用次数单价
  • 外网出流量费用。

    外网出流量费用 = 外网出流量 × 流量单价

表二:云函数 SCF 计费项定价表

此外,开通云函数 SCF 服务的用户,每月可享受一定量的免费资源使用量及免费调用次数。具体免费额度可查看云函数 SCF官网计费说明

立即使用 Serverless,只需三步!

在费用方面,云函数 SCF 采用 1ms 计量粒度,用户可以以极低的成本运行起一套可用的服务。在使用方面,云函数与业界领先的 Serverless 开发框架 Serverless Framework 结合。简单三步,即可基于云函数 SCF,快速实现服务部署。

1、创建本地应用

  • 通过 npm 安装 Serverless
$ npm install -g serverless
  • 基于 tencent_nodejs 模板创建 hello_world
$ serverless create --template tencent-nodejs --path my-service

2、安装相关依赖

  • 执行 npm install 安装相关依赖
$ cd my-service
$ npm install
  1. 部署
  • 扫描微信二维码一键登录腾讯云账号,部署函数到云端
$ serverless deploy
  • 触发云函数
$ serverless invoke -f hello_world

部署完成后,即可在命令行中看到部署详情,也可以在腾讯云控制台看到对应资源。感兴趣的读者也可进入腾讯云 Serverless Framework官网查看具体信息。

了解更多 Serverless 应用实践,也可点击下方链接:

欢迎访问:Serverless 中文网

推荐阅读:《Serverless 架构:从原理、设计到项目实战》

腾讯云 Serverless 首发 1ms 计费粒度,立省 70% 费用的更多相关文章

  1. CODING 再携手腾讯云 Serverless,让开发者跑步上云

    近年来,腾讯云持续在云原生领域打磨和完善产品矩阵,致力于为开发者上云提供更好的产品和服务.继前段时间 CODING CI 助力腾讯云 Serverless 全新应用控制台.持续保障 Serverles ...

  2. 基于腾讯云Serverless的HTTP服务探活函数

    本文基于 Golang 开发了一款简单易用的拨测云函数,入口函数与腾讯云 Serverless SDK 绑定.与目前腾讯云中默认的拨测函数不同的是, url-tester-func 支持非 200 响 ...

  3. 3分钟搭建一个网站?腾讯云Serverless开发体验

    作为一个开发者,应该都能理解一个网站从开发到上线,要经过很多繁琐的步骤. 编写代码,部署应用,部署数据库,申请域名,申请SSL证书,域名备案,到最终上线起码要几天时间. 作为一个不精通代码的业务玩家, ...

  4. 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:黄文俊,腾讯云高级产品经理,曾经历过企业级存储.企业级容器平台等产品的架构与开发,对容器.微服务.无服务器.DevOps等都有浓厚兴趣. ...

  5. Hexo博客部署到腾讯云服务器全过程(Nginx,证书,HTTPS),你要的这里都有

    背景 说来也惭愧,博客已经搭建很久了,一直免费的部署在 Coding 和 Github Pages 上,前者迁移到腾讯云 Serverless,导致原有的配置始终有问题,没时间仔细研究,刚好腾讯服务器 ...

  6. 基于serverless快速部署前端项目到腾讯云

    腾讯云 COS 组件,可以快速部署静态网站页面到对象存储 COS 中,并生成域名供访问. 安装 首先要安装 serverless 组件 npm install -g serverless 在项目的根目 ...

  7. 跨国合作:Serverless Components 在腾讯云的落地和实践

    导语 | Serverless Components 是 Serverless Framework 推出的最新解决⽅案,具有基础设施编排能⼒,开发者通过使⽤ Serverless Components ...

  8. 腾讯云联合中国信通院&作业帮等首发《降本之源-云原生成本管理白皮书》

    在11月4日举办的2021腾讯数字生态大会云原生专场上,腾讯云联合中国信通院.作业帮等率先在国内重磅发布了<降本之源-云原生成本管理白皮书>(简称白皮书),基于腾讯云在业内最大规模的 Ku ...

  9. 腾讯云原生数据库TDSQL-C架构探索和实践

    作为云原生技术先驱,腾讯云数据库内核团队致力于不断提升产品的可用性.可靠性.性能和可扩展性,为用户提供更加极致的体验.为帮助用户了解极致体验背后的关键技术点,本期带来腾讯云数据库专家工程师王鲁俊给大家 ...

随机推荐

  1. 大数据攻城狮之进阶技能-使用Git上传自己的项目至GitHub仓库

    在开始讲解之前我们默认已经存在仓库和安装Git,没有下载的可以去https://git-scm.com/ Git官方网站下载或者是私聊博主. 下面我们说一说Git的使用,比如说如何生成密钥,连接远程仓 ...

  2. JavaScript之HTML DOM Event

    当鼠标在button上点击时,会在button上触发一个click事件.但是button是div的一个子元素, 在button里点击相当于在div里点击,是否click事件也会触发在div上?如果cl ...

  3. .NET 软件下面win10自动启动配置

    1.设置所有用户登录都能启动,打开文件夹 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 2.给要启动的应用程序创建快捷方式, ...

  4. 未能加载文件或程序集“MySql.Data”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

    未能加载文件或程序集“MySql.Data”或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配. (异常来自 HRESULT:0x80131040) 说明: 执行当前 Web 请求期间,出现未 ...

  5. JAVE官方文档

    官网地址:http://www.sauronsoftware.it/projects/jave/manual.php JAVE manual Installation and requirements ...

  6. vzray上网教程

    1.首先按照之前的教程在chrome里安装插件-Proxy-SwitchyOmega-Chromium-2.5.15 2.打开  vzray-v3.11-windows-64,打开 3.在chrome ...

  7. 201509-1 数列分段 Java

    思路: 后一个和前一个不相等就算一段 import java.util.Scanner; public class Main { public static void main(String[] ar ...

  8. 吴裕雄--天生自然 PHP开发学习:MySQL 插入数据

    <?php $servername = "localhost"; $username = "root"; $password = "admin& ...

  9. PAT Advanced A1104 Sum of Number Segments (20) [数学问题]

    题目 Given a sequence of positive numbers, a segment is defined to be a consecutive subsequence. For e ...

  10. sklearn连续型数据离散化

    二值化 设置一个condition,把连续型的数据分类两类.比如Age,大于30,和小于30. from sklearn.preprocessing import Binerize as Ber x ...