《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 業(yè)界動態(tài) > 全面上云為什么這么難——騰訊「世紀工程」的反向解耦

全面上云為什么這么難——騰訊「世紀工程」的反向解耦

2022-06-21
作者: 胡喆
來源:雷峰網(wǎng)
關鍵詞: 騰訊 全面上云

  現(xiàn)實中的錨是用來固定船的,是為了讓船不至于飄走。

  騰訊技術體系,也要一個強大的錨,這個錨可以理解為騰訊技術體系的內(nèi)在價值究竟綁定在什么底座上,進而解釋這一體系發(fā)展的參照基準,甚至對外展示其未來價值和如何滿足產(chǎn)業(yè)預期。

  騰訊技術體系早期的錨,是錨定于某個超級產(chǎn)品上,就像早期的貝殼、金、銀等貨幣,它們有內(nèi)在價值,自身就是錨。

  這就好比以往,外界要評估騰訊的技術水平,往往就會去看微信的產(chǎn)品做到怎么樣,我們就會聽到很多觀點,比如,從微信的某某功能來看,騰訊的技術發(fā)展如何如何。

  目前,騰訊的技術價值在一定程度上仍是錨定超級產(chǎn)品的,但從騰訊未來的產(chǎn)業(yè)地位和技術發(fā)展需要來說,這絕非長久之計,因為產(chǎn)品是有興衰周期的,但技術卻可以越做越強,越積越厚。

  換言之,騰訊技術體系的錨,應該錨定于自己最前沿技術的含金量和流通率這兩個指標上,而縱觀整個騰訊的發(fā)展,沒有任何一個技術底座比云計算更適合擔當這個“錨定物”。

  而要加強這種錨定聯(lián)系,如果騰訊自身的自研業(yè)務都不能充分上云的話,在邏輯上顯然是不能自洽的,所以,我們看到了從9.30以來的這次“超級工程”。

  回落到現(xiàn)實層面,互聯(lián)網(wǎng)野蠻增長的時代早已過去,精益增長成為新的標準,降本增效要在每個局部較優(yōu)中求得全局最優(yōu)的解,也需要完成一次集體向云的遷移,這是騰訊前所未有的一次戰(zhàn)略級的技術穿透對齊,是騰訊內(nèi)部技術體系打通奇經(jīng)八脈、擁抱開源協(xié)同文化的大動作,是世界范圍內(nèi)也很難找到的超級工程、世紀工程,甚至可以上升到中國數(shù)字產(chǎn)業(yè)的競爭力的觀察窗層面。

  1

  騰訊“換錨”

  將近四年前的秋天,騰訊完成了自成立以來的第三次重大組織架構調(diào)整,史稱“930變革”。

  早在2017年年底,騰訊核心管理團隊便著手調(diào)研,試圖“診斷”自身,并且意圖進行騰訊公司史上的第三次組織架構變革。2018年9月30日,一封落款為“Pony(馬化騰)、Martin(劉熾平)和總辦全體”的郵件被發(fā)送到全體騰訊員工的郵箱中。

  在這封宣布變革的郵件中提到:將原來七大事業(yè)群調(diào)整為六大,新成立云與智慧產(chǎn)業(yè)事業(yè)群(CSIG)、平臺與內(nèi)容事業(yè)群(PCG)的同時,騰訊還成立技術委員會,打造具有騰訊特色的技術中臺。這也成為騰訊公司史上第三次架構調(diào)整。

  當時,媒體的更多關注點在于事業(yè)群層面的調(diào)整,對于技術委員會的成立,關注、解讀相對較少。

  在雷峰網(wǎng)多年對頭部企業(yè)的采訪中,“技術委員會”作為一個組織設置,絕大多數(shù)情況下都扮演著相當“虛”的角色,跟掌握著公司技術路線話語權的CTO不同,“技術委員會”大多是給即將榮退、或暫時無處安放的技術大牛的一個榮譽存在。

  但是,這一次和歷史有所不同,930后的技術委員會有兩個相當實在的任務。

  那就是啟動“開源協(xié)同”和“自研上云”的兩大戰(zhàn)略方向。

  開源協(xié)同比較好理解,此前,和所有“研發(fā)跟著業(yè)務走”的互聯(lián)網(wǎng)企業(yè)一樣,騰訊圍繞不同的業(yè)務形成了無數(shù)個典型的“煙囪式”業(yè)務架構,研發(fā)人員只為“自己這個煙囪”服務。

  這就導致,很多部門的代碼不開放,或者開發(fā)者缺乏寫文檔的動力,因為沒人看。但事實上,作為一個優(yōu)秀的組件,文檔、支持、社區(qū)都是非常重要的,沒有這些支持的話,很難把一個組件做到最優(yōu)。但是,在騰訊內(nèi)部無數(shù)次的重復造輪子的工作后,很多組件缺少文檔,研發(fā)力量支持力度不足,甚至出現(xiàn)了很多無人維護的“孤兒組件”。

  而開源協(xié)同則是希望實現(xiàn),至少在騰訊內(nèi)部,所有的開發(fā)團隊代碼都是開放的。這從理論上使得團隊與團隊協(xié)作更好,隨時可以去創(chuàng)建新分支,或者提交更豐富的特性功能,形成公司內(nèi)的開源代碼文化,創(chuàng)建更好的工程師氛圍。

  但是,如果大家研發(fā)所使用的工具、體系、目標、性質(zhì)都截然不同,代碼公開和開源協(xié)同的意義就變得有限,因為你即使看到了優(yōu)秀的源代碼,也無法借鑒、移植,應用到自己的業(yè)務場景中去。

  而要把這一切都統(tǒng)一協(xié)調(diào)起來,就必須讓開源和協(xié)同基于同一個底層架構之上,而歷史的巧合點就是,有且只有把騰訊的技術底座以公有云的模式進行了一次前所未有的“大一統(tǒng)”,才能讓開源協(xié)同的價值最大化。

  這就是騰訊技術體系大演進和騰訊云業(yè)務成長的風雨際會與歷史巧妙的暗合。

  當然,自研業(yè)務上云,并不僅僅是為了更有效的開源協(xié)同。

  在宏觀與微觀之間,騰訊全體系的“自研業(yè)務上云”,目的是基于公有云的研發(fā)模式,使用云上豐富的組件和服務,實現(xiàn)技術層面的降本增效;同時把內(nèi)部自研業(yè)務的優(yōu)秀工具和組件上云,對外開放,在云上做服務。最終,使得騰訊云業(yè)務可以在內(nèi)外部客戶的雙重驅(qū)動下,不斷迭代成為行業(yè)內(nèi)的領先水平。

  但是,從最大的宏觀層面,自研上云的核心,是重新錨定騰訊技術體系的價值。

  長期以來,騰訊“產(chǎn)品強”的口碑都是眾所周知的,但那是toC互聯(lián)網(wǎng)時代的美譽。在產(chǎn)業(yè)互聯(lián)網(wǎng)時代,騰訊急需在技術價值層面,為自己的業(yè)務能力找到一個“錨定物”。

  我們知道,現(xiàn)實中的錨是用來固定船的,是為了讓船不至于飄走。

  騰訊技術體系,也要一個強大的錨,這個錨可以理解為騰訊技術體系的內(nèi)在價值究竟綁定在什么底座上,進而解釋這一體系發(fā)展的參照基準,甚至對外展示其未來價值和如何滿足產(chǎn)業(yè)預期。

  騰訊技術體系并非沒有錨,但早期的錨,是錨定于某個超級產(chǎn)品上,就像早期的貝殼、金、銀等貨幣,它們有內(nèi)在價值,自身就是錨。

  這就好比以往,外界要評估騰訊的技術水平,往往就會去看微信的產(chǎn)品做到怎么樣,我們就會聽到很多觀點,比如,從微信的某某功能來看,騰訊的技術發(fā)展如何如何。

  目前,騰訊的技術價值在一定程度上仍是錨定超級產(chǎn)品的,但從騰訊未來的產(chǎn)業(yè)地位和技術發(fā)展需要來說,這絕非長久之計,因為產(chǎn)品是有興衰周期的,但技術卻可以越做越強,越積越厚。

  換言之,騰訊技術體系的錨,應該錨定于自己最前沿技術的含金量和流通率這兩個指標上,而縱觀整個騰訊的發(fā)展,沒有任何一個技術底座比云計算更適合擔當這個“錨定物”。

  而且,這個“錨”是一體兩用的。

  對內(nèi),為所有的業(yè)務發(fā)展找到根本遵循;對外,展示騰訊技術體系的能力尺度。

  還是拿貨幣來做比喻——在國際貿(mào)易中,想用來交換或者各國之間貿(mào)易,必須讓對方明確,你的貨幣,能夠買到什么,能買多少,它的價值如何衡量,這個衡量基礎的“物”,就可以稱之為貨幣的錨定物。

  而在未來,外界評估騰訊云的價值如何、功能如何、對業(yè)務發(fā)展的價值如何,都可以參看自研業(yè)務上云后的整體水平和運轉(zhuǎn)情況。

  簡單說,騰訊要以自研上云的成果,為騰訊產(chǎn)業(yè)互聯(lián)網(wǎng)的技術輸出作出信用背書。

  回落到現(xiàn)實層面,互聯(lián)網(wǎng)野蠻增長的時代早已過去,精益增長成為新的標準,降本增效要在每個局部較優(yōu)中求得全局最優(yōu)的解,也需要完成一次集體向云的遷移,這是騰訊前所未有的一次戰(zhàn)略級的技術穿透對齊,是騰訊內(nèi)部技術體系打通奇經(jīng)八脈、擁抱開源協(xié)同文化的大動作,是世界范圍內(nèi)也很難找到的超級工程、世紀工程,甚至可以上升到中國數(shù)字產(chǎn)業(yè)的競爭力的觀察窗的層面。

  更為重要的是,自研上云還有組織能力升級的附加值。

  騰訊這樣發(fā)展20多年的企業(yè),內(nèi)部業(yè)務在一定程度上也形成了“部門墻”效應。應該說,騰訊做了不少穿透部門墻的努力,但并不是每次都取得比較好的結(jié)果,這里面的原因是極其復雜的,很難用單一的歸因來解釋。

  但至少有一點是,原本分散的技術架構,使得部門墻的現(xiàn)象在技術層面也初見端倪,而自研業(yè)務上云,既有高層的壓力與安撫,也有執(zhí)行層的協(xié)作與博弈,但這些都客觀為騰訊迎來更開放的技術氛圍提供了條件。

  而最后不得不提及的是,自研業(yè)務上云,騰訊已經(jīng)不是第一家了。為了迎接產(chǎn)業(yè)互聯(lián)網(wǎng)時代更激烈的競爭,使得騰訊在未來更殘酷的競爭到來前的檔口上,更換更強大的引擎,恐怕除了自研上云這樣的超級工程,也再也沒有更合適的業(yè)務實踐機會了。

  這是一場只能贏,不能輸?shù)拈L期戰(zhàn)、整體戰(zhàn)。

  2

  自研上云的“三個關口”

  自研上云,就是把所有騰訊自研的業(yè)務的運行都放到云上去,你可以理解為一次“搬家”。

  但這次“搬家”并不是一次簡單的物理平移,也不是把家里的物品原封不動的從A處挪到B處。

  如果要找一個合適的比喻,它更像在太空中組建“天宮實驗室”,它既要把最核心的能力完好無損的進行一次漫長的遷移,同時又要使其在一個全新的環(huán)境中繼續(xù)安然運行,難度可謂前所未有的高。

  先拋一個結(jié)論,騰訊云副總裁徐勇州告訴雷峰網(wǎng):“自研上云之前,騰訊云整體的業(yè)務負載,也就是原來三年前大概是在30%的水平,但是今天,基于云原生帶來的調(diào)度以及遷移的能力,集群負載提升到45%,在離線業(yè)務混部集群的負載更是到了65%這樣一個相對比較高的水準??紤]到有一些冗余要求,業(yè)界做得好的、也就是美國的科技巨頭,在負載上大約是做到50%左右。

  所以可以得出結(jié)論,無論是從量的角度,還是質(zhì)的角度,騰訊自研業(yè)務在云端整體的資源負載率有了一個大幅提升,這對于企業(yè)來講是一個巨大的降本增效,是在運營效率上得到一個更極致的提升的過程?!?/p>

  然而,這樣一個過程卻是經(jīng)過了千辛萬苦。

  首先,自研上云,這里的云指的是公有云,因為公有云才是云計算行業(yè)發(fā)展的主流,而此前騰訊業(yè)務已經(jīng)有很多的自發(fā)上云,有的是基于公有云,有的是基于私有云或者混合云。

  這比在一張白紙上畫畫更難。

  其次,騰訊的很多業(yè)務不僅成熟,而且對穩(wěn)定性要求極高,比如微信業(yè)務,輕微的抖動都可能影響數(shù)億人的使用。

  雷峰網(wǎng)在長期采訪企業(yè)數(shù)字化轉(zhuǎn)型的過程中,對成熟業(yè)務模塊遷移難度的印象是極為深刻的,這并不能簡單的用“部門墻”或“怕麻煩”來解釋,而是一種真實的焦慮,這其實成為很多數(shù)字化程度已經(jīng)很高的企業(yè)上云中最大的阻礙,那就是害怕遷移帶來的風險,和對已有系統(tǒng)的信靠。

  最后,騰訊并不是一個非常軍事化氛圍的公司,雖然“自研上云”是公司層面的正式?jīng)Q策,而且有“技術委員會”作為組織保證,但在實際工作中,騰訊云的員工并不能僅僅依賴這些公司決策來推動工作,他們需要換位思考、需要在這個過程中動用更多“情商”,去琢磨上云業(yè)務單元的種種痛點、顧慮,然后再找出對方能接受的辦法。這是一個水滴石穿的過程,也是一次最好的如前述“打通技術體系的奇經(jīng)八脈”的過程。

  所以,這三個難關,其實也是騰訊云自我突破的三個階梯。

  3

  在大江大海里

  那么多的困難、那么多的挑戰(zhàn),騰訊仍要堅持自研上云,實在是因為價值太大了。

  用“大江大?!眮硇稳葸@次上云的規(guī)模,也毫不夸張。

  用騰訊云CTO王慧星的一句話說就是——在大江大海里調(diào)度資源,難度雖高,但騰挪的空間反而更大了。

  這個騰挪的空間,有兩層意思:一個是底層自研技術發(fā)揮作用的空間更大了,能倒推團隊去研發(fā)更先進的底層技術;另一個是資源利用率提升了,降本增效的成果顯著。

  首先是底層的自研技術。

  可以說,全球的云計算都是在當時的算力基礎設施上做起來的,包括當時的CPU、服務器、操作系統(tǒng)等。但當云計算的規(guī)模發(fā)展到一定階段,就產(chǎn)生了定制化軟硬件的需求,而且定制的越早,就越為后面的自主可控和資源利用率提升留出空間。因為自研的一定是高度符合實際需求的,而外購的再好、再定制化,也要受制于人。

  因此,包括騰訊這樣的大體量公司最終也都會走到定義硬件或者自研硬件的路子上去。

  王慧星提到,2014年前后,騰訊自己的工程師就提出來要自研服務器、智能網(wǎng)卡,彼時距離圖靈獎得主提出“計算架構在未來迎來黃金10年”這個著名觀點還有三年。而騰訊去推動云平臺的軟硬結(jié)合、研發(fā)云原生硬件也可以追溯到這個時候。一方面騰訊云在自研硬件上布局夠早,另一方面自研上云帶來的巨大業(yè)務體量,也反推了星星海服務器、智能網(wǎng)卡芯片、視頻編解碼芯片、AI推理芯片的誕生和應用。到自研上云后期,性價比極高的星星海服務器在云上的規(guī)?;瘧靡渤蔀榱藘?nèi)部業(yè)務上云的重要推動力。

  其次,是資源騰挪帶來的利用率提升。

  要在大江大海里把資源盤活,怎么調(diào)度就很重要。這里面也有不少故事。調(diào)度要看兩個層面,一個是基于什么調(diào)度,一個是用什么調(diào)度。

  從技術上來說,全球的云計算已經(jīng)進入云原生階段,其中的一個關鍵技術就是容器。在2019年初,騰訊就定下了最終所有業(yè)務都得完成容器化改造,打造云原生的基礎設施。而彼時大家爭論的點是:用什么調(diào)度,即這個容器的編排調(diào)度體系,到底是開放給各個BG各自去做調(diào)度?還是整個公司用一整套的調(diào)度平臺和服務?

  從行業(yè)里看,最流行的容器編排調(diào)度技術是K8S。雖然它是谷歌提出來的,但是它今天是社區(qū)上面一個非常優(yōu)秀的開源服務,騰訊云的團隊在這里面也做了非常多的工作,形成了成熟的產(chǎn)品叫TKE。但騰訊的各個BG其實很早就做了很多容器化的實踐。雖然不是基于K8S的,但在海量業(yè)務的打磨下,也早就自成體系,扛住了不少考驗。

  “當時,我們在這個事情上大家的討論還是挺多的。其實這個背后的核心還是局部最優(yōu)和整體最優(yōu)。使用TKE作為統(tǒng)一的調(diào)度引擎,是能實現(xiàn)整體最優(yōu)的。我們也是靠這樣的數(shù)據(jù)分析說服了總辦,也非常感謝盧山(騰訊公司高級執(zhí)行副總裁、技術工程事業(yè)群總裁)在這個地方大力的牽頭推動”,王慧星回憶說。

  為什么統(tǒng)一調(diào)度能實現(xiàn)整體最優(yōu)?其實原理說起來也很簡單:

  每個BG自己做調(diào)度,就相當于自建一個小池塘,按照安全運營的基本邏輯,這個池塘最少也要有20%的一個空余空間必須保留著。

  但是,因為騰訊的BG非常的多,如果搞20個小池塘,那每一個小池塘都得留著20%,最后留出來的空間那就是20乘以20%,這就是非常大的浪費。

  在一個小池塘,跟在一個大江大海里去做資源的搬遷和調(diào)度,肯定是大江大海的騰挪空間更大,因為更大了,所以反而更省了。

  在大江大海里騰挪資源,底層推動技術創(chuàng)新,往上提升資源利用率。這就是自研上云給騰訊帶來的一個很顯性價值。據(jù)騰訊披露,自研上云三年省了30億元。

  4

  內(nèi)外統(tǒng)一視角之下的自研上云

  讓雷峰網(wǎng)感觸頗深的,是騰訊云的自研上云伊始,就提出來一個要求——服務于內(nèi)外部客戶,要用統(tǒng)一標準來規(guī)范服務。

  這個“內(nèi)外部客戶統(tǒng)一性”,值得說說。

  有人或許認為,服務于內(nèi)部客戶或許溝通難度低一點。但在騰訊云的實踐中,這是不能區(qū)分的,或者,有時候內(nèi)部客戶反而“更刁鉆”。

  例如在支持全民K歌的海外版業(yè)務上云的過程中,使用了一段時間以后,全民K歌的技術人員直接扔給騰訊云TRTC(騰訊云實時音視頻業(yè)務)一份文檔,另附一行字:“你們自己看看數(shù)據(jù)比得過競品嗎?“

  這是真實的故事,當時全民K歌海外版(WeSing)上云后使用量一直不漲,騰訊云的員工去溝通,對方就直接丟過來一個很大的文檔,上面就是和競品的各種質(zhì)量對比。

  結(jié)論是——進房耗時沒有人家好、清晰度沒有人家高、秒開率也沒有人家高。

  TRTC就要分析,除了進房耗時這個指標,外部競品有誤導之嫌以外,秒開率、清晰度確實不如競品。

  某種程度上,云服務出海的技術復雜度高于本土,但技術先進性未必高于本土。

  在國內(nèi),運營商的基建水平很高,例如各個運營商都有很多的大buffer路由器,這些路由器上都有緩沖,當帶寬不夠的時候會增加延時抗拒丟包,但是,海外很多落后的國家或者偏遠地區(qū)用的設備還是上世紀90年代的設備,這些設備沒有緩存,遇到帶寬不夠的時候上來就丟包,沒有增加延時。所以當時把國內(nèi)的經(jīng)驗搬到海外給客戶用的時候就水土不服。

  騰訊云意識到這個問題后,針對海外網(wǎng)絡進行了非常多的細致優(yōu)化,再進行大的架構升級改造,最終實現(xiàn)TRTC在各方面指標全面做到業(yè)界領先。這些經(jīng)驗不僅為更廣泛領域的出海所用,也反哺了國內(nèi)的技術演進。

  另外,隨著全民K歌推出“合唱“功能,原有的延時300毫秒的標準,就不夠用了。因為,原來都是你唱一段我唱一段,所以延時300毫秒是沒有問題的。但實時合唱就是兩個人在一起同時唱一首歌,大家的聲音一定不能一前一后,要到80毫秒以內(nèi),人耳才感覺不出來。

  這對技術挑戰(zhàn)很大,TRTC的延時,是一個系統(tǒng)性問題,是從采集、編碼、傳輸再到播放渲染這一系列過程中產(chǎn)生了300毫秒的延遲。那么,要優(yōu)化就要從全鏈路上優(yōu)化,從每一個環(huán)節(jié)上找原因。甚至要精細到針對手機的不同操作系統(tǒng)版本,通過調(diào)用不同的API的方式,盡量降低延時。

  所以,TRTC的一個業(yè)務負責人很有感觸地說:“內(nèi)部客戶的業(yè)務指標檢測做得足夠好,因此提要求就有理有據(jù),這就帶給我們很大的壓力,為了‘生存’、為了應對自研業(yè)務的挑戰(zhàn),在這種極度打壓測試中,慢慢地產(chǎn)品就越做越好了”。

  5

  分頭突破 集中成長

  從全民K歌這個案例里,我們能看出來,自研上云的第二重價值,是很好地打磨了騰訊云的產(chǎn)品。

  騰訊業(yè)務線眾多,每個業(yè)務場景不同、痛點不同,所以一通跑下來,整個騰訊云都在提升。

  比如,如果粗略的劃分一下,自研上云的過程,可以分為從本地服務器遷移到云服務器,和業(yè)務的云原生化改造兩個階段,每個階段都充滿了挑戰(zhàn)。

  第一階段的絕對主角是CVM(云服務器),它是最核心、最基礎的云計算產(chǎn)品之一,也是騰訊自研業(yè)務上云的基礎大底座。

  簡單而言,CVM要支持大量原本本地化部署的業(yè)務完成主機上云,也就是從物理服務器到云服務器。

  而更進一步來說,CVM也是很多業(yè)務實現(xiàn)云原生上云的底層支持,例如我們后面會討論到的TKE和EKS等云原生容器服務,本質(zhì)上也是基于CVM構建。

  作為自研業(yè)務上云最早的支撐產(chǎn)品,也是自研業(yè)務上云中規(guī)模最大的產(chǎn)品,CVM承擔著建立自研業(yè)務團隊對云本身的信任的責任。

  但這個過程開局就不順利,2019年2月,首個自研上云可用區(qū)交付的時候,定的交付時間,是一個周五。但是CVM團隊一直搞到周五晚上一點鐘、兩點鐘還是沒有交付,等到搞完了,業(yè)務下班了,只能延期到下周一。

  首次交付就delay,此次事件被稱為“CVM團隊在支撐自研上云業(yè)務時的當頭一棒”,后來團隊比較高規(guī)格地復盤此次問題,引發(fā)了很大的震動。

  必須說,騰訊有超級產(chǎn)品和超級場景,這對云業(yè)務的成長有很大的好處,但也帶來了空前的挑戰(zhàn)。

  例如,本地部署的物理服務器,雖然遠沒有云來的靈活,但不存在虛擬化帶來單機性能損耗。

  因此性能上,騰訊自研業(yè)務特別是一些超級業(yè)務,對CVM有著極高的要求,比如微信、QQ等業(yè)務要求云服務器單機性能要相對物理服務器在8%以內(nèi)。

  而事實是,在2019年時,CVM僅僅能在不同場景下做到虛擬化開銷在15%左右,雖然已經(jīng)是當時的業(yè)界最佳水平,但與自研業(yè)務預期之間還有較大差距。

  在清晰的目標和強大的倒逼壓力下,CVM產(chǎn)品團隊在三個月時間內(nèi),結(jié)合業(yè)務性能測試結(jié)果,啟動云服務器性能優(yōu)化專項,重構網(wǎng)絡虛擬化、存儲虛擬化軟件,大幅優(yōu)化KVM性能。

  最后,他們做到了,虛擬機相比物理機性能損耗控制甚至在5%以內(nèi),并實現(xiàn)虛擬化性能損耗降低50%的技術突破。到現(xiàn)在,騰訊云的虛擬機相對于物理服務器的損耗已經(jīng)到0。

  而這個過程,就包含我們前述的,很早就通過自研軟硬件一體化來為系統(tǒng)架構突破提供騰挪空間,事實上,這次CVM的成功達陣,不是單純靠軟件優(yōu)化得到了,反而恰好是首創(chuàng)性的使用了硬件芯片加速,才實現(xiàn)網(wǎng)絡性能提700%,延時降低60%;存儲性能突破,IO性能提升300%,有效支撐了自研業(yè)務平滑上云。

  有時候,不得不嘆服,體量大、痛點多,固然是騰訊云的磨難,但的確也是云計算行業(yè)的福氣。

  王慧星就講過一個案例,他說,一般的服務器存儲出現(xiàn)問題,換塊硬盤就好了,最多不過換一臺物理機。但是由于騰訊云的業(yè)務密度非常大,所以一個存儲機柜可能有幾個P的存儲空間,一旦發(fā)生問題,T級的數(shù)據(jù)備份和P級的數(shù)據(jù)備份,完全不是一個數(shù)量級上的問題。

  但騰訊云的業(yè)務密度就是催生了這種怪獸級的P級存儲柜,而為了解決這些不可預知的硬件故障問題,倒逼騰訊云打造出了業(yè)界領先熱遷移熱升級技術,使得熱遷移成功率由70%提升到了98%,已經(jīng)接近極限。

  此外,為了優(yōu)化磁盤IO慢導致停機時間變長的問題,騰訊云在業(yè)界首創(chuàng)了停機階段內(nèi)存和磁盤單獨控制的思路,這已經(jīng)是系統(tǒng)架構底層的突破了,而這種突破使得停機時間從秒級減少到50ms,而這種“單獨控制”結(jié)合前面所說的熱遷移技術,使得MCA Recovery技術大規(guī)模落地,把服務器內(nèi)存故障率下降了50%,服務器可用性達到業(yè)界領先水平。

  說到這里,不得不提及的還有一個驗收環(huán)節(jié)。

  騰訊,或者說絕大多數(shù)有超級產(chǎn)品的企業(yè),都有一個特性,那就是規(guī)模越大,對可控性要求越高。

  比如,波音747的安全性理論上就是會比波音737更高。

  在推動自研上云的過程中,騰訊云計算產(chǎn)品策劃經(jīng)理劉潔欣就感到,業(yè)務體量越大的自研上云的業(yè)務,不管是對設備的性能監(jiān)控,還是日常使用的流程管理,都比其它體量相對沒那么大的業(yè)務更加嚴謹,準確的說,是要嚴謹很多。

  這體現(xiàn)在,騰訊云在給一些比較大的業(yè)務做交付時,即使是內(nèi)部,也會有非常詳細的驗收場景和流程。比如QQ里面也細分了非常多不同的場景,其中,春晚保障紅包的團隊的驗收標準,跟QQ提供基礎能力的團隊的驗收指標,又是不一樣的;而到了QQ群的場景,它又是以另一個標準來衡量,又換了一套更貼合于他們業(yè)務自身所定義的標準。

  這帶來的一個極大的好處就是,騰訊云每攻克一個大的業(yè)務“山頭”,就會沉淀出一整套針對更多的細分場景和性能場景不同的驗收要求,而這些也會沉淀下來,補充到騰訊云的交付體系中,久而久之,這個體系就天然十分嚴密。

  更多時候,騰訊云還需要擁抱前沿技術,才能滿足那些復雜和嚴密的要求。

  比如,騰訊云是國內(nèi)是首先采用KVM虛擬化技術的,一開始布局虛擬化平臺的時候,就選擇了Linux+KVM的技術方案。這在當時是激進的,也是有爭議的,畢竟當時業(yè)界主流的虛擬化技術是Xen。

  選擇KVM一方面是KVM在技術架構上有著更好的前景,能夠兼容主干Linux,另外一方面KVM社區(qū)很高的活躍度,正好也符合騰訊擁抱開源的技術思路。

  即便騰訊云在KVM上保持著行業(yè)領先性,但每個BG需要的交付和支撐都是不同的,要讓騰訊云一開始拿出的交付就滿足所有性能要求,基本不可能。因為開發(fā)者是無法通過窮舉用戶的使用行為來設計功能的,只能說沿用過去定義的幾個業(yè)界比較規(guī)范的指標去開發(fā)大略的功能,然后在業(yè)務交付中不斷完善,每次交付要處理的這些純“細節(jié)”問題都不會少于上百個,而這也能逐漸加強最終產(chǎn)品形態(tài)的完善。

  而在這個過程中,其實也充滿了博弈。

  聯(lián)合調(diào)優(yōu)、協(xié)同打造,固然是常見;但騰訊云也有一個堪稱難能的優(yōu)點——那就是它們不會因為對方是客戶,就放棄質(zhì)疑對方的權利。而這才是一種對技術負責的態(tài)度,也是非常有價值的。

  “被上云”的團隊,有自己的已有資源和經(jīng)得起考驗的技術,所以他們能直接說“你搞不定我就不用”。而騰訊云作為服務方,也會去質(zhì)疑和挑戰(zhàn)某些標準設置的是否合理,是否是最優(yōu)路線。正是在兩方都在求真、求極致,才能共同把事情做好,甚至打磨出新的產(chǎn)品復用到公有云。

  6

  云上生長

  前面我們已經(jīng)提到了,騰訊的上云不是簡單的將業(yè)務從物理機搬到云上虛擬機,盡管這個過程是自研上云的第一大階段。

  但這個階段的目的,恰好是為了幫助自研上云完成第二步的目標,即借助云原生,尤其是容器、微服務、DevOps的能力,構建面向未來的技術架構,打破部門墻和重復造輪子現(xiàn)象,通過內(nèi)部開源協(xié)同,加強基礎研發(fā),促成更多協(xié)作與創(chuàng)新,提高騰訊的技術資源利用效率。

  騰訊各大事業(yè)群(BG)在沒有上云之前,大多都有一套自己的容器平臺,有的基于自研技術,有的基于開源的K8S,但是大家的方向是一致的,就是看到云原生是未來的大勢所趨。

  因此,在上云的過程中,面臨的問題就是怎么上云,是直接上虛擬機,還是云原生,如果使用云原生的話,究竟要用哪個BG的技術,這里內(nèi)部展開了激烈的PK,當時也調(diào)研了很多的云原生技術,最終確定了以開源協(xié)同的方式,構建基于K8S的底層能力,在此之上,使用騰訊云TKE來構建每個BG自身的容器平臺。

  反過來先看一個結(jié)果——自研上云從2018年的930到現(xiàn)在已經(jīng)過了三年多時間,騰訊云自研業(yè)務整個規(guī)模已經(jīng)超過5000萬核心。

  更重要的是,騰訊實現(xiàn)了自研業(yè)務百分之百在云上生長,這是一個面向宏闊未來的最佳開局。

  前述中,我們講過Wesing這樣的業(yè)務的上云過程,但事實上,后期很多的業(yè)務使用,是直接在云上使用云的能力構建自己的服務,最典型的,就是騰訊會議。

  騰訊體系內(nèi),除了QQ和微信之外,誰是用最短時間達到億級用戶的,你的腦中可能浮現(xiàn)出無數(shù)產(chǎn)品,但你大概率想不到是這一款——騰訊會議。

  2020年1月23日,武漢宣布封城,全國在短短數(shù)日內(nèi)切入抗疫模式,僅僅在6天之后,騰訊會議的后臺資源已經(jīng)告急。

  畢竟,這是一個最初只為5萬DAU設計的、帶有一定試驗性質(zhì)的視頻會議產(chǎn)品,哪知道在幾天之內(nèi),就要承擔一個14億人的國度驟然增長的線上會議需求。

  這是一次前所未有的、集中的跨時空溝通需求對線上資源的“擠兌”——扛過擠兌的,自此會提升一個甚至幾個數(shù)量級,抗不過擠兌的,自然會在極化的競爭中被淘汰。

  如果是在傳統(tǒng)的IOE時代,這種幾何級數(shù)的增長是平臺級服務商最難抵御的,因為傳統(tǒng)系統(tǒng)的設計有一定的上限和下限的閾值限定,如果遇到需求突然放大,就必須擴容機房、添置服務器、增加帶寬,進行大量的線下作業(yè),而這其中消耗的時間可能短則幾日、多則一兩周。

  好就好在,騰訊會議基于云原生模式生于云,長于云的,于是,從當年的1月29日開始到2月6日,騰訊會議每天都在進行資源擴容,日均擴容云主機接近1.5萬臺,8天總共擴容超過10萬臺云主機,共涉及超百萬核的計算資源投入,這種無縫也無感的資源投入,只有云計算才可能做到。

  更重要的是,資源擴容還好說,架構的擴容才是最具有技術難度的。在傳統(tǒng)的數(shù)字化體系內(nèi),軟件的架構從萬級到億級,是需要經(jīng)過若干次徹底重寫的,而騰訊會議在短短兩個月時間內(nèi)快速擴容、調(diào)整架構,從一個支撐5萬日活的體系,變成一個能快速支撐超過千萬日活的體系,在產(chǎn)品孵化期只投了1.5個后臺開發(fā),花了兩個月時間就完成了整個騰訊會議的后臺體系搭建,這在過去也是不可想象的。

  而這一切的背后,核心技術可以用一個詞來概括,那就是“云原生“。在整體架構上,騰訊會議采用了容器化的云原生方案,真正做到彈性伸縮、自動擴容、異地容災備份、服務化治理。

  更重要的是,為了進一步降低云原生的應用難度,從前端的角度講,云原生一直在低代碼/零代碼化,以及不斷累計優(yōu)秀的組件和模塊,使得開發(fā)者不用太多的考慮基礎設施層的東西,比如存儲層、邏輯層、接入層等。

  簡言之,云原生的應用,甚至使得開發(fā)人員并不用擔心后臺的資源問題,而是完全聚焦于業(yè)務本身,之于如何用云,由于可以大量快速的使用基于云的基礎設施和組件,極大的降低了后端的開銷和開發(fā)。

  騰訊云原生的案例,雷峰網(wǎng)已經(jīng)收集過很多,但最經(jīng)典的還是這個——騰訊會議能撐過億級需求,可以說是騰訊云在2017年加速發(fā)展后,一系列基礎研發(fā)和基礎建設的一次總驗收。

  這次總驗收,也讓騰訊內(nèi)部經(jīng)過海量業(yè)務打磨的云產(chǎn)品、云技術和云服務開放給產(chǎn)業(yè),推動產(chǎn)業(yè)的數(shù)字化升級,助力實體經(jīng)濟全面發(fā)展。

  7

  結(jié)語 走向未來

  在深度了解騰訊自研上云的三年多歷程后,雷峰網(wǎng)的感受是,自研上云,并不是簡單讓業(yè)務把云用起來。

  有三點讓人感觸良多:

  第一,是騰訊少見的用一個點調(diào)動了全局。

  本質(zhì)上來說,自研上云這個過程,其實是集整個騰訊自研業(yè)務的全部技術能力,參與、幫助騰訊云的能力建設和打造,是一個少見的能夠通過一個技術底座,調(diào)動全公司之力參與的超級工程。

  比如K8S的技術,在內(nèi)部叫TKE,它不是騰訊云的一個部門自己去研發(fā),然后給騰訊所有的業(yè)務去使用,而是由全騰訊所有的K8S的團隊,通過開源協(xié)同的方式共建。一方面,業(yè)務自己用云的水平得以提升,另一方面,通過開源協(xié)同的方式建設這個能力。這個能力的增強和成本的下降,最終也會讓行業(yè)使用騰訊云的客戶得到這樣經(jīng)過反復打壓測試后提升的更成熟的云產(chǎn)品。

  第二,是全公司的技術團隊得到了一次很好的穿透對齊。

  穿透對齊是企業(yè)文化里常見的一個表述,但是,通常情況下的傳統(tǒng)對齊比較形式主義,往往是企業(yè)的創(chuàng)始人發(fā)一封全員信,或者全體員工被號召去讀一本書,都叫穿透對齊。

  像騰訊這樣體量的公司,穿透的難度是很大的。從這個角度上,CSIG和自研上云部門建立的協(xié)同機制,以及在這個機制下協(xié)同、對抗、相互質(zhì)疑的過程,會讓原本散作滿天星的騰訊技術人,能夠建立一種深厚的戰(zhàn)友情誼,同時也對云的應用有了更強的精神共識。

  而按照美國科學哲學家托馬斯·塞繆爾· 庫恩的名著《科學革命的結(jié)構》所闡述的那樣,一個主流范式(云原生)的應用,除了技術上的交叉疊加外,最重要看在什么程度上被承認為共識,而共識的滲透率決定了這個技術范式的影響力。

  毫無疑問,自研上云后的騰訊的整個技術文化,將產(chǎn)生巨大的變化,而其中之一是更深的共識。

  第三,當這種共創(chuàng)作為一種機制保留下來后,騰訊的組織結(jié)構也會發(fā)生微妙的變化,比如上云后組織架構和職能的變化,包括運維職責的變化;研發(fā)、測試和生產(chǎn)環(huán)境如何在混合云中共存;資源預核算的變化;故障處理流程的變化等,整個技術體系的組織都要準備跟著公有云轉(zhuǎn)變。

  組織架構的變化也會帶動三重價值。

  第一是業(yè)務價值,業(yè)務的研發(fā)效率會更高,從0到1開發(fā)一個新產(chǎn)品的時間大大縮短;研發(fā)團隊不需要從0開始開發(fā)各種組件和工具,可以更專注業(yè)務研發(fā)。

  第二是工程師價值,工程師可以使用到整個業(yè)界最標準化的服務,基于公有云的研發(fā)模式,能夠離開封閉的開發(fā)環(huán)境和組件,讓自己對外、甚至對整個世界輸出,這無疑給了工程師更多的獲得感。

  第三是客戶價值,可以給行業(yè)輸出非常多的公有云的經(jīng)驗,讓客戶用到更好的云,推動整個國內(nèi)數(shù)字化水平的提升。

  2017年3月,計算機架構領域兩位巨星級人物David Patterson與John Hennessy在斯坦福大學發(fā)表演時預言——計算機體系結(jié)構將迎來一個新的黃金時代!

  因此,超級場景產(chǎn)生超級云——騰訊自研上云的核心價值是讓騰訊龐大的業(yè)務場景變成驅(qū)動騰訊云技術進化的新動能,最后產(chǎn)生世界級的云創(chuàng)新,建立屬于自己的計算科學體系架構。

  這一天,在走向未來中漸漸到來。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者。如涉及作品內(nèi)容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。