降价背后,函数计算规格自主选配功能揭秘

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
函数计算FC,每月15万CU 3个月
简介: 目前函数计算提供了规格自主选配功能,不仅放开了 CPU 和内存固定比例的限制,同时提供极小的梯度,精确地设置函数规格,让函数需要多少用多少,提升资源利用率的同时,降低用户成本。

sam-farallon-A7A0QDptxOc-unsplash (1).jpg

在刚刚结束的 2022 杭州 · 云栖大会上,阿里云宣布函数计算 FC 开启全面降价,vCPU 单价降幅 11%,其他的各个独立计费项最高降幅达 37.5%。函数计算 FC 全面降价,让 Serverless 更加普惠,用户可随用随取,按量计费,用更低成本采用 Serverless 架构,但是函数计算 FC 究竟在技术上作出怎样的升级才促成本次降价发生呢?本文将全面揭秘幕后关键技术——函数规格自主选配功能


痛点:规格灵活度低,成本浪费


随着越来越多用户逐步将更多样化的负载部署至函数计算,比如 CPU 密集型,IO 密集型等,这些负载中有的需要更大的磁盘,但函数计算却只提供了按照内存大小等比例分配算力的能力,此时为了满足需求最大的一项,用户需要设置比实际所需更大的规格,这并不利于更精确的控制成本。但由于可选的规格方案数量较少,加上较大的梯度,进一步削弱了灵活性。


为解决以上痛点,函数计算提供了规格自主选配功能,不仅放开了 CPU 和内存固定比例的限制,同时提供极小的梯度,精确地设置函数规格,让函数需要多少用多少,提升资源利用率的同时,降低用户成本。


规格自选功能如何帮助降低用户成本?


接下来以具体案例进行展示,让大家直观地了解函数规则自主选配功能的优势。


贴合实际资源用量的函数规格

下图展示了函数运行期间 vCPU 和内存的使用情况,该函数的 vCPU 用量一直低于1.5核,内存用量低于 6GB,资源浪费明显,用户需要为没使用到的资源付费。


在推出自主选配功能前,函数计算提供的内存规格有 4GB、8GB、16GB、32GB。由于该函数内存最大使用量超过 5GB,为确保函数正常执行,只能配置内存为 8GB,该内存对应的 vCPU 规格为 4核。



现在,我们可以将函数规格调整为 1.5核 vCPU 和 6GB 内存,显著提升资源利用率的同时,成本也降低到了原来的 44%。


  • 调整前:4核 8GB规格的函数,每秒费用是 4核*0.000127元/(核*秒) + 8GB*0.0000127元/(GB*秒) = 0.0006096元
  • 调整后:1.5核 6GB规格的函数,每秒费用是1.5核*0.000127元/(核*秒)+6GB*0.0000127元/(GB*秒)
  • =0.0002662元


tips:观察监控指标页面的实例指标,如果函数不能充分利用vCPU或内存资源,考虑调整函数规格以降低成本。


更细粒度 GPU 算力

在一些算法场景下,我们将模型部署到云上提供在线推理服务,假设模型需要使用 1.8GB 的显存,如果采用传统方案,购买配备 GPU 资源的云服务器,最低显存是 8GB,运行单个在线推理服务时,GPU 利用率低于 25%,存在巨大的浪费。即使通过单机运行多个在线推理服务来提高利用率,但需要额外开发请求调度功能、平衡其他类型资源的分配,增加开发和运维的复杂性,并且弹性能力几乎为 0。


相比于持有整张GPU卡,使用函数计算可以仅为函数分配 2GB 的显存,实现对资源利用率极致压榨的同时,也收获了强大的弹性能力,节省资源成本和运维成本。


立即体验


规格自主选配功能现已对所有用户开放,您可以在函数计算控制台的函数配置页面修改 CPU、内存、磁盘和 GPU资源的规格,但需满足如下具体规则如下:


  • vCPU:在0.05核到16核 的范围内,且是 0.05 核的倍数
  • 内存:在 128MB 到 32GB 的范围内,且是 64MB 的倍数
  • GPU:在 2GB 到 16GB 的范围内,且是 1GB 的倍数
  • 磁盘:提供了 512 MB 和 10GB 两种规格,函数计算为每个实例提供512MB的免费磁盘空间



如果您使用 Serverless Devs  工具,可以通过配置 function 字段的 memorySize、cpu 和 diskSize 属性实现相同的效果,其中 memorySize 和 diskSize 的单位为 MB,cpu 单位为核数。



