创新场景丨极致利用云资源,小红书技术降本之路

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: CPU利用率,已被小红书视为衡量企业云原生化达到行业领先水准的重要指标。

云栖战略参考 2023版头_副本.png

《云栖战略参考》由阿里云与钛媒体联合策划,呈现云计算与人工智能领域的最新技术战略观点与业务实践探索,希望这些内容能让您有所启发。

文 / 杨丽「钛媒体作者」

小红书一开始就决策业务长在云上,并跟随业务快速发展较早地实现云原生化架构改造。而作为云原生开发的事实标准——Kubernetes容器编排技术,使得企业应用开发和部署变得更易用、可靠,也因与云的结合,在小红书有长期实践。

2018年,小红书正式启动云原生实践,对所有的微服务进行容器化,并且部署在Kubernetes集群上。2020年,小红书针对离线业务进行容器化部署。2021年,小红书开始了Serverless的尝试,并且首先将一些在线、离线业务跑在Serverless上。2022年,小红书对容器能力进一步增强,搜推业务完成了容器化改造和Kubernetes的部署,同时,基于阿里云开源的Koordinator,实现了在线服务和离线音视频转码的混部。

追求技术降本和运维提效,一直以来是小红书基础架构优化的源动力。而伴随深度学习应用和实时数据需求的逼近,小红书面临更多新历史阶段的挑战。

云计算的原住民

“发现美好生活点滴”是小红书的追求。作为国内深受年轻人喜爱的生活分享社区,小红书上每月有超过2亿用户分享,每日新增笔记数量可达数百万条,每天有超百亿次的笔记曝光。QuestMobile数据显示,截至2023年9月,小红书月活1.99亿,同比增长20.2%。尤其在过去一年,平台用户日均时长同比增长5.5分钟。

围绕内容带来的“带货”模式,也进一步推动小红书电商业务的发展。2023年“双11”期间,小红书围绕买手电商推出“双11”电商直播扶持政策,其流量也攀升至阶段性小高峰。

这些其实都离不开小红书平台长期对内容和用户的精细化、多元化运营,通过核心的检索和推荐算法机制,将优质笔记、视频、小说等内容,与平台使用人群实现最优匹配。

小红书创始人毛文超曾阐述,“小红书首先是一家科技公司。聚焦生活方式必须用好推荐,才有机会为每一位用户度身定制一本最适合他的小红书,带他看大千世界的美好和身旁的精彩。”2015年,小红书就已经拥抱推荐算法,依靠算法来定义自己。

搜索,是小红书APP上用户进行信息检索的主要入口。用户检索方式多样,检索品类也非常细分和丰富,那么在检索过程中,对用户输入查询的正确理解,引导用户精确快速完成内容搜索,以及进一步结合用户意图的实时推荐至关重要。而每一次浏览、查询、召回、下单等动作,对应用架构的弹性、对底层计算的速度、对资源的利用率等都提出了巨大挑战。

小红书自诞生起将技术体系搭建在云上,可以说就是云计算的原住民。因而,小红书的云原生路径,是跟随业务场景对云基础架构提供的抽象能力需要而发展起来的。

在小红书高速发展初期,面对搜索、推荐、广告等大量应用机器学习模型的业务场景,云资源为小红书加快业务迭代提供了稳定、可靠的支撑。

进入第二阶段,随着小红书业务体量和用户量的高速增长,原先“有啥用啥”的云资源使用逻辑已经无法满足对成本和运维效率的考虑。小红书核心开始更加关注弹性,并通过多云、原生的技术栈,实现容器调度、混部能力,以提升自建的整体利用率,降低自身IT成本。

技术降本的秘密

过去,在容器技术成为主流应用之前,企业采用的多是大规格的虚拟机技术,即一个服务器上虚拟出多个虚机,每个虚机就相当于小型服务器,虚机之间的相互通信,需要内部安装对应的软件和应用。容器的出现,在屏蔽掉基础层复杂性问题的同时,却也带来了相当高的应用门槛。

小红书是国内少有的从一开始就基于Kubernetes构建统一基础架构的互联网企业。过去九年多,小红书也见证了Kubernetes一步步成为实施标准的全过程。如今,小红书的容器化率已经达到80%以上。
2023年1月,阿里云成为小红书第一大云资源供应商。小红书的搜索、广告、社区等在线业务场景,以及其他少量业务,开始相继规模化用上阿里云的产品及解决方案。

小红书与阿里云的合作,将这些虚拟机实现了微服务化或模块化拆分,希望以更加高效、弹性的架构使用云资源。“阿里云在解决性能瓶颈、内存访问带宽瓶颈上提供了很好的支撑。”小红书基础技术部负责人秉烛评价。

2022年4月,阿里云Koordinator项目的开源和功能演进,也让深度参与其中的社区成员小红书,在容器调度、混部实践方面产生了极大的效能改善。2023年4月,小红书在社区与阿里云ERM团队、ACK团队联合主导启动了YARN与K8s混部项目,同年8月,该方案在小红书内规模化落地。

2023年云栖大会期间,小红书技术团队分享了这一实践经验,核心解决的是“在线、离线业务场景融合下,如何提升对集群CPU的利用率”。

