天下網(wǎng)商記者 王安憶 黃天然
今年雙11,是考拉海購加入“阿里動物園”的第二年,其成績單備受外界關注。
加入阿里431天,考拉交出了一張漂亮的成績單:會員規(guī)模增長104%,刷新過往雙11紀錄。
很多人不知道,增長來之不易——2019年9月,考拉被阿里正式收購后,經(jīng)歷了一場“脫胎換骨”:數(shù)據(jù)庫應用架構重新設計、百萬級節(jié)點的容器集群大規(guī)模遷移、數(shù)據(jù)中心從杭州機房遷移到上千公里之外的張北、從基礎組件到中間件全面擁抱云原生……
2019年9月29日,阿里為考拉舉辦了入園儀式
在這一年里,黑卡會員們買買買的同時,考拉悄無聲息完成了一場數(shù)字基礎設施的徹底換血。
如今,全站業(yè)務全部平穩(wěn)過渡到阿里云后,考拉已棲息在一棵長在“云端”的參天大樹上。
一場大規(guī)模快速遷移
阿里收購史上,考拉體量不算最大,情況卻很特殊。
網(wǎng)易只出售了考拉的業(yè)務,卻沒有出售原本支撐考拉的數(shù)字軟硬件設施,比如物理機房、云端數(shù)據(jù)庫等均不在其中。
因此,收購完成之后,考拉核心數(shù)據(jù)勢必迎來一場大規(guī)模快速遷移。
根據(jù)阿里預定的計劃,從2019年9月6日到2020年3月31日,為“考拉入園”后的半年整合期,考拉需要完成所有數(shù)據(jù)遷移,且業(yè)務不停服,一年之內,考拉需要完成云原生的戰(zhàn)略升級。
焦灼的電商戰(zhàn)中,業(yè)務發(fā)展等不起,但這樣的速度,在阿里歷史上前所未有。
“原本的歷史數(shù)據(jù)和業(yè)務應用,就像是考拉的身體,現(xiàn)在我們需要給它換一個新的‘大腦’,重新連接起原本的數(shù)據(jù),但不能影響它正常活動。”阿里云資深架構師吳明比喻道:“要以最快速度和最低成本完成這一任務,考拉上云是最佳方案。”
吳明(左三)和阿里工程師們
這是一場與時間賽跑的遷移,阿里和考拉都出動了最出色的工程師。
然而,第一個問題就成了難關。
考拉數(shù)據(jù)遷移的目的地遠在河北省的張北數(shù)據(jù)中心,按照慣例,大規(guī)模數(shù)據(jù)遷移,都需要拉一根實體的網(wǎng)絡專線傳輸數(shù)據(jù),如果從杭州鋪設專線到河北,施工成本以千萬計,關鍵工程量還特別浩大,根本無法在半年里完成。
阿里工程師想到了一個好辦法——過渡時期,可以先將阿里云杭州數(shù)據(jù)中心做接入口,然后在云上做內部鏈路,云端跳轉之后,考拉只需從網(wǎng)易機房鋪設一條通到阿里云杭州數(shù)據(jù)中心的專線,就可以把數(shù)據(jù)遷移去張北。
張北數(shù)據(jù)中心機房
“最后只拉了5公里專線光纖,工期一周,還把原本幾千萬的成本壓縮到了幾千元。”考拉上云架構師伏見說。
很快,工程師們又遇到了新問題。
數(shù)據(jù)遷移要求打通阿里與網(wǎng)易的內網(wǎng),可是兩家公司的防火墻都很結實,根本無法同時訪問兩家的內網(wǎng)賬號。
阿里云為此孵化了一個新產(chǎn)品——為考拉量身定制了獨立的虛擬私有云(VPC),既可以讓兩家公司的網(wǎng)絡流暢互通,又能確保數(shù)據(jù)安全。
“這種全新的產(chǎn)品,原本開發(fā)周期需要一兩個月,但是為了讓考拉如期完成遷移,我們只花了一兩周就完成了開發(fā)。”吳明說。
“如果是線下機房,涉及到兩家公司的安全方案,很難實現(xiàn)這樣的模式,解決這一問題,也是得益于阿里云可以快速靈活配置VPC的能力。”伏見說。
2019年11月12日,阿里巴巴集團董事局主席兼CEO張勇來到寧波保稅區(qū)的考拉1號倉
網(wǎng)上協(xié)同挺過最關鍵時刻
今年1月底,考拉進入了緊張的數(shù)據(jù)遷移內測環(huán)節(jié)。
數(shù)據(jù)遷移一旦正式啟動,順利的話只需三四個小時,但要確保過程萬無一失,前期需要花幾個月測試和演練,從虛擬流量到真實流量,確保規(guī)避所有問題,才能正式啟動。
緊要關頭,疫情來了,600多位參與數(shù)據(jù)遷移的考拉工程師,春節(jié)之后被迫開始“云辦公”。
“年初五就有同事打電話問我,年后大家不能去公司怎么辦,要不要延遲數(shù)據(jù)遷移的時間?”伏見回憶。
伏見明白,一旦遷移推遲,考拉就會錯過今年第一波的3.8女神節(jié)大促,還要延長與網(wǎng)易機房的合約期限,導致成本上升。
大家在“云辦公”時,還不忘加油打氣
“‘云上協(xié)同’有困難,但遷移不能延遲,無論如何也要頂著壓力扛過去。”伏見說。
云辦公的時間里,伏見成了最忙碌的“電話接線員”,有時候同時要開三個會議,手機開一個,電腦同時開兩個。
其他工程師大抵如此,都是接入多個會議持續(xù)通話,以保持“云辦公”時集體操作的協(xié)調統(tǒng)一。
數(shù)百名工程師在云上協(xié)同,哪怕一個環(huán)節(jié)沒確認好或是信息理解不一致,就可能發(fā)生誤操作,導致遷移后的應用功能出現(xiàn)差錯。
2月29日晚,所有測試完畢,考拉全站遷移阿里數(shù)據(jù)中心進入最后的關鍵時刻。
當時尚未全面復工,原本燈火通明的阿里西溪園區(qū),大樓內空無一人。
將近凌晨12點,伏見與數(shù)據(jù)庫團隊和阿里云的兩位工程師來到園區(qū),在漆黑的夜里點亮了大樓里唯一一間辦公室。
他們負責在一線第一時間確認考拉數(shù)據(jù)遷移的執(zhí)行進度,而考拉其他工程師們,則分散在全國各地,同時加入這場大規(guī)模遷移操作,每個人都凝神屏息,默默等待著關鍵時刻的到來。
大家制作了自己表情包,在群里相互打氣
“當時非常緊張,遷移的操作列表,每一個都非常長,每一個操作步驟后的驗證步驟也非常長,需要很多同學配合做出精細化操作。一旦切到阿里云時出現(xiàn)差池,會對用戶體驗產(chǎn)生直接影響,我們的目標就是零故障,因此必須非常謹慎。”考拉測試質量團隊負責人林兮說。
辦公室里,伏見盯著大屏上的進度條一點點向前挪動,就像瞭望著一艘夜航巨輪,正在航道燈的引導下駛過暗礁險灘。
“其實演練過很多次,基本上不會出現(xiàn)問題。”伏見相信。3月1日凌晨3點40多分,進度條順利走完,數(shù)據(jù)遷移大功告成。
考拉團隊從阿里濱江園區(qū)搬到西溪園區(qū)前的留念
全站切換至阿里云后,考拉立刻進入驗證階段,一有問題,工程師們迅速跟進解決,1日當天,成功閉環(huán)98%以上的問題。
“那天,這個數(shù)據(jù)在群里同步時,大家都很嗨,這可以算是一次‘零故障’遷移了。”林兮說。
數(shù)據(jù)搬完家后,考拉立刻開始備戰(zhàn)3.8女神節(jié)大促,迎接考拉遷移上云后的首個流量洪峰。
考拉團隊總結會后的留影
經(jīng)過連續(xù)幾天的壓測和緊急擴容,3.8女神節(jié)當天,考拉的流量峰值,較2019年雙12增長了72%,而運行在云上的考拉如磐石般穩(wěn)穩(wěn)地扛住了流量峰值,而且成本比之前大幅度降低。
考拉各業(yè)務線也在當天被證明已100%打通,形成閉環(huán)。
直到大促結束,吳明團隊沒有接到伏見的緊急電話,沒有消息,就是最好的消息。
每年節(jié)省2000萬元成本
3月31日,考拉如期從網(wǎng)易機房下線,鋪設在網(wǎng)易和阿里之間的5公里光纖專線,在完成歷史使命后也順利拆除。
至此,考拉全面上云、快速入園的任務,獲得了里程碑式的成功。
圓滿完成第一階段目標后,考拉開始了全面的云原生之路。
過去,每到大促前夕,考拉都要提前幾個月打申請,臨時購買服務器擴容。
如今,借助阿里云的彈性計算,考拉可實現(xiàn)單日內的彈性收縮。
還有同城雙活數(shù)據(jù)中心,考拉過去一直想做。
在同個城市部署兩個數(shù)據(jù)中心的好處在于,可以在一個數(shù)據(jù)中心發(fā)生故障或災難的情況下,實現(xiàn)用戶的“故障無感知”。
考拉曾在2019年做過一套方案,發(fā)現(xiàn)建設這個能力需要8個月,成本高達上千萬元。
阿里早已嘗試過“同城雙活”、“異地雙活”、甚至“異地多活”,在阿里云原生產(chǎn)品天然多AZ容災能力下,考拉在一個月內就完成了“同城雙活”的能力建設,具備了多AZ容災能力。
“工作被‘搶’走了,我還挺高興的。”這是考拉運維工程師李斌的肺腑之言。
3.8女神節(jié)后,考拉用戶量大增,卻苦了運維的同學。
一直以來,考拉使用自建的ZooKeeper(分布式協(xié)調服務),一旦負載增大,某臺服務器宕機后,就會自動選舉新的服務器,這個過程中無法對外提供服務。
宕機伴隨的警報聲,可能發(fā)生在任何時間節(jié)點,李彬不止一次在凌晨恢復數(shù)據(jù),而且釘釘群里還有一線業(yè)務員“刷屏”式的催促。
伏見(左)
伏見發(fā)現(xiàn)阿里云有一套MSE(微服務引擎),相當一個全托管平臺,找阿里云問了兩句,對方工程師就拍著胸脯說,“沒問題的,以后的運維工作我們都包了。”
阿里云的資源彈性能力和自動化運維技術,預計為考拉每年節(jié)省成本近2000萬元,同時計算性能提升20%。考拉也不再設立專門的運維團隊。
“開箱即用”的云上產(chǎn)品,更像是一種共享經(jīng)濟,而且阿里云這些云產(chǎn)品經(jīng)過歷年雙11的打磨,解決過業(yè)界最難的問題場景和復雜度。
和阿里云一起吃第一個螃蟹
2019年9月到2020年3月31日,歸功于阿里云的成熟產(chǎn)品,“考拉遷云”順利完成,考拉基礎產(chǎn)品負責人玄圈對這一過程的評價是“穩(wěn)定”,但到了“考拉換樹”全面擁抱云原生時,阿里云一些“半定制”產(chǎn)品,卻帶來了一些新的挑戰(zhàn)。
吳明(左)和玄圈(右前)
在阿里云的PaaS層系統(tǒng)中,有一個名為ARMS(業(yè)務實時監(jiān)控服務)的中間件,可以通過實時監(jiān)控系統(tǒng)運行指標,評估系統(tǒng)健康狀態(tài)。
AMRS最大的優(yōu)點是改造成本低,一行代碼就能接入,原本的多數(shù)業(yè)務也不需要修改。但是ARMS也是個“考拉定制版”的產(chǎn)品,支持全鏈路壓測,上萬級節(jié)點體量的考拉,是第一個吃螃蟹的“自己人”。
第一次為伏見做ARMS介紹的人,是阿里云架構師涯海,兩人一見如故。
考拉第一次接入ARMS時,也沒出任何問題。
考拉團隊給涯海(左)送花以表感謝
然而,恰逢考拉“55大促”臨近,考拉將100多個應用上線ARMS,沒想到卻發(fā)生意外,顧客購物時偶發(fā)無法下單,反復出現(xiàn)“請重試”的提示。
伏見緊急回滾了百余個應用的版本后恢復。
5月,考拉團隊進行壓測
發(fā)生故障后,涯海立刻從西溪園區(qū)趕往濱江園區(qū),親自給考拉團隊道歉。沒想到考拉技術負責人朱靜波走過來安慰他,“這個主責算我們項目組的,歸伏見。”
沒想到,涯海后來趕去濱江的次數(shù)越來越多,尤其是“99大促”壓測,小問題聚集爆發(fā)。
壓測,就是把大促最高水位的壓力,持續(xù)不斷地在線上系統(tǒng)模擬。
好比一個人平時走200米沒有感覺,突然暴走2萬米,腎、肝、肺的問題都會在高壓下暴露出來。
涯海(右二)和考拉樣板間的同學們
在涯海和伏見看來,早點發(fā)現(xiàn)故障是好事。
雙方制定了作戰(zhàn)方案,例如從灰度環(huán)境再到線上環(huán)境,分多個批次上線等等。5個月,雙方共同解決了200多個問題,ARMS迭代升級50多個版本,終于走到了“老夫老妻”的狀態(tài)。
5月28日,考拉海購全面上云
10月,考拉在ARMS上的業(yè)務一切穩(wěn)定,“邊開飛機邊造引擎”的日子終于告一段落。
考拉也經(jīng)受了雙11大考
很快,考拉又迎來了今年天貓雙11的壓測,玄圈專門帶了幾個組長,跑去西溪園區(qū)1號樓7層備戰(zhàn)雙11的“光明頂”,聽著雙11技術大隊長霜波站在臺上指揮,“第一輪壓測的目標是什么,加多少流量……”
天貓雙11期間,考拉團隊的會議
考拉過去也做過雙11壓測,但玄圈發(fā)現(xiàn),阿里在壓測中的功能預演、時光機(雙11零點的流量)等功能從前都沒用過,“阿里是把雙11零點所有的可能性,都壓上來了,沒有十多年的實戰(zhàn)經(jīng)驗,不可能做到。”
10月21日,天貓雙11正式開啟,考拉也走進了李佳琦直播間,1秒賣出10萬張考拉黑卡。
緊接著是參與11月11日的大促,這也是考拉換樹后,第一次以會員電商的身份,參與阿里最大的項目。
11月11日零點剛過,天貓雙11的訂單峰值就達到58.3萬筆/秒,阿里云再次扛住全球最大規(guī)模流量洪峰。
阿里巴巴CTO程立表示,繼去年核心系統(tǒng)上云后,阿里巴巴進一步云原生化,將每萬筆峰值交易的IT成本降低了80%,這些核心技術也正通過阿里云向全社會開放。
今年雙11,云原生幫考拉減少了250臺服務器,節(jié)約成本約100萬/月,沉淀出一套落地實踐方案。
考拉在云上的研發(fā)效率也大幅提升,例如使用阿里云直播中心服務,考拉快速完成了海外直播服務從0到1的搭建。此外,“爬樹TV”、“Like社區(qū)”等新功能也相繼上線。
“阿里云能把集團內部的業(yè)務完全上云,本身就顯示出一種自信。”考拉技術負責人朱靜波認為,考拉雖是以樣板間身份在做嘗試,但云服務能力越來越完善,對考拉和外部企業(yè)的技術支持就會越好,“這本身就是一個相互成就的過程。”