楊麗
小紅書一開始就決策業(yè)務(wù)長(zhǎng)在云上,并跟隨業(yè)務(wù)快速發(fā)展較早地實(shí)現(xiàn)云原生化架構(gòu)改造。而作為云原生開發(fā)的事實(shí)標(biāo)準(zhǔn)——Kubernetes容器編排技術(shù),使得企業(yè)應(yīng)用開發(fā)和部署變得更易用、可靠,也因與云的結(jié)合,在小紅書有長(zhǎng)期實(shí)踐。
2018年,小紅書正式啟動(dòng)云原生實(shí)踐,對(duì)所有的微服務(wù)進(jìn)行容器化,并且部署在Kubernetes集群上。2020年,小紅書針對(duì)離線業(yè)務(wù)進(jìn)行容器化部署。2021年,小紅書開始了Serverless的嘗試,并且首先將一些在線、離線業(yè)務(wù)跑在Serverless上。2022年,小紅書對(duì)容器能力進(jìn)一步增強(qiáng),搜推業(yè)務(wù)完成了容器化改造和Kubernetes的部署,同時(shí),基于阿里云開源的Koordinator,實(shí)現(xiàn)了在線服務(wù)和離線音視頻轉(zhuǎn)碼的混部。
追求技術(shù)降本和運(yùn)維提效,一直以來(lái)是小紅書基礎(chǔ)架構(gòu)優(yōu)化的源動(dòng)力。而伴隨深度學(xué)習(xí)應(yīng)用和實(shí)時(shí)數(shù)據(jù)需求的逼近,小紅書面臨更多新歷史階段的挑戰(zhàn)。
云計(jì)算的原住民
“發(fā)現(xiàn)美好生活點(diǎn)滴”是小紅書的追求。作為國(guó)內(nèi)深受年輕人喜愛的生活分享社區(qū),小紅書上每月有超過(guò)2億用戶分享,每日新增筆記數(shù)量可達(dá)數(shù)百萬(wàn)條,每天有超百億次的筆記曝光。QuestMobile數(shù)據(jù)顯示,截至2023年9月,小紅書月活1.99億,同比增長(zhǎng)20.2%。尤其在過(guò)去一年,平臺(tái)用戶日均時(shí)長(zhǎng)同比增長(zhǎng)5.5分鐘。
圍繞內(nèi)容帶來(lái)的“帶貨”模式,也進(jìn)一步推動(dòng)小紅書電商業(yè)務(wù)的發(fā)展。2023年“雙11”期間,小紅書圍繞買手電商推出“雙11”電商直播扶持政策,其流量也攀升至階段性小高峰。
這些其實(shí)都離不開小紅書平臺(tái)長(zhǎng)期對(duì)內(nèi)容和用戶的精細(xì)化、多元化運(yùn)營(yíng),通過(guò)核心的檢索和推薦算法機(jī)制,將優(yōu)質(zhì)筆記、視頻、小說(shuō)等內(nèi)容,與平臺(tái)使用人群實(shí)現(xiàn)最優(yōu)匹配。
小紅書創(chuàng)始人毛文超曾闡述,“小紅書首先是一家科技公司。聚焦生活方式必須用好推薦,才有機(jī)會(huì)為每一位用戶度身定制一本最適合他的小紅書,帶他看大千世界的美好和身旁的精彩?!?015年,小紅書就已經(jīng)擁抱推薦算法,依靠算法來(lái)定義自己。
搜索,是小紅書APP上用戶進(jìn)行信息檢索的主要入口。用戶檢索方式多樣,檢索品類也非常細(xì)分和豐富,那么在檢索過(guò)程中,對(duì)用戶輸入查詢的正確理解,引導(dǎo)用戶精確快速完成內(nèi)容搜索,以及進(jìn)一步結(jié)合用戶意圖的實(shí)時(shí)推薦至關(guān)重要。而每一次瀏覽、查詢、召回、下單等動(dòng)作,對(duì)應(yīng)用架構(gòu)的彈性、對(duì)底層計(jì)算的速度、對(duì)資源的利用率等都提出了巨大挑戰(zhàn)。
小紅書自誕生起將技術(shù)體系搭建在云上,可以說(shuō)就是云計(jì)算的原住民。因而,小紅書的云原生路徑,是跟隨業(yè)務(wù)場(chǎng)景對(duì)云基礎(chǔ)架構(gòu)提供的抽象能力需要而發(fā)展起來(lái)的。
在小紅書高速發(fā)展初期,面對(duì)搜索、推薦、廣告等大量應(yīng)用機(jī)器學(xué)習(xí)模型的業(yè)務(wù)場(chǎng)景,云資源為小紅書加快業(yè)務(wù)迭代提供了穩(wěn)定、可靠的支撐。
進(jìn)入第二階段,隨著小紅書業(yè)務(wù)體量和用戶量的高速增長(zhǎng),原先“有啥用啥”的云資源使用邏輯已經(jīng)無(wú)法滿足對(duì)成本和運(yùn)維效率的考慮。小紅書核心開始更加關(guān)注彈性,并通過(guò)多云、原生的技術(shù)棧,實(shí)現(xiàn)容器調(diào)度、混部能力,以提升自建的整體利用率,降低自身IT成本。
技術(shù)降本的秘密
過(guò)去,在容器技術(shù)成為主流應(yīng)用之前,企業(yè)采用的多是大規(guī)格的虛擬機(jī)技術(shù),即一個(gè)服務(wù)器上虛擬出多個(gè)虛機(jī),每個(gè)虛機(jī)就相當(dāng)于小型服務(wù)器,虛機(jī)之間的相互通信,需要內(nèi)部安裝對(duì)應(yīng)的軟件和應(yīng)用。容器的出現(xiàn),在屏蔽掉基礎(chǔ)層復(fù)雜性問(wèn)題的同時(shí),卻也帶來(lái)了相當(dāng)高的應(yīng)用門檻。
小紅書是國(guó)內(nèi)少有的從一開始就基于Kubernetes構(gòu)建統(tǒng)一基礎(chǔ)架構(gòu)的互聯(lián)網(wǎng)企業(yè)。過(guò)去九年多,小紅書也見證了Kubernetes一步步成為實(shí)施標(biāo)準(zhǔn)的全過(guò)程。如今,小紅書的容器化率已經(jīng)達(dá)到80%以上。
2023年1月,阿里云成為小紅書第一大云資源供應(yīng)商。小紅書的搜索、廣告、社區(qū)等在線業(yè)務(wù)場(chǎng)景,以及其他少量業(yè)務(wù),開始相繼規(guī)模化用上阿里云的產(chǎn)品及解決方案。
小紅書與阿里云的合作,將這些虛擬機(jī)實(shí)現(xiàn)了微服務(wù)化或模塊化拆分,希望以更加高效、彈性的架構(gòu)使用云資源?!鞍⒗镌圃诮鉀Q性能瓶頸、內(nèi)存訪問(wèn)帶寬瓶頸上提供了很好的支撐?!毙〖t書基礎(chǔ)技術(shù)部負(fù)責(zé)人秉燭評(píng)價(jià)。
2022年4月,阿里云Koordinator項(xiàng)目的開源和功能演進(jìn),也讓深度參與其中的社區(qū)成員小紅書,在容器調(diào)度、混部實(shí)踐方面產(chǎn)生了極大的效能改善。2023年4月,小紅書在社區(qū)與阿里云ERM團(tuán)隊(duì)、ACK團(tuán)隊(duì)聯(lián)合主導(dǎo)啟動(dòng)了YARN與K8s混部項(xiàng)目,同年8月,該方案在小紅書內(nèi)規(guī)?;涞?。
2023年云棲大會(huì)期間,小紅書技術(shù)團(tuán)隊(duì)分享了這一實(shí)踐經(jīng)驗(yàn),核心解決的是“在線、離線業(yè)務(wù)場(chǎng)景融合下,如何提升對(duì)集群CPU的利用率”。
舉個(gè)例子,有一些白天發(fā)生的業(yè)務(wù)需要高并發(fā)、高訪問(wèn)量的計(jì)算需求,還有一些業(yè)務(wù)需要長(zhǎng)時(shí)間的線下數(shù)據(jù)分析、離線分析,可能單個(gè)CPU看不出計(jì)算資源的利用率不足,但當(dāng)集群規(guī)模化后,這一問(wèn)題就開始凸顯。
小紅書技術(shù)團(tuán)隊(duì)稱,“在線服務(wù)資源使用量隨著終端用戶的使用習(xí)慣呈現(xiàn)穩(wěn)定的潮汐現(xiàn)象,夜間CPU利用率極低,導(dǎo)致集群均值CPU利用率較低;業(yè)務(wù)保有大量的獨(dú)占資源池,資源池割裂產(chǎn)生大量的資源碎片,拉低CPU利用率;業(yè)務(wù)為了穩(wěn)定性考慮,會(huì)過(guò)量囤積資源,進(jìn)一步拉低CPU利用率?!?/p>
在阿里云的協(xié)助下,小紅書混部技術(shù)經(jīng)歷了四個(gè)階段演進(jìn):閑置資源再利用、整機(jī)騰挪分時(shí)復(fù)用、常態(tài)混部、統(tǒng)一調(diào)度。
一,通過(guò)技術(shù)手段將集群中的閑置資源收集起來(lái),分配給轉(zhuǎn)碼類業(yè)務(wù)場(chǎng)景使用;二,通過(guò)彈性能力(HPA),在凌晨業(yè)務(wù)低峰期按比例對(duì)在線業(yè)務(wù)縮容,騰挪空出整機(jī),并將轉(zhuǎn)碼、訓(xùn)練等離線pod在該時(shí)段運(yùn)行起來(lái),起到利用率“填谷”的效果;三,平臺(tái)持續(xù)推進(jìn)業(yè)務(wù)大規(guī)模合池,將業(yè)務(wù)由獨(dú)占池遷至平臺(tái)托管的公共混部池,通過(guò)合池、資源超賣等技術(shù)手段,CPU分配率得到有效提升,同時(shí)通過(guò)建設(shè)更為細(xì)粒度的資源管理與調(diào)度能力來(lái)實(shí)現(xiàn)均值利用率提升的目標(biāo);四,混合云架構(gòu)的統(tǒng)一調(diào)度來(lái)管理異構(gòu)計(jì)算資源,并支持各類業(yè)務(wù)形態(tài)的工作負(fù)載調(diào)度能力。
截至目前,小紅書混部能力覆蓋數(shù)十萬(wàn)臺(tái)機(jī)器規(guī)模,覆蓋算力規(guī)模數(shù)百萬(wàn)核,支持?jǐn)?shù)萬(wàn)規(guī)模在線、離線場(chǎng)景服務(wù)的資源調(diào)度。通過(guò)大規(guī)模容器混部的持續(xù)推進(jìn),小紅書在資源成本效能上有顯著改善。
在CPU利用率方面,在線混部集群天均CPU利用率提升至45%以上,部分集群天均CPU利用率可穩(wěn)定提升至55%。在線集群CPU利用率提升8%-15%不等,部分存儲(chǔ)集群利用率提升可達(dá)20%以上。
在資源成本方面,為小紅書各類離線場(chǎng)景提供數(shù)百萬(wàn)核時(shí)的低成本算力。混部集群CPU分配率提升至125%以上,相較于獨(dú)占資源池,資源碎片率明顯下降。
“CPU利用率”,已被小紅書視為衡量一家企業(yè)云原生化達(dá)到行業(yè)領(lǐng)先水準(zhǔn)的重要指標(biāo)。
AI時(shí)代,破除算力瓶頸
在2023云棲大會(huì)期間,小紅書技術(shù)副總裁風(fēng)笛在與鈦媒體聯(lián)席CEO、ITVALUE發(fā)起理事劉湘明的交流中提出一個(gè)看法,“隨著越來(lái)越多的企業(yè)選擇云原生架構(gòu),企業(yè)將更加專注自身業(yè)務(wù),將基礎(chǔ)設(shè)施放心地交給公有云。云原生也應(yīng)適配企業(yè)自身業(yè)務(wù)規(guī)模?,F(xiàn)階段,小紅書對(duì)公有云的訴求是能夠支持超大體量的PaaS產(chǎn)品,這些PaaS是能夠被集成、模塊化的,否則雙方會(huì)出現(xiàn)很多不兼容性的問(wèn)題?!?/p>
可以看到,相較于傳統(tǒng)行業(yè)、政企客戶,互聯(lián)網(wǎng)行業(yè)客戶的一個(gè)最大特征是,傾向于開源或基于第三方服務(wù)并有能力自主改造。小紅書云原生實(shí)踐體現(xiàn)出了先進(jìn)技術(shù)本身應(yīng)有的價(jià)值:支撐核心業(yè)務(wù)運(yùn)轉(zhuǎn)環(huán)節(jié),存在能夠快速迭代,支持高并發(fā)、高可用的訴求。
不過(guò),小紅書由于沒(méi)有自建機(jī)房,所有機(jī)器采購(gòu)自云廠商,選擇不同機(jī)型的決策很大程度上取決于能夠采購(gòu)到什么型號(hào)的機(jī)器。在此之前,云廠商提供的AI計(jì)算集群為小紅書作了很好的資源保障和性能調(diào)優(yōu)。2021年至2022年期間,小紅書機(jī)器學(xué)習(xí)團(tuán)隊(duì)進(jìn)行搜推模型的GPU化改造,以提升推理性能和效率。
阿里云為小紅書就提供了單集群近8000節(jié)點(diǎn)的超大規(guī)模容器ACK托管服務(wù),為小紅書核心主站的搜推業(yè)務(wù)提供穩(wěn)定高效的云原生基礎(chǔ)設(shè)施,PAI Blade的推理優(yōu)化方案也幫助小紅書推理成本節(jié)約了30%,PAI圖引擎等技術(shù)有效提升了推薦轉(zhuǎn)化效果?;赑AI DeepRec數(shù)據(jù)讀取加速和稀疏化異構(gòu)計(jì)算,小紅書的離線訓(xùn)練在成本不變的情況下,提升了2.6倍,訓(xùn)練I/O性能提升了10倍左右。
當(dāng)下,AI時(shí)代的到來(lái)讓各大企業(yè)都面臨著對(duì)算力激增的需求和壓力,小紅書對(duì)超大規(guī)模AI算力以應(yīng)對(duì)算法和數(shù)據(jù)的需求也變得愈發(fā)緊迫。如何在有限的資源內(nèi)盤活存量算力資源?如何找到新的可行性方案?這也是小紅書和阿里云要共同探索的新方向。
過(guò)去,云計(jì)算讓小紅書加速快跑?,F(xiàn)在,小紅書仍在持續(xù)構(gòu)建面向未來(lái)的技術(shù)架構(gòu),云計(jì)算作為公司業(yè)務(wù)發(fā)展的最佳引擎,也在不斷破除瓶頸。(來(lái)源:鈦媒體)