早年,騰訊主要創(chuàng)辦人之一、前CTO張志東給騰訊寫下第一份商業(yè)計劃書時,為QQ定的第一個“五年計劃”是在線人數(shù)突破1萬。?
實際上,兩年內(nèi)這個數(shù)字就達到了100萬。?
QQ風靡了網(wǎng)絡社交的初創(chuàng)時代,締造無數(shù)奇跡,成為騰訊最龐大、最悠久、最復雜的業(yè)務之一,以至于我們很大程度上強化了“騰訊就是QQ,QQ就是騰訊”的概念。?

到后來,QQ除了業(yè)務上取得成功,也留下了大量支持后臺的計算設備——其中就包括20萬臺冰冷的服務器,分布在華南、華北、華東三大區(qū)域。這些年,QQ后臺服務依賴關系極為復雜。?
不過,騰訊云團隊近日宣布:社交業(yè)務包括QQ和空間的體量有近20萬臺服務器已經(jīng)全量上云,分布在3地的用戶全都遷到了云上,實現(xiàn)完整的QQ公有云上服務。?
是的,“開著火車換引擎”,騰訊做到了。?
業(yè)內(nèi)人士評價,這次自研上云的成功,一方面為騰訊云的進一步壯大打下堅實的基礎,另一方面,也為QQ自身的技術重生埋下伏筆。?
基于此,雷鋒網(wǎng)與4位騰訊老兵,對QQ上云的規(guī)劃、挑戰(zhàn)、流程進行了對話,以尋找到背后的邏輯。?
“自研上云”是最新技術戰(zhàn)略?
2018年9·30變革后,騰訊進行了“扎根消費互聯(lián)網(wǎng)、擁抱產(chǎn)業(yè)互聯(lián)網(wǎng)”戰(zhàn)略升級和提出了“科技向善”的新愿景,新成立的技術委員會,明確了“開源協(xié)同、自研上云”的公司技術戰(zhàn)略。?
開源協(xié)同是代碼開放、資源協(xié)同,自研上云就是技術協(xié)同的一種最終落地的形式,在公有云上協(xié)同應用。?
口號喊出來,就像是劍已出鞘。?
自研上云項目天然作為一種全公司的重大舉措要被支持,這個時候意味著全公司的資源(BG的資源)要全面擁抱騰訊云。?
騰訊公司運營管理部運營規(guī)劃負責人陳鐵鋼表示,不光騰訊云要增加一部分人力來支持自研業(yè)務,同時自研業(yè)務的人,也要主動把自己的人力放上去支持把騰訊云的業(yè)務做好,是一個合力。?
在這個技術戰(zhàn)略背景下,QQ加快速度往云上“遷徙”。?
陳鐵鋼在2007年加入騰訊,一直負責公司資源運營布局規(guī)劃、運營成本優(yōu)化和架構評審工作,參與并見證了騰訊服務器從2萬臺到100萬臺的規(guī)劃落地。
在騰訊服務器過百萬臺的歷史時刻,他參與了騰訊技術戰(zhàn)略升級的重大變革,即推動自研業(yè)務上云。?
QQ業(yè)務上云的挑戰(zhàn)與應對?
如果把QQ當做行進中的列車,那么云就是一個新的引擎。QQ本身在業(yè)務層面不可能換擋降速,所以作為引擎的基礎設施必須變!?
陳鐵鋼提到,在過去,騰訊云跟QQ等這種自研業(yè)務是完全割裂的兩個資源體系,自研業(yè)務用著一千臺自研的服務器或者十萬臺自研的服務器,云上業(yè)務支持20萬臺的服務器,兩邊是割裂的。?
QQ體量龐大,各系統(tǒng)間耦合非常強,這是一個非常大的難度。?
作為騰訊云運維中心總負責人,徐勇州說到一個細節(jié):2015年,騰訊云在上海建立了一個測試業(yè)務上云的沙箱,整個基礎設施都是騰訊本身的計算存儲及數(shù)據(jù)庫等能力。
QQ當時已經(jīng)嘗試把業(yè)務放進來測試,但當時沙箱沒有解決整個網(wǎng)絡互通的問題,導致方案進展放緩。?
2018年底-2019年初,集團的“自研上云”戰(zhàn)略明確之后,騰訊加大了在網(wǎng)絡互聯(lián)互通上的投入。與此同時,騰訊云的精力也由服務外部大客戶到加大對內(nèi)部自研業(yè)務的支持。?

