沃爾瑪騰訊云 Serverless 應(yīng)用實(shí)踐,全力保障消費(fèi)者購物體驗(yàn)

深耕零售,沒有比中國更好的地方,也沒有比現(xiàn)在更好的時間。1996 年,國際零售巨頭沃爾瑪進(jìn)入中國,在深圳開設(shè)了第一家山姆會員商店。25 年后的今天,山姆會員商店擁有數(shù)百萬付費(fèi)會員,成為國內(nèi)遙遙領(lǐng)先的會員制商店。

當(dāng)位于深圳的山姆會員商店連續(xù)10余年成為沃爾瑪全球銷售第一的門店,沃爾瑪又一次亮出了優(yōu)秀的業(yè)績。為什么能夠在極度競爭的中國零售市場保持強(qiáng)勁增長?2020 年全球零售行業(yè)調(diào)研報告作出了如下總結(jié):在沃爾瑪,各種各樣的先進(jìn)技術(shù)被廣泛應(yīng)用以提高工作效率。沃爾瑪?shù)墓芾碚哒J(rèn)為,先進(jìn)的科技在零售市場將有助于沃爾瑪贏得競爭。
一、「顧客至上,服務(wù)第一」
騰訊云 Serverless 解決方案
顧客至上是零售行業(yè)的服務(wù)宗旨。但是消費(fèi)者對購物體驗(yàn)的要求越來越高,業(yè)務(wù)迭代速度越來越快。山姆會員商店要保持前瞻性,線上銷售渠道必須快速迭代創(chuàng)新,不斷為消費(fèi)者創(chuàng)造新的購物體驗(yàn)。

難點(diǎn)1:應(yīng)用發(fā)布頻率高
山姆會員商店業(yè)務(wù)迭代快、應(yīng)用發(fā)布頻率高,基本保持在一周一迭代。
難點(diǎn)2:保障用戶最佳體驗(yàn)
版本升級的基本要求是:對用戶無感知,在升級過程中應(yīng)用的無損發(fā)布。
難點(diǎn)3:資源消耗大
零售行業(yè)線上流量巨大,一個應(yīng)用可能需要上千臺服務(wù)器,采用藍(lán)綠部署時,如果在線上發(fā)布,需要再備份一千臺服務(wù)器,對資源消耗造成極大的損失。

(山姆會員商店藍(lán)綠發(fā)布架構(gòu)圖)
典型的開發(fā)流程從開發(fā)測試到集成測試,到預(yù)發(fā)測試,再到發(fā)布上線,每個研發(fā)階段都有對應(yīng)的環(huán)境做支撐,而每個環(huán)境都會消耗資源和成本,來保持服務(wù)在線。傳統(tǒng)的版本灰度發(fā)布模式面臨環(huán)境多、資源消耗多、成本高等困境。

(環(huán)境多、資源消耗大)
騰訊云山姆會員商店項(xiàng)目負(fù)責(zé)人李逸期在智慧零售深耕多年,從0到1搭建了山姆會員商店APP的技術(shù)架構(gòu)。秉承沃爾瑪公司用科技助力市場的戰(zhàn)略,李逸期對以賦能業(yè)務(wù)為目標(biāo)的技術(shù)創(chuàng)新,保持著極致化的追求。多種方案對比后,山姆會員商店選擇了騰訊云云函數(shù)SCF(Serverless Cloud Function)默認(rèn)別名灰度發(fā)布策略。
云函數(shù)SCF默認(rèn)別名灰度發(fā)布
默認(rèn)別名是配置云函數(shù)的$default(默認(rèn)流量)別名,別名中固定有2個云函數(shù)版本:一個為$latest版本,一個為最后一次函數(shù)發(fā)布的版本。部署時配置的traffic參數(shù)為$latest版本流量占比,默認(rèn)另一部分流量切到當(dāng)前云函數(shù)最后一次發(fā)布的版本。
每次上線一個新功能,執(zhí)行sls deploy會部署到$latest版本上。版本發(fā)布時先切部分流量在$latest版本上進(jìn)行觀察,穩(wěn)定后逐步將流量切到$latest版本。當(dāng)流量切到100%時,固化當(dāng)前版本,并將流量全部切到固化后的版本。

(云函數(shù)默認(rèn)別名灰度發(fā)布圖)
優(yōu)勢1:風(fēng)險控制保障用戶體驗(yàn)
首先,控制變更的風(fēng)險,一旦發(fā)現(xiàn)新版本有異常,隨時可以調(diào)整流量比例進(jìn)行回滾;其次,客戶端和云函數(shù)一起進(jìn)行灰度,即使需要做一些破壞性變更,例如協(xié)議變更時,也不用擔(dān)心線上版本是否兼容新的協(xié)議。
優(yōu)勢2:快速驗(yàn)證適應(yīng)高頻迭代
Serverless 模式下,環(huán)境隔離、可直接發(fā)布,提升高頻部署時的研發(fā)效率,適合做產(chǎn)品特性的快速驗(yàn)證。
優(yōu)勢3:彈性擴(kuò)縮容節(jié)約成本
Serverless 在沒有訪問量時自動縮容,可以極大節(jié)約部署多環(huán)境的成本。
當(dāng)遇到更加復(fù)雜的版本發(fā)布策略時,云函數(shù)自定義別名可以提供更靈活的版本切換方式。自定義別名的配置方式相對于默認(rèn)別名更復(fù)雜,適用于對灰度發(fā)布能力要求較高的業(yè)務(wù)場景。

