深耕零售,沒有比中國(guó)更好的地方,也沒有比現(xiàn)在更好的時(shí)間。1996年,國(guó)際零售巨頭沃爾瑪進(jìn)入中國(guó),在深圳開設(shè)了第一家山姆會(huì)員商店。25年后的今天,山姆會(huì)員商店擁有數(shù)百萬付費(fèi)會(huì)員,成為國(guó)內(nèi)遙遙領(lǐng)先的會(huì)員制商店。
當(dāng)位于深圳的山姆會(huì)員商店連續(xù)10余年成為沃爾瑪全球銷售第一的門店,沃爾瑪又一次亮出了優(yōu)秀的業(yè)績(jī)。為什么能夠在極度競(jìng)爭(zhēng)的中國(guó)零售市場(chǎng)保持強(qiáng)勁增長(zhǎng)?2020年全球零售行業(yè)調(diào)研報(bào)告作出了如下總結(jié):在沃爾瑪,各種各樣的先進(jìn)技術(shù)被廣泛應(yīng)用以提高工作效率。沃爾瑪?shù)墓芾碚哒J(rèn)為,先進(jìn)的科技在零售市場(chǎng)將有助于沃爾瑪贏得競(jìng)爭(zhēng)。
01.
「顧客至上,服務(wù)第一」
騰訊云Serverless解決方案
顧客至上是零售行業(yè)的服務(wù)宗旨。但是消費(fèi)者對(duì)購(gòu)物體驗(yàn)的要求越來越高,業(yè)務(wù)迭代速度越來越快。山姆會(huì)員商店要保持前瞻性,線上銷售渠道必須快速迭代創(chuàng)新,不斷為消費(fèi)者創(chuàng)造新的購(gòu)物體驗(yàn)。
難點(diǎn)1:應(yīng)用發(fā)布頻率高
山姆會(huì)員商店業(yè)務(wù)迭代快、應(yīng)用發(fā)布頻率高,基本保持在一周一迭代。
難點(diǎn)2:保障用戶最佳體驗(yàn)
版本升級(jí)的基本要求是:對(duì)用戶無感知,在升級(jí)過程中應(yīng)用的無損發(fā)布。
難點(diǎn)3:資源消耗大
零售行業(yè)線上流量巨大,一個(gè)應(yīng)用可能需要上千臺(tái)服務(wù)器,采用藍(lán)綠部署時(shí),如果在線上發(fā)布,需要再備份一千臺(tái)服務(wù)器,對(duì)資源消耗造成極大的損失。
(山姆會(huì)員商店藍(lán)綠發(fā)布架構(gòu)圖)
典型的開發(fā)流程從開發(fā)測(cè)試到集成測(cè)試,到預(yù)發(fā)測(cè)試,再到發(fā)布上線,每個(gè)研發(fā)階段都有對(duì)應(yīng)的環(huán)境做支撐,而每個(gè)環(huán)境都會(huì)消耗資源和成本,來保持服務(wù)在線。傳統(tǒng)的版本灰度發(fā)布模式面臨環(huán)境多、資源消耗多、成本高等困境。
(環(huán)境多、資源消耗大)
騰訊云山姆會(huì)員商店項(xiàng)目負(fù)責(zé)人李逸期在智慧零售深耕多年,從0到1搭建了山姆會(huì)員商店APP的技術(shù)架構(gòu)。秉承沃爾瑪公司用科技助力市場(chǎng)的戰(zhàn)略,李逸期對(duì)以賦能業(yè)務(wù)為目標(biāo)的技術(shù)創(chuàng)新,保持著極致化的追求。多種方案對(duì)比后,山姆會(huì)員商店選擇了騰訊云云函數(shù)SCF(Serverless Cloud Function)默認(rèn)別名灰度發(fā)布策略。
云函數(shù)SCF默認(rèn)別名灰度發(fā)布
默認(rèn)別名是配置云函數(shù)的$default(默認(rèn)流量)別名,別名中固定有2個(gè)云函數(shù)版本:一個(gè)為$latest版本,一個(gè)為最后一次函數(shù)發(fā)布的版本。部署時(shí)配置的traffic參數(shù)為$latest版本流量占比,默認(rèn)另一部分流量切到當(dāng)前云函數(shù)最后一次發(fā)布的版本。
每次上線一個(gè)新功能,執(zhí)行sls deploy會(huì)部署到$latest版本上。版本發(fā)布時(shí)先切部分流量在$latest版本上進(jìn)行觀察,穩(wěn)定后逐步將流量切到$latest版本。當(dāng)流量切到100%時(shí),固化當(dāng)前版本,并將流量全部切到固化后的版本。
(云函數(shù)默認(rèn)別名灰度發(fā)布圖)
優(yōu)勢(shì)1:風(fēng)險(xiǎn)控制保障用戶體驗(yàn)
首先,控制變更的風(fēng)險(xiǎn),一旦發(fā)現(xiàn)新版本有異常,隨時(shí)可以調(diào)整流量比例進(jìn)行回滾;其次,客戶端和云函數(shù)一起進(jìn)行灰度,即使需要做一些破壞性變更,例如協(xié)議變更時(shí),也不用擔(dān)心線上版本是否兼容新的協(xié)議。
優(yōu)勢(shì)2:快速驗(yàn)證適應(yīng)高頻迭代
Serverless模式下,環(huán)境隔離、可直接發(fā)布,提升高頻部署時(shí)的研發(fā)效率,適合做產(chǎn)品特性的快速驗(yàn)證。
優(yōu)勢(shì)3:彈性擴(kuò)縮容節(jié)約成本
Serverless在沒有訪問量時(shí)自動(dòng)縮容,可以極大節(jié)約部署多環(huán)境的成本。
當(dāng)遇到更加復(fù)雜的版本發(fā)布策略時(shí),云函數(shù)自定義別名可以提供更靈活的版本切換方式。自定義別名的配置方式相對(duì)于默認(rèn)別名更復(fù)雜,適用于對(duì)灰度發(fā)布能力要求較高的業(yè)務(wù)場(chǎng)景。
(云函數(shù)自定義別名灰度發(fā)布圖)
02.
零售電商場(chǎng)景中Serverless應(yīng)用
1.電商大促等波峰波谷型業(yè)務(wù)
每年雙11、618等電商大促期間,零售行業(yè)線上渠道面臨歷史級(jí)別的流量挑戰(zhàn),中大型電商平臺(tái)的峰值調(diào)用量可達(dá)上千萬/分鐘,面臨高于日常10-20倍的流量壓力。日常運(yùn)營(yíng)活動(dòng)中,例如精品秒殺、限時(shí)搶購(gòu)等,電商平臺(tái)也同樣面臨大流量高并發(fā)、波峰波谷用戶流量明顯分化的典型場(chǎng)景。
云函數(shù)SCF提供彈性、可擴(kuò)展的基礎(chǔ)設(shè)施和護(hù)航服務(wù),幫助電商客戶把握業(yè)務(wù)增長(zhǎng)的機(jī)遇,從容應(yīng)對(duì)挑戰(zhàn)。
(電商彈性大促架構(gòu)圖)
·瞬時(shí)冷啟動(dòng)
云函數(shù)SCF底層采用自研的輕量級(jí)虛擬化技術(shù),Micro Vm啟動(dòng)時(shí)間短至90毫秒,函數(shù)冷啟動(dòng)減低至200毫秒,并且支持上萬臺(tái)計(jì)算節(jié)點(diǎn)同時(shí)擴(kuò)容。
·實(shí)時(shí)擴(kuò)縮容
基于函數(shù)請(qǐng)求實(shí)時(shí)計(jì)算的模式,動(dòng)態(tài)的擴(kuò)縮函數(shù)實(shí)例,優(yōu)化函數(shù)冷啟動(dòng)的體驗(yàn)問題,以及控制函數(shù)計(jì)算的資源成本。
·預(yù)置并發(fā)
在秒殺、搶購(gòu)等場(chǎng)景中,瞬間需要海量的計(jì)算資源。云函數(shù)預(yù)置并發(fā),可支持并發(fā)實(shí)例按配置預(yù)先啟動(dòng),提前“預(yù)熱”函數(shù),為業(yè)務(wù)高峰提前準(zhǔn)備計(jì)算資源,消除冷啟動(dòng)、降低運(yùn)行環(huán)境初始化及業(yè)務(wù)代碼初始化引起的耗時(shí)。
2.電商直播等CPU密集型業(yè)務(wù)
直播帶貨已成為線上零售平臺(tái)的標(biāo)配功能。電商直播中,需要專業(yè)、穩(wěn)定的直播推流、轉(zhuǎn)碼、分發(fā)、播放等服務(wù),滿足超低延遲、超高畫質(zhì)、超大并發(fā)訪問量的要求。在直播結(jié)束后,通常需要對(duì)回播視頻進(jìn)行處理,例如音視頻轉(zhuǎn)碼混流、回播視頻二次分發(fā)和存儲(chǔ)等。
相較于自建轉(zhuǎn)碼服務(wù)器,云函數(shù)SCF無需考慮轉(zhuǎn)碼服務(wù)器閑置時(shí)間的利用效率、以及服務(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)勢(shì)
視頻轉(zhuǎn)碼是高運(yùn)算負(fù)荷的CPU密集型業(yè)務(wù),需要對(duì)輸入的視頻流進(jìn)行全解碼、視頻過濾/圖像處理、并對(duì)輸出格式進(jìn)行全編碼。云函數(shù)的1毫秒粒度按用量計(jì)費(fèi),擁有顯著的成本優(yōu)勢(shì)。
3.智能圖片處理等事件驅(qū)動(dòng)型業(yè)務(wù)
在電商平臺(tái)上,每天都會(huì)有大量商品圖片的查詢請(qǐng)求和更新請(qǐng)求。高峰情況下,每天有千萬級(jí)甚至億級(jí)的圖片處理需求。傳統(tǒng)方案需要搭建一個(gè)在線服務(wù)器并部署Web應(yīng)用來進(jìn)行圖片處理,程序按照一定規(guī)則定時(shí)觸發(fā)事件。
在傳統(tǒng)方案中,主要有三個(gè)困擾:
1.沒有請(qǐng)求時(shí),空置率較高;
2.需要專門維護(hù)一套運(yùn)行處理代碼;
3.需要考慮并發(fā)和定時(shí)器的執(zhí)行方法,來保障圖片處理的及時(shí)性。
而在Serverless架構(gòu)中,云函數(shù)SCF提供圖片裁剪、增加水印等多種處理能力,滿足電商業(yè)務(wù)的圖片處理訴求。同時(shí)針對(duì)圖片處理、存儲(chǔ)的高可用要求,可以支持對(duì)象存儲(chǔ)的跨區(qū)域高可用部署。
(云函數(shù)圖像處理方案)
用戶僅需要在云函數(shù)SCF上設(shè)置觸發(fā)器+函數(shù),當(dāng)用戶把圖片上傳到對(duì)象存儲(chǔ)中,將會(huì)觸發(fā)函數(shù)代碼進(jìn)行圖片處理,并把圖片轉(zhuǎn)移到新的存儲(chǔ)桶中。整個(gè)過程,不需要搭建Web服務(wù)器,無需編寫觸發(fā)條件,也無需關(guān)注業(yè)務(wù)運(yùn)維。
“中國(guó)市場(chǎng)是充滿競(jìng)爭(zhēng)的,但機(jī)遇也是巨大的。我們將持續(xù)保持技術(shù)的驅(qū)動(dòng)力和領(lǐng)先性,以更高的質(zhì)量和更快的速度完成一次次的產(chǎn)品迭代,保障每一天的消費(fèi)者體驗(yàn)?!?/p>
——Jason Wang,沃爾瑪中國(guó)技術(shù)總監(jiān)
·GitHub:github.com/serverless
·官網(wǎng):cloud.tencent.com/product/serverless-catalog