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

