本文摘自《雲栖戰略參考》,這本刊物由阿裏雲與钛媒體聯合策劃。目的是爲了把各個行業先行者的技術探索、業務實踐呈現出來,與思考同樣問題的 " 數字先行者 " 共同探讨、碰撞,希望這些内容能讓你有所啓發。
小紅書一開始就決策業務長在雲上,并跟随業務快速發展較早地實現雲原生化架構改造。而作爲雲原生開發的事實标準—— 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 算力以應對算法和數據的需求也變得愈發緊迫。如何在有限的資源内盤活存量算力資源 ? 如何找到新的可行性方案 ? 這也是小紅書和阿裏雲要共同探索的新方向。
過去,雲計算讓小紅書加速快跑。現在,小紅書仍在持續構建面向未來的技術架構,雲計算作爲公司業務發展的最佳引擎,也在不斷破除瓶頸。
本文摘自《雲栖戰略參考》總第 15 期
掃碼限時申領紙質版
↓↓