举个例子,有一些白天发生的业务需要高并发、高访问量的计算需求,还有一些业务需要长时间的线下数据分析、离线分析,可能单个CPU看不出计算资源的利用率不足,但当集群规模化后,这一问题就开始凸显。

小红书技术团队称,“在线服务资源使用量随着终端用户的使用习惯呈现稳定的潮汐现象,夜间CPU利用率极低,导致集群均值CPU利用率较低;业务保有大量的独占资源池,资源池割裂产生大量的资源碎片,拉低CPU利用率;业务为了稳定性考虑,会过量囤积资源,进一步拉低CPU利用率。”

在阿里云的协助下,小红书混部技术经历了四个阶段演进:闲置资源再利用、整机腾挪分时复用、常态混部、统一调度。

一,通过技术手段将集群中的闲置资源收集起来,分配给转码类业务场景使用;二,通过弹性能力(HPA),在凌晨业务低峰期按比例对在线业务缩容,腾挪空出整机,并将转码、训练等离线pod在该时段运行起来,起到利用率“填谷”的效果;三,平台持续推进业务大规模合池,将业务由独占池迁至平台托管的公共混部池,通过合池、资源超卖等技术手段,CPU分配率得到有效提升,同时通过建设更为细粒度的资源管理与调度能力来实现均值利用率提升的目标;四,混合云架构的统一调度来管理异构计算资源,并支持各类业务形态的工作负载调度能力。

截至目前,小红书混部能力覆盖数十万台机器规模,覆盖算力规模数百万核,支持数万规模在线、离线场景服务的资源调度。通过大规模容器混部的持续推进,小红书在资源成本效能上有显著改善。

在CPU利用率方面,在线混部集群天均CPU利用率提升至45%以上,部分集群天均CPU利用率可稳定提升至55%。在线集群CPU利用率提升8%-15%不等,部分存储集群利用率提升可达20%以上。

在资源成本方面,为小红书各类离线场景提供数百万核时的低成本算力。混部集群CPU分配率提升至125%以上,相较于独占资源池,资源碎片率明显下降。

“CPU利用率”,已被小红书视为衡量一家企业云原生化达到行业领先水准的重要指标。

AI时代,破除算力瓶颈

在2023云栖大会期间,小红书技术副总裁风笛在与钛媒体联席CEO、ITVALUE发起理事刘湘明的交流中提出一个看法,“随着越来越多的企业选择云原生架构,企业将更加专注自身业务,将基础设施放心地交给公有云。云原生也应适配企业自身业务规模。现阶段,小红书对公有云的诉求是能够支持超大体量的PaaS产品,这些PaaS是能够被集成、模块化的,否则双方会出现很多不兼容性的问题。”

可以看到,相较于传统行业、政企客户,互联网行业客户的一个最大特征是,倾向于开源或基于第三方服务并有能力自主改造。小红书云原生实践体现出了先进技术本身应有的价值:支撑核心业务运转环节,存在能够快速迭代,支持高并发、高可用的诉求。

不过,小红书由于没有自建机房,所有机器采购自云厂商,选择不同机型的决策很大程度上取决于能够采购到什么型号的机器。在此之前,云厂商提供的AI计算集群为小红书作了很好的资源保障和性能调优。2021年至2022年期间,小红书机器学习团队进行搜推模型的GPU化改造,以提升推理性能和效率。

阿里云为小红书就提供了单集群近8000节点的超大规模容器ACK托管服务,为小红书核心主站的搜推业务提供稳定高效的云原生基础设施,PAI Blade的推理优化方案也帮助小红书推理成本节约了30%,PAI图引擎等技术有效提升了推荐转化效果。基于PAI DeepRec数据读取加速和稀疏化异构计算,小红书的离线训练在成本不变的情况下,提升了2.6倍,训练I/O性能提升了10倍左右。

当下,AI时代的到来让各大企业都面临着对算力激增的需求和压力,小红书对超大规模AI算力以应对算法和数据的需求也变得愈发紧迫。如何在有限的资源内盘活存量算力资源?如何找到新的可行性方案?这也是小红书和阿里云要共同探索的新方向。

过去,云计算让小红书加速快跑。现在,小红书仍在持续构建面向未来的技术架构,云计算作为公司业务发展的最佳引擎,也在不断破除瓶颈。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
存储 运维 算法
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(3)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(3)
393 0
|
负载均衡
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(8)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(8)
111 0
|
存储 弹性计算 运维
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(6)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(6)
125 0
|
供应链 数据库 混合部署
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(5)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(5)
131 0
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(1)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(1)
383 0
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(2)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(2)
326 0
|
存储 负载均衡 监控
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(7)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(7)
137 0
|
弹性计算 监控 Kubernetes
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(9)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(9)
127 0
|
存储 弹性计算 运维
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(4)
《云上社交行业技术服务白皮书》——第四章 云上社交保障与服务案例——4.2 社交流量潮汐性——4.2.3 云上成本优化(4)
152 0
|
弹性计算 Prometheus Kubernetes
【腾讯云Finops Crane集训营】利用云原生成本优化项目实现降本增效泰裤辣~(二)
【腾讯云Finops Crane集训营】利用云原生成本优化项目实现降本增效泰裤辣~(二)
288 0