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

news2024/11/26 4:20:10

作者:吴森梵(仰森)

在刚刚结束的 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元/(核秒) + 8GB0.0000127元/(GB秒) = 0.0006096元

  • 调整后:1.5核 6GB规格的函数,每秒费用是1.5核0.000127元/(核秒)+6GB0.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 两种规格,函数计算为每个实例提供 512 MB 的免费磁盘空间

在这里插入图片描述

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

在这里插入图片描述

实现技术揭秘

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

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

高密部署

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

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

在这里插入图片描述

调度优化

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

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

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

点击此处,直达函数计算!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/50416.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Pandas数据处理100例】(七十五):Pandas的where()函数使用方法

前言 大家好,我是阿光。 本专栏整理了《Pandas数据分析处理》,内包含了各种常见的数据处理,以及Pandas内置函数的使用方法,帮助我们快速便捷的处理表格数据。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPandas版本:1.3.5N…

线程篇(JAVA)

💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家一起进步成长💕 目录 线程(重点) 第一种线程的实现 第二种线程的实现 线程的执行原理 线程的生命周期 休眠 …

醇酰基转移酶基因对猕猴桃酯生物合成的作用

文章信息 题目:Alcohol acyl transferase genes at a high-flavor intensity locus contribute to ester biosynthesis in kiwifruit 刊名:Plant Physiology 作者:Edwige J F Souleyre et al. 单位:New Zealand Institute for…

工业互联网数据监测预警解决方案

一、工业互联网数据安全趋势 随着“云、大、物、移、智”等新一代信息技术与制造业的融合发展,数字化生产、网络化协同、个性化定制、服务化延伸等生产运营模式逐渐成为常态,工业互联网数据不断走向开放流动。但原本封闭在工业现场的数据上网上云会带来…

论互联网公司的盈利能力

这个月,互联网公司三季度财报基本披露完毕。其中的共同点是都开始降本增效,提升盈利能力(或者还在努力扭亏为盈)。互联网公司基本是面向C端消费者的,京东创始人刘强东曾提出一个贯穿消费行业的“十节甘蔗”理论&#x…

[附源码]计算机毕业设计springboot健身房预约平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【剧前爆米花--爪哇岛寻宝】面向对象的三大特性——封装、继承以及多态的详细剖析(中——多态)。

作者:困了电视剧 专栏:《JavaSE语法与底层详解》 文章分布:这是一篇关于Java面向对象三大特性——多态的文章,在本篇文章中我会分享多态的一些基础语法以及类在继承时代码的底层逻辑和执行顺序。 目录 多态的定义及实现条件 多态…

AWS动手实验 - 创建一个Web3网站

实验操作和录播 亚马逊云科技开发者社区 注意事项 按照操作手册进行即可,需要注意到的几个地方: 1:EC2 的 scale 可以不用设置为large那么高,small就够用了。 2:创建堆栈,是点击这个那个按钮&#xff0…

水土保持监测,无人机倾斜摄影该如何做?

水土监测在传统监测方法中存在着许多监测死角。近年来,随着无人机的普及,无人机倾斜摄影三维建模技术在水土保持领域发挥了巨大作用。 我国具有地形地貌范围广,地质情况复杂等特点,每年地质灾害造成很多人员伤亡和财产损失&#…

数商云SCM管理系统库存管理功能助力新能源汽车企业仓储管理更高效

在全球电动化浪潮下,新能源汽车近年来迎来快速发展,但同时,随之而来其面临的关键零部件供应链安全问题也愈来愈突出,新能源汽车供应链格局正在面临重塑,保障新能源汽车产业健康发展仍需持续发力。 随着国际形势突变&a…

Markdown基本语法

描述 Markdown 是一种轻量级的「标记语言」,可读、直观、学习成本低。 1. 强调 1.1 斜体(单*、单_) 例: *AlexYY* _AlexYY_ 效果: AlexYY AlexYY 1.2 加粗(双*、双_) 例: *Ale…

python常用代码总结2

1、列表的常规追加元素、追加列表操作 (1)列表追加多个元素,比如追加0-9 ls [] ls.extend(list(range(10)))ls Out[20]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] (2)列表追加多个相同的元素,比如追加10个0 ls1 [] for i in range(10):ls1.append(0)ls1 Ou…

如何通过链路追踪进行定时任务诊断

作者:千习 背景简介 什么是定时任务 定时任务是业务应用系统中存在定时周期性运行的业务逻辑。由于其运行于后端进程中往往存在执行状态和执行链路的不可见性《常见定时任务技术方案》。 https://developer.aliyun.com/article/882393 什么是链路追踪 随着分布式…

[附源码]计算机毕业设计springboot基于微信小程序的网络办公系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

zookeeper集群环境搭建及使用

文章目录前提条件下载解压配置文件集群配置测试常用命令前提条件 操作系统:CentOS7服务器:3台Java环境:JDK1.8。安装教程参考JDK1.8安装 下载 执行cd /usr/local进入安装的目录执行命令wget https://archive.apache.org/dist/zookeeper/zo…

ThreadPoolExecutor类是如何保证线程池正确运行的

ThreadPoolExecutor类中的重要属性 在ThreadPoolExecutor类中,存在几个非常重要的属性和方法,接下来,我们就介绍下这些重要的属性和方法。 ctl相关的属性 AtomicInteger类型的常量ctl是贯穿线程池整个生命周期的重要属性,它是一…

LRU Cache【理论讲解 + 代码实现】

LRU Cache📖1. 什么是LRU Cache📖2. 为什么需要LRU算法?📖3. LRU Cache的实现📖1. 什么是LRU Cache LRU是Least Recently Used的缩写,意思是最近最少使用. 它是一种Cache替换算法. 什么是Cache? 狭义的…

校园论坛(Java)—— 登录注册和用户信息模块

校园论坛(Java)—— 登录注册和用户信息模块 文章目录校园论坛(Java)—— 登录注册和用户信息模块1、写在前面2、系统结构设计2.1 各个页面之间的调用关系2.2. 登录注册模块各层的设计3、登录注册模块设计3.1 用户注册功能3.2 用户…

HighTec 工程配置详解

HighTec 工程配置详解 编译配置 构建配置管理器 管理器内,可以创建各种不同用途的配置项。例如用于生产工程的 ROM 配置,用于调试工程的 Debug 配置。对于每个配置,所设置的工程属性是单独分开的,互相之间没有影响。 打开构建配…

[附源码]计算机毕业设计springboot咖啡销售平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…