(云函數(shù)自定義別名灰度發(fā)布圖)
二、零售電商場景中 Serverless 應(yīng)用
1.電商大促等波峰波谷型業(yè)務(wù)
每年雙11、618等電商大促期間,零售行業(yè)線上渠道面臨歷史級別的流量挑戰(zhàn),中大型電商平臺的峰值調(diào)用量可達(dá)上千萬/分鐘,面臨高于日常10-20倍的流量壓力。日常運(yùn)營活動中,例如精品秒殺、限時搶購等,電商平臺也同樣面臨大流量高并發(fā)、波峰波谷用戶流量明顯分化的典型場景。
云函數(shù)SCF提供彈性、可擴(kuò)展的基礎(chǔ)設(shè)施和護(hù)航服務(wù),幫助電商客戶把握業(yè)務(wù)增長的機(jī)遇,從容應(yīng)對挑戰(zhàn)。

(電商彈性大促架構(gòu)圖)
瞬時冷啟動
云函數(shù)SCF底層采用自研的輕量級虛擬化技術(shù),Micro Vm啟動時間短至90毫秒,函數(shù)冷啟動減低至200毫秒,并且支持上萬臺計(jì)算節(jié)點(diǎn)同時擴(kuò)容。
實(shí)時擴(kuò)縮容
基于函數(shù)請求實(shí)時計(jì)算的模式,動態(tài)的擴(kuò)縮函數(shù)實(shí)例,優(yōu)化函數(shù)冷啟動的體驗(yàn)問題,以及控制函數(shù)計(jì)算的資源成本。
預(yù)置并發(fā)
在秒殺、搶購等場景中,瞬間需要海量的計(jì)算資源。云函數(shù)預(yù)置并發(fā),可支持并發(fā)實(shí)例按配置預(yù)先啟動,提前“預(yù)熱”函數(shù),為業(yè)務(wù)高峰提前準(zhǔn)備計(jì)算資源,消除冷啟動、降低運(yùn)行環(huán)境初始化及業(yè)務(wù)代碼初始化引起的耗時。
2. 電商直播等 CPU 密集型業(yè)務(wù)
直播帶貨已成為線上零售平臺的標(biāo)配功能。電商直播中,需要專業(yè)、穩(wěn)定的直播推流、轉(zhuǎn)碼、分發(fā)、播放等服務(wù),滿足超低延遲、超高畫質(zhì)、超大并發(fā)訪問量的要求。在直播結(jié)束后,通常需要對回播視頻進(jìn)行處理,例如音視頻轉(zhuǎn)碼混流、回播視頻二次分發(fā)和存儲等。
相較于自建轉(zhuǎn)碼服務(wù)器,云函數(shù) SCF 無需考慮轉(zhuǎn)碼服務(wù)器閑置時間的利用效率、以及服務(wù)器運(yùn)維等問題。

(云函數(shù)電商直播方案)
平滑遷移快速上線
支持用戶自定義配置FFmpeg命令參數(shù)、以及部署自建FFmpeg,轉(zhuǎn)碼方式靈活,也可以便捷地從物理機(jī)、云主機(jī)或容器中移植到云函數(shù)。
解決算力瓶頸
大規(guī)格實(shí)例最高支持128GB/64C進(jìn)行4K高清視頻轉(zhuǎn)碼,結(jié)合資源彈性伸縮能力,有效保證轉(zhuǎn)碼效率。
按量計(jì)費(fèi)成本優(yōu)勢
視頻轉(zhuǎn)碼是高運(yùn)算負(fù)荷的CPU密集型業(yè)務(wù),需要對輸入的視頻流進(jìn)行全解碼、視頻過濾/圖像處理、并對輸出格式進(jìn)行全編碼。云函數(shù)的1毫秒粒度按用量計(jì)費(fèi),擁有顯著的成本優(yōu)勢。
3. 智能圖片處理等事件驅(qū)動型業(yè)務(wù)
在電商平臺上,每天都會有大量商品圖片的查詢請求和更新請求。高峰情況下,每天有千萬級甚至億級的圖片處理需求。傳統(tǒng)方案需要搭建一個在線服務(wù)器并部署 Web 應(yīng)用來進(jìn)行圖片處理,程序按照一定規(guī)則定時觸發(fā)事件。
在傳統(tǒng)方案中,主要有三個困擾:
1. 沒有請求時,空置率較高;
2. 需要專門維護(hù)一套運(yùn)行處理代碼;
3. 需要考慮并發(fā)和定時器的執(zhí)行方法,來保障圖片處理的及時性。
而在 Serverless 架構(gòu)中,云函數(shù)SCF提供圖片裁剪、增加水印等多種處理能力,滿足電商業(yè)務(wù)的圖片處理訴求。同時針對圖片處理、存儲的高可用要求,可以支持對象存儲的跨區(qū)域高可用部署。

(云函數(shù)圖像處理方案)
用戶僅需要在云函數(shù)SCF上設(shè)置觸發(fā)器+函數(shù),當(dāng)用戶把圖片上傳到對象存儲中,將會觸發(fā)函數(shù)代碼進(jìn)行圖片處理,并把圖片轉(zhuǎn)移到新的存儲桶中。整個過程,不需要搭建Web服務(wù)器,無需編寫觸發(fā)條件,也無需關(guān)注業(yè)務(wù)運(yùn)維。
“中國市場是充滿競爭的,但機(jī)遇也是巨大的。我們將持續(xù)保持技術(shù)的驅(qū)動力和領(lǐng)先性,以更高的質(zhì)量和更快的速度完成一次次的產(chǎn)品迭代,保障每一天的消費(fèi)者體驗(yàn)?!?br>
—— Jason Wang ,沃爾瑪中國 技術(shù)總監(jiān)