值得注意的是,QQ上云工作不是一蹴而就,早幾年就已經(jīng)在做,比如前文提到的沙箱測試,QQ之所以成為自研上云的先行軍,與其準備度高分不開。?
徐勇州在2005年10月份加入騰訊,是QQ后臺的第一位專職業(yè)務運維,一直負責QQ的運維能力建設,經(jīng)歷了QQ從1000萬到2億最高同時在線的技術架構演進。
他表示,技術變革背景下,這個階段上云會體現(xiàn)出更大的一個價值,和過去砂箱的區(qū)別不是僅僅產(chǎn)品的有和無,還有就是服務和能力支持的一個問題。?
QQ即時通訊的特點,決定了用戶對QQ的實時性要求很高,怎樣合理灰度,做到用戶對上云過程零感知,是一座需要跨越的大山。?
“QQ這種業(yè)務是屬于海量的用戶互相訪問的過程,既不可預測,也沒法做一個良好規(guī)劃。QQ的訪問中,有大量臨時的UDP(用戶數(shù)據(jù)報協(xié)議)的訪問會建立起來,會帶來各方面對基礎的虛擬化和網(wǎng)絡、計算性能的挑戰(zhàn)?!?
說這話的是肖世廣,他是騰訊云原生架構總經(jīng)理,前QQ技術運營總監(jiān)。2008年進入騰訊,曾先后負責QQ、Qzone、騰訊視頻、QQ音樂、騰訊廣告、QQ農(nóng)牧場等互聯(lián)網(wǎng)產(chǎn)品的技術運營管理工作。?
他看到了無數(shù)的后端技術壓力,僅僅一個QQ群,就是原有技術需求幾百倍的放大。?
作為騰訊云服務器第一負責人,李力親歷了云服務器從0到1的過程。他表示,早期給QQ做優(yōu)化的時候,騰訊云更傾向于優(yōu)化數(shù)據(jù)的性能,因為QQ中大量臨時UDP出現(xiàn),會變成QQ上云之后一個比較小的性能瓶頸。?
但是這個非常小的性能瓶頸可能就會帶來成本急劇的增加——因為QQ的業(yè)務實在太大了。?
因此,面對QQ這種場景,騰訊云先嘗試做資源補充,研發(fā)團隊、虛擬化團隊花了很長時間在具體的細節(jié)方面做了很多工作,在軟件定義網(wǎng)絡的項目把這個問題解決掉,以一個非常合理的資源和成本滿足QQ的業(yè)務要求。?
據(jù)雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))了解,QQ后臺服務搬遷到云上部署,還面臨著安全問題(云上更容易被惡意入侵)、依賴問題(QQ后臺服務依賴關系復雜)、容災問題(云環(huán)境多地容災)、灰度問題(用戶零感知)。?
僅僅從容災方面來看,QQ上云需提前評估自研機房到云機房所需的帶寬。?
假如使用城市方案,專線帶寬應該跟現(xiàn)有的三地部署方案對齊。QQ核心系統(tǒng)大概需要幾十G的帶寬。若采用IDC方案,QQ里面有很多業(yè)務使用有狀態(tài)的尋址方式,把同城內(nèi)的機房全部打散訪問。?
因此,把廣州云當做深圳的IDC后,廣州云和深圳的專線穿越會增大。參考深圳內(nèi)部的IDC穿越帶寬,預計需要增加幾十G的帶寬。?
為此,開發(fā)者們評估了自研到云機房的帶寬:支持QQ幾大核心系統(tǒng)(接入、消息、狀態(tài)、資料、關系鏈、登錄)所需要的帶寬為N。而所有QQ基礎功能都遷移到云上,則至少需要2N的帶寬。
考慮到容災問題,實際上拉了兩條專線互備(防止專線被挖斷形成孤島),即為QQ上云專門搭建4N 的帶寬專線。?
這個項目為騰訊云和QQ都埋下了新伏筆?
“集團給我們明確了,不是為了上云而上云,其中有一條:QQ上云不能有額外的成本支出。”?
陳鐵剛表示,騰訊內(nèi)部對成本有著極致的要求。?

有20年歷史的QQ,成為騰訊內(nèi)部運營時間最長的業(yè)務。
一方面這幾年騰訊云給QQ提供云上資源支持,另一方面QQ原本很多服務器到了服務年限,大部分都被自然裁撤了,少量的可以置換到其他云下的業(yè)務使用。
如果為了上云而把所有的服務器一下子從自研搬到云上,這會是一個非常巨大的成本。?
現(xiàn)在,在3年上云的節(jié)奏下,騰訊云終于完成這項壯舉。
當然,這件事對QQ本身的技術價值也非常之大,比如全面擁抱DevOps,研發(fā)效率更高效;全面擁抱DevOps,研發(fā)效率更高效;徹底擁抱云原生,用云來滿足業(yè)務快速迭代,資源彈性伸縮的需求;主動與開源社區(qū)協(xié)同,貢獻更多的功能特性。?
在騰訊云走過全網(wǎng)服務器總數(shù)量突破100萬臺、帶寬峰值突破100T、前3季度營收突破100億的重要節(jié)點上,QQ全量上云,必將又是一個新的起點!(雷鋒網(wǎng))
相關文章:
深度對話騰訊云總裁邱躍鵬:中國第二大云廠商崛起的背后