搜狐運維總監(jiān)黎志剛:暢游運維自動化探索之旅
原創(chuàng)【51CTO記者 謝海平 北京報道】云計算的出現(xiàn)抹殺掉了一切基礎(chǔ)性工作,這使運維行業(yè)感受到了前所未有的沖擊、威脅和變化。“智能運維、數(shù)字運維、No-Ops…”,一時間,各種創(chuàng)新運維模式不斷涌現(xiàn)。這些是否只是概念?
黎志剛,本次WOTA2017全球架構(gòu)與運維峰會分享嘉賓。搜狐暢游系統(tǒng)運維中心總監(jiān),游戲行業(yè)近十年技術(shù)管理經(jīng)驗。2008年加入暢游天下,現(xiàn)任系統(tǒng)運維中心總監(jiān)及項目管理部經(jīng)理、打造百萬用戶在線游戲技術(shù)運維平臺。 近年來,致力于建設(shè)一流的游戲技術(shù)團(tuán)隊,負(fù)責(zé)全面管理運維工作,包括IDC/網(wǎng)絡(luò)/硬件規(guī)劃管理、系統(tǒng)運維、數(shù)據(jù)庫運維、應(yīng)用運維、運維平臺與工具開發(fā)等;建立和完善規(guī)范化的運維體系,保障運維質(zhì)量;不斷研發(fā)與探索運維自動化及各類創(chuàng)新途徑,縮短運維響應(yīng)時間,減低運維成本。
51CTO:在打造自動化運維平臺上,您遇到哪些挑戰(zhàn)?后來是如何解決的?
黎志剛:挑戰(zhàn)主要有四個:
第一,人員。2011年接觸團(tuán)隊的時候,核心人員流失嚴(yán)重,技術(shù)人員大都是專業(yè)度不高的基礎(chǔ)技術(shù)人員,需要花費大量的精力去招聘人員。在打造自動化運維平臺的過程中,經(jīng)歷過兩、三次這樣的情況,后面主要是對技術(shù)和平臺要求有所提升,而現(xiàn)有人員的能力出現(xiàn)了瓶頸,所以我們需要去迭代、更換一部分能力高的技術(shù)人提供新的思路,從而打破瓶頸。
第二,運維模式。以前的運維模式會把自己當(dāng)成服務(wù)者,或者支持者,但是,我們發(fā)現(xiàn)服務(wù)者、支持者做到后面就沒有更多的價值和產(chǎn)出。而隨著新興技術(shù)的興起,運維人員逐漸從幕后走向幕前,運維模式從以前被動等待需求,轉(zhuǎn)變?yōu)橹鲃映鰮羧チ私馑械臉I(yè)務(wù)需求,乃至于把控現(xiàn)有業(yè)務(wù),然后部署自動化運維平臺架構(gòu)。
第三,思維模式。從以前技術(shù)角度的思維模式,轉(zhuǎn)變?yōu)楦_放的產(chǎn)品模式。以前,我們做的東西更傾向于工具,平臺化的東西很少,而現(xiàn)在的運維人員更多的是從產(chǎn)品角度思考,做的工具和相關(guān)的平臺也是用產(chǎn)品模式來做,恰恰思維模式的轉(zhuǎn)變,運維的價值才真正體現(xiàn)出來。
第四,溝通。以前我們很少和外界交流、溝通,大會也好或者同行之間交流也罷,通常不會特別多。但是,從2014年我們逐漸和相關(guān)的行業(yè),包括騰訊、百度、阿里在內(nèi)的互聯(lián)網(wǎng)企業(yè)進(jìn)行大量交流,從而是找出暢游與他們存在的差距,另外,也讓團(tuán)隊看到暢游提升的空間。人在公司呆久了會疲憊,同時又因為缺少與外界的交流,他會認(rèn)為自己的系統(tǒng)是非常頂尖的,但實際上并非如此。
51CTO:目前DevOps是一個非?;鸬拿~,你對此是如何理解的?暢游又是如何實踐DevOps?
DevOps(英文Development和Operations的組合)是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。
DevOps是為了填補開發(fā)端和運維端之間的信息鴻溝,改善團(tuán)隊之間的協(xié)作關(guān)系。
黎志剛:暢游打造的DevOps是運維和游戲研發(fā)的實時交付,這部分我們當(dāng)時如何考慮的呢?早期,研發(fā)部門提供文件或者游戲的服務(wù)端版本給運維的時間通常是凌晨或者半夜,而且提供版本的狀態(tài)是非常少的,這種情況導(dǎo)致運維只能被動等待,因此,運維常常工作到半夜。為了改變運維的現(xiàn)狀,我們希望構(gòu)建一個從研發(fā)階段到版本的制作、打包、發(fā)布以及版本最終的部署,面向用戶整個環(huán)節(jié)全部打通的平臺。在設(shè)計平臺的時候,我們優(yōu)先解決的是版本發(fā)布的自動化,因為版本發(fā)布集成了代碼上傳、打包,測試等等,這個環(huán)節(jié)如果做不到自動化,后續(xù)的工作是無法進(jìn)行的。
51CTO:對于企業(yè)各異構(gòu)系統(tǒng)之間的一些通信、數(shù)據(jù)交互這些方面,暢游主要面臨哪些問題和挑戰(zhàn)呢?
1.系統(tǒng)交互接口不統(tǒng)一
2.全球同服
3.數(shù)據(jù)一致性
黎志剛:主要問題是所有系統(tǒng)之間交互的接口不統(tǒng)一。因此,我們要做一個數(shù)據(jù)總線,把所有數(shù)據(jù)的輸入和輸出全部做成標(biāo)準(zhǔn)化。網(wǎng)絡(luò)層面全國要能做到互聯(lián)互通是很難的,所以我們做了一個VPN隧道進(jìn)行內(nèi)網(wǎng)互通。
網(wǎng)絡(luò)架構(gòu)上面臨的主要問題是全球同服。很多移動游戲都會做全球同服的概念,對于我們來說,不管是自動化系統(tǒng),還是游戲服務(wù)器都得做全球同服。中國的玩家和外國的玩家要同時在一臺服務(wù)器上,這對網(wǎng)絡(luò)、系統(tǒng)要求非常大。
所以我們目前在做的方式是逐級加速,即有可能全球同服的服務(wù)器在香港,但是,如果我判定用戶來自美國,我不會讓他直接訪問香港,而是讓他先訪問他最近的區(qū)域,然后通過不同的區(qū)域逐級再跳到香港的服務(wù)器。然后我們在每一級上做一個加速,把用戶延遲問題解決掉,這樣就可以實現(xiàn)全球同服了。
數(shù)據(jù)交互上的問題是數(shù)據(jù)一致性,全球同服要求所有玩家的內(nèi)容都必須相同,這會導(dǎo)致數(shù)據(jù)交互量非常大,如果所有數(shù)據(jù)都進(jìn)行批量化傳輸,系統(tǒng)很難支撐。
為了解決這個問題,我們對所有交互的信息做了切割,哪些信息是必須同步的就進(jìn)行同步,哪些信息可以異步就異步,例如玩家延遲很長時間也沒關(guān)系的思維數(shù)據(jù)。實時同步的數(shù)據(jù)盡可能壓縮到內(nèi)網(wǎng)傳輸可控以及外網(wǎng)VPN傳輸可控的一個包大小就足以應(yīng)對。
51CTO:那您認(rèn)為云計算會給企業(yè)當(dāng)前異構(gòu)系統(tǒng)的維管理帶來哪些弊端?
黎志剛:壞處是成本核算和系統(tǒng)復(fù)雜度越來越高。第一,成本核算難度增加。如果物理機、公有云、私有云都使用,成本核算難度非常大;第二,系統(tǒng)復(fù)雜度增加。以前的所有平臺和系統(tǒng)只需對接一套系統(tǒng),如果引入了公有云,意味公有云的管理也得接入平臺,這樣會導(dǎo)致自動化平臺和整個架構(gòu)的復(fù)雜度增加。
51CTO:您認(rèn)為云計算會不會成為解決企業(yè)本地異構(gòu)性集成未來的一個可行路徑?
黎志剛:我認(rèn)為云計算會是解決本地異構(gòu)的可行路徑。比如暢游有的游戲系統(tǒng)用的是Windows,如果聘用大量Windows工程師,對企業(yè)來說成本很高,從長遠(yuǎn)來看也沒有必要。因為公有云提供的服務(wù)十分豐富,暢游使用的阿里云的SQL Server,騰訊云則使用的如Windows操作系統(tǒng),或者特殊的機器和一些技術(shù)的服務(wù)。云的便利性很強,在提高冗余性、效率等,維護(hù)的成本都可以得到控制,這樣不但可以節(jié)省大量成本,還可以大幅度減少等待的時間。
【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】