樂高用Serverless應(yīng)對流量高峰
樂高,英文名LEGO,這家全球最大玩具公司,在數(shù)字化轉(zhuǎn)型路上也有它的「困惑時代」。
樂高直購顧客技術(shù)工程經(jīng)理Nicole Yip表示,與其他電子商務(wù)企業(yè)類似,新冠疫情的出現(xiàn)也將樂高的在線訂單流量推上歷史高點(diǎn)。Yip指出,“想象一下,如果后端系統(tǒng)規(guī)模受限、公司內(nèi)部又只能以整體方式調(diào)度設(shè)施資源,突如其來的峰值與同比流量增長必然要造成大麻煩。”
但有時候,這樣的麻煩就是會不期而遇。她回憶道,2017年樂高曾經(jīng)組織過一場備受矚目的銷售活動,當(dāng)時推出的是公司有史以來發(fā)布的尺寸最大的《星球大戰(zhàn)》千年隼號套裝。在發(fā)布當(dāng)天,樂高遭遇到巨大的峰值流量,后端服務(wù)明顯不堪重負(fù)。于是,失望的客戶們只能對著維護(hù)頁面捶胸頓足。
經(jīng)過排查,樂高的開發(fā)團(tuán)隊(duì)發(fā)現(xiàn)引發(fā)故障的罪魁禍?zhǔn)渍怯?jì)算銷售稅的這部分對應(yīng)功能。于是,運(yùn)營團(tuán)隊(duì)立即對快速達(dá)到處理極限的內(nèi)部稅收計(jì)算系統(tǒng)進(jìn)行了回調(diào)。Yip感慨道,“從那時候開始,我們就意識到樂高的業(yè)務(wù)正在快速增長,而本地系統(tǒng)已經(jīng)無法支撐起如此迅猛的發(fā)展腳步。”
經(jīng)過幾番考慮,樂高公司決定啟動云遷移計(jì)劃。
云探索之旅
在云資源的支持下,樂高得以專注于執(zhí)行業(yè)務(wù)邏輯,并將負(fù)載分發(fā)在多個serverless服務(wù)層當(dāng)中。Yip表示,“我們精心挑選的第三方云服務(wù)商負(fù)責(zé)對負(fù)載進(jìn)行批量處理,他們同時也提供支付功能及內(nèi)容管理系統(tǒng)等其他專業(yè)服務(wù)。”其中的每一層都在設(shè)計(jì)中充分考慮到自動化與獨(dú)立擴(kuò)展需求,能夠從容應(yīng)對不斷變化的流量態(tài)勢。
樂高的云探索之旅始于2018年,最先遷移的只有一項(xiàng)支撐性的銷售計(jì)稅服務(wù),之后又陸續(xù)遷移了三項(xiàng)其他后端處理服務(wù)。10 個月之后,樂高決定利用一套完全serverless平臺匹配現(xiàn)有本地功能,到這時新平臺已經(jīng)能夠處理等同于原有本地設(shè)施的流量與交易負(fù)載。她回憶道,serverless平臺的交易率與流量很快就超過了本地設(shè)施,而且之后的每個月都在刷新歷史紀(jì)錄。
樂高于2020年開始制定正式的云發(fā)展路線圖,不斷壯大的相關(guān)運(yùn)營團(tuán)隊(duì)并輔以這套剛剛上線幾個月的新平臺,有人向Yip提出了新問題,即如何應(yīng)對突然爆發(fā)的新冠疫情以及由此引發(fā)的消費(fèi)者行為變化。她也在思考,“我們能不能實(shí)現(xiàn)這一雄心勃勃的發(fā)展路線圖,將遠(yuǎn)程辦公的工程師數(shù)量翻上一番,同時始終維持平臺穩(wěn)定運(yùn)行?”事實(shí)給出了肯定的答案,流量也如預(yù)期般攀升至新的高點(diǎn)。Yip提到,樂高后來又將服務(wù)數(shù)量再次翻倍,用于應(yīng)對日益繁忙的在線銷售業(yè)務(wù)。
serverless提質(zhì)增效
過去一年半以來,樂高集團(tuán)還將團(tuán)隊(duì)中工程師的人數(shù)增加了兩倍,另外推出了36項(xiàng)新的serverless服務(wù)。Yip解釋道,“不斷壯大的團(tuán)隊(duì)意味著我們需要承擔(dān)更多以往由本地基礎(chǔ)設(shè)施團(tuán)隊(duì)集中處理的任務(wù)。而自動化,正是支持這支新團(tuán)隊(duì)及應(yīng)用工程師們,并將他們開發(fā)出的功能與服務(wù)投入生產(chǎn)流程的關(guān)鍵所在。”
樂高推進(jìn)業(yè)務(wù)轉(zhuǎn)型的終極目標(biāo),是將應(yīng)用工程師們培養(yǎng)成DevOps工程師,引導(dǎo)他們在生產(chǎn)的同時負(fù)責(zé)運(yùn)營自己的服務(wù)成果。為了向這個目標(biāo)堅(jiān)實(shí)邁進(jìn),樂高提出了一項(xiàng)新標(biāo)準(zhǔn),要求所有serverless服務(wù)都采用金絲雀軟件更新方法——即在廣泛發(fā)布正式版本之前,先部署一小部分服務(wù)器以供測試。Yip表示,serverless運(yùn)營還要求值班團(tuán)隊(duì)集中監(jiān)控各項(xiàng)關(guān)鍵高級指標(biāo),并根據(jù)不同服務(wù)的實(shí)際態(tài)勢設(shè)置默認(rèn)警報(bào)。
這相當(dāng)于給樂高的工程團(tuán)隊(duì)提供了一個起點(diǎn),幫助開發(fā)者學(xué)會監(jiān)控生產(chǎn)狀態(tài)下的服務(wù),由此檢測并快速應(yīng)對相關(guān)職能空間內(nèi)發(fā)生的問題。隨著團(tuán)隊(duì)的快速增長,不同工程師所擁有的實(shí)踐經(jīng)驗(yàn)也將有所區(qū)別,這就讓以往心領(lǐng)神會式的默契合作無法繼續(xù)滿足要求。為此,樂高為服務(wù)的部署及監(jiān)控推出了新的指南,幫助團(tuán)隊(duì)成員輕松獲得掌控權(quán)。
小結(jié)
展望未來,樂高集團(tuán)計(jì)劃為其他可靠性與性能支柱制定標(biāo)準(zhǔn),并努力提升指標(biāo)可見性。“我們希望以集中化方式統(tǒng)一展現(xiàn)工程師們所擁有的服務(wù)與各項(xiàng)服務(wù)的當(dāng)前運(yùn)行狀態(tài)。”Yip最后總結(jié)道。在這樣的高透明度、高運(yùn)作效能態(tài)勢之下,相信樂高還將創(chuàng)下更多令人印象深刻的新紀(jì)錄。