实现技术揭秘


从上文介绍的案例,可以感受到该功能的实用性和价值,而且这并不是一个复杂的功能,但为什么现在才推出呢?


要回答这个问题,我们需要了解函数计算资源管理系统的工作原理。


高密部署

过去,函数计算使用 Docker 创建容器作为函数的运行环境,为了保证多租环境下的安全,为每个用户分配独立的虚拟机,即使只需要运行1个 128MB 的小函数,也需要分配一台 2核4G 的虚拟机,平台承担了资源浪费。由于虚拟机的规格都是固定的,为了提高平台的资源利用率,在设置函数规格时,只允许设置内存大小,并且 CPU 与内存的比例与虚拟机规格相近。


现在,函数计算在弹性裸金属服务器上通过安全容器运行用户的函数,单机运行 2000+函数实例,实现高密部署,降低平台成本。



调度优化

实现了高密部署后,还不能直接提供自主选配功能,因为这个功能会导致函数的规格种类呈现多样化,各种可能的配比会增加函数计算的调度复杂性,降低平台资源利用率。例如一台裸金属服务器上运行了少数函数实例后,就将CPU打满,而内存利用率仍在较低水位,但此时已经无法在该机器上创建新的函数实例。


对于这个问题,函数计算对函数进行资源画像,统计函数对每种资源的使用情况,在调度函数实例时,选择最有利于资源互补的机器创建实例。


基于多年来的技术沉淀和高效的调度策略,函数计算不断提高资源池利用率,这也让我们敢于提供自主选配功能,为用户提供更灵活的体验,更轻松地享受 Serverless 技术的红利。


🌏更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。


👉点击直达函数计算官网!

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
4月前
|
关系型数据库 Serverless 分布式数据库
【公测】PolarDB PostgreSQL版Serverless功能免费使用​!
【公测】PolarDB PostgreSQL版Serverless功能免费使用​,公测于2024年3月28日开始,持续三个月,公测期间可以免费使用!
|
4月前
|
人工智能 机器人 Serverless
魔搭大模型一键部署到阿里云函数计算,GPU 闲置计费功能可大幅降低开销
魔搭大模型一键部署到阿里云函数计算,GPU 闲置计费功能可大幅降低开销
713 2
|
14天前
|
JSON 运维 Serverless
函数计算产品使用问题之怎么使用ComfyUI功能
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
16天前
|
存储 监控 Serverless
函数计算发布功能问题之用户在使用主流函数计算产品的日志服务时可能会遇到使用成本的问题如何解决
函数计算发布功能问题之用户在使用主流函数计算产品的日志服务时可能会遇到使用成本的问题如何解决
|
16天前
|
监控 Serverless 开发者
函数计算发布功能问题之查看函数的调用日志的问题如何解决
函数计算发布功能问题之查看函数的调用日志的问题如何解决
|
4月前
|
关系型数据库 Serverless 分布式数据库
PolarDB PostgreSQL版Serverless功能上线公测啦,公测期间免费使用!
Serverless数据库能够使得数据库集群资源随客户业务负载动态弹性扩缩,将客户从复杂的业务资源评估和运维工作中解放出来。PolarDB PostgreSQL版 Serverless提供了CPU、内存、存储、网络资源的实时弹性能力,构建计算与存储分离架构下的 PolarDB PostgreSQL版产品新形态。
|
2月前
|
存储 运维 Serverless
函数计算产品使用问题之如何规避因提高CPU规格而导致的内存规格不必要增加的问题
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
存储 关系型数据库 Serverless
PolarDB产品使用问题之开启Serverless功能后如何设置资源的扩缩范围
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3月前
|
人工智能 运维 Serverless
函数计算产品使用问题之启动的实例是否有调用api接口停止功能
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
3月前
|
关系型数据库 Serverless 分布式数据库
PolarDB产品使用合集之开启serverless功能,在弹出回缩节点时,会造成用户端连接断开的情况,有什么办法解决
PolarDB是阿里云推出的一种云原生数据库服务,专为云设计,提供兼容MySQL、PostgreSQL的高性能、低成本、弹性可扩展的数据库解决方案,可以有效地管理和优化PolarDB实例,确保数据库服务的稳定、高效运行。以下是使用PolarDB产品的一些建议和最佳实践合集。

相关产品

  • 函数计算