写点什么

资源成本降低 80%!Serverless 云函数的弹性架构实践

作者:Geek_2d6073
  • 2022-10-14
    湖北
  • 本文字数:1448 字

    阅读完需:约 5 分钟

服务上云已经是当下助力企业降本增效的主流方案,开发者不需要自建 IT 机房、购买服务器、存储设备和其他各种网络设备,只需评估自身业务所需的 TPS 值、数据存储量、网络带宽等,再根据这些需求,向云服务厂商购买对应算力和容量的云主机等资源。

日常中,很多业务存在波峰波谷的特性,如电商的活动促销、通勤出行的早晚高峰、游戏的晚高峰等,这些场景下业务请求量会急剧上升,为了确保该情况下业务不受损,服务所使用的云端资源就需要针对峰值进行配置。而业务峰值有可能只持续几分钟或者集中于个别时间段,这就使得峰值回落后会出现大量资源闲置的情况。

承载搜索能力的产品,亦存在上述的问题。

传统云服务架构,资源闲置率高

某搜索服务支持应用及应用内容的搜索,可通过多个入口进行搜索查询,数据覆盖面广(诸如:应用信息、搜索词、论坛帖文、视频、歌曲等)。其服务整个后台环境原先是基于云主机搭建,日均请求量 1 亿+,运行过程中存在明显的波峰波谷,相对,其业务痛点亦不可避免。

痛点 1:资源利用率低

以某天的函数请求量为例,服务的波峰数值约 16w,波谷约为 4w,访问量相差 4 倍。考虑到波峰的情况,其用于扩容的虚拟机资源需要匹配峰值并预先购买,待业务低谷时,已购的虚拟机资源就会大量闲置,利用率低。

痛点 2:弹性伸缩能力构建成本高

业务自主构建弹性伸缩能力涉及到云资源层、业务服务和数据的伸缩,构建和运维的人力资源成本比较高。此外,伸缩响应速度相对较长,一般都为秒级,在业务峰值时可能会出现部分请求无法正常响应,导致服务限流,影响用户体验。

Serverless 云函数,智能弹性伸缩

Serverless 云函数是事件驱动的函数计算平台,可以根据函数的实际流量进行弹性伸缩。使用云函数,开发者无需对服务器资源进行管理。该搜索服务所面临的痛点以及其波峰波谷的业务特性,与 Serverless 云函数的应用场景正好契合。由此,相关团队基于当前业务的传统架构,定制了迁移至 Serverless 架构的方案。



(图源华为开发者联盟)

此次改造,技术团队从适配云函数框架、流水线改造、功能和性能测试的验收,至后续灰度放量上线,在短短 1 个月内全部实现。而且,业务迁移至 Serverless 架构后,凭借资源池化、代码缓存等技术,降低了函数启动时延,实现秒级扩缩容

随着业务请求量的逐步上升,函数自动扩容,业务流量下降之后,函数自动缩容。如下图所示,很明显,函数 Pod 伸缩曲线和业务请求曲线一致。



(示例:函数请求量趋势图,图源华为开发者联盟)



(示例:改造后函数 Pod 数量趋势图,图源华为开发者联盟)

改造实践,资源成本降低 80%

该搜索服务原先采用增强型 C3 云服务器,根据业务流量,其一年总耗费约 70 万元。

迁移前,基于业务日常的请求量,借助资源拟合曲线和拟合方程,团队测算出能节约超过 40%的成本。那在改造完成后,无需关心使用的主机类型,业务直接部署在函数容器内,依托弹性伸缩的架构,资源成本究竟降低多少?

根据云函数的定价和计费规则,业务使用成本主要为函数调用次数和函数资源使用量。按照其日请求量 1 亿+计算,其 1 年的函数调用次数以及资源使用量的费用约 13 万元。



(数据来源:华为开发者联盟)

和采用云主机的方式相比,费用从近 70 万元下降至 13 万元,资源成本降低 80%以上 。(具体改造时间结合业务场景和使用案例预估)

实例验证,作为新一代的云服务形态,HUAWEI AppGallery Connect 的 Serverless 云函数服务,应用于传统服务云化改造,或新服务直接上云,降本效果显著。

极速弹性,支持高并发度和吞吐量,云函数的应用场景丰富,更多内容,可至 HUAWEI AppGallery Connect>我的项目>构建>云函数 进一步了解。

用户头像

Geek_2d6073

关注

还未添加个人签名 2021-12-22 加入

还未添加个人简介

评论

发布
暂无评论
资源成本降低80%!Serverless云函数的弹性架构实践_Geek_2d6073_InfoQ写作社区