【2014WOT深圳站講師專訪】肖力:大數據時代的系統運維
原創2014年11月21日至22日,51CTO傳媒主辦的2014WOT全球軟件技術峰會·深圳站將在深圳召開,技術人員和企業實踐用戶將齊聚深圳。
WOT是由51CTO傳媒主辦的國內***有影響的技術峰會,自2012年以來,秉承專注技術、服務技術人員的理念,獲得了廣大IT從業者和技術愛好者的一致認可,成為了業界重要的技術分享交流平臺以及人脈拓展平臺。
本次2014 WOT·深圳站將邀請國內外***的互聯網及創新企業技術負責人,***對外公開其當下最in技術,分享涵蓋六大主題,共有30+課程,移動游戲運營、運維開發、Web安全、數據挖掘、團隊管理等以及未來兩三年的技術趨勢。點擊報名》》
本次采訪對象是本次2014WOT深圳站<自動化運維>論壇的演講人肖力,目前任職金山西山居/系統運維經理
1、您目前在貴公司負責哪些事情?能否先簡單談談您在運維領域的從業經驗,和您對此運維的理解?
我目前在珠海金山西山居,以前在上海盛大游戲。我負責系統及服務器層面的運維工作,主要運維方向是游戲虛擬化,有近15年的工作經驗,最近5年一直在做游戲虛擬化運維。
2010年的時候,虛擬化在互聯網業內還鮮有使用,我們已經開始在生產環境中使用KVM虛擬化技術的探索。通過實施虛擬化,我們幾年內節省了上億的運營成本,幫助多個處于生命周期末的游戲項目實現扭虧為盈。當時KVM還是一個小眾產品,國內文檔較少,我們只能通過鉆研國外的英文資料甚至閱讀源代碼來學習。Red Hat是KVM的重要支持者,因此與其公司的RHEL系統同源的centos成為了研究KVM的重要資料。從當時剛發布的centos5.5開始,我們一路追隨centos系統的升級,每有一個版本發布,我們都要測試評估新的KVM虛擬化特性,然后逐步在生產環境部署,這樣的工作方法一直到持續到***的centos6.6及centos7。
所有我對運維的理解就是一個學習、測試、生產環境使用,這樣一個不斷循環和實踐的過程,回過頭來看,這樣的運維方法與虛擬化技術這些年的快速發展非常貼合,也促進了新的虛擬化技術在我們生產環境不斷的被使用,解決了我們不少性能和穩定性問題。
2、能否講講這么多年運維工作的變化與演進?
我講講游戲虛擬化運維的變化和演進吧,可以分為4個階段:
***階段主要是解決穩定性問題,游戲行業穩定性尤其重要,因為穩定性和游戲收入是直接掛鉤的,我們一開始部署虛擬化的時候,碰到很多問題,比如網絡閃斷,虛擬機動態遷移后,能ping通,但是tcp協議不能正常訪問等,我們花了很大的時間精力解決這些問題;
第二階段主要是解決虛擬機的快速生成問題,穩定性解決之后,我們面臨的問題就是如何更快的得到虛擬機,于是搞了一套腳本,通過命令行,可以很快的完成宿主機的配置和虛擬機的生成;
第三個階段主要是解決和業務結合的問題,業務希望虛擬機開起來后,游戲程序也盡快的能運行起來,我們又把游戲程序根據業務的不同,在虛擬機生成的時候,塞到虛擬機里面,大大縮短了游戲的開服時間;
第四個階段是解決管理平臺的問題,主要是進一步的提高運維水平,有了前面三步,管理平臺是水到渠成的事情,當時openstack剛起步,概念非常好,但是穩定性比較差,我們參照openstack的概念,自己開發了一套非常切合我們需要的管理平臺。
3、隨著如今大數據的爆發,這給運維工作帶來了怎樣的沖擊與改變?
大數據的對游戲行業影響非常大,通過大數據,我們可以更細致的了解玩家的需求和痛點,更好的為玩家服務。我了解的情況是,游戲公司一般現在都有游戲數據分析的部門,會做非常詳細的大數據分析,現在早已經不是要不要搞大數據的階段,而是大家在競爭,如何可以把大數據分析做的更好、更細致的階段。
4、貴公司在監控上用了哪些技術?使用開源的還是自主研發?
我們在監控上走的是開源和自主研發相結合的路線,底層主要使用zabbix,按照我們的需要做了非常多的定制,我和其他公司交流的時候,發現也有許多公司是這樣做的,總的來看,zabbix非常靈活,方便定制,能夠滿足我們的需求。
5、您認為目前國內的自動化平臺以及數據可視化平臺建設如何?還需要加強哪方面發展?
自動化平臺建設在游戲行業,就是要做到一鍵開服,要求運維平臺在后臺打通個個環節,實現在前臺通過簡單的鼠標操作,可以完成游戲的更新和開服。這個說起來容易,做起來非常困難,需要基礎平臺的支持,也需要對自己的業務理解非常透徹。
我和歐美、韓國、日本游戲公司有過多次交流,有些游戲公司在自動化平臺建設方面達到很高的水平,三年前,我們代理的一款游戲,使用對方公司的運維系統,服務器使用刀片服務器,可以做到服務器故障的時候,將替換的刀片服務器推進去,然后就會自動部署系統和游戲程序,不需要再做其他操作,我印象非常深刻。
我認為自動化平臺以及數據可視化平臺就是一個不斷的運維技術標準化的過程,先是技術有發展,然后制定標準和流程,然后才有平臺,平臺是對技術和流程的一個固化和積累,從這個角度講,平臺建設也是一個動態不斷發展的過程。
6、您認為一名合格的運維工程師是如何定義的?需要具備哪些因素?
就游戲行業來說,運維工程師的職責,我認為可以分為4點:
***,保持業務的可用性,我們公司的指標是可用性達到99.95%,就是一年下來計劃外停機時間不超過5個小時;
第二,保存業務的穩定性,就是兩次故障的間隔時間盡量長,充分保證玩家的游戲體驗;
第三,快速的部署和響應,一款游戲,少則幾十個區組,多則幾百個,通常維護時間只有一兩個小時,對我們的自動化運維水平要求非常高;
第四,也是最重要的一點,就是通過技術手段節省運維成本,通常一個游戲項目開始的時候,人數是一直在增加的,那么消耗的運維成本也會增加,運維有一個職責,就是保持運維成本增長曲線效率低于人數增長曲線斜率,斜率越低,說明我們節約運維成本的工作做的越好。
運維工程師的素質,我覺得有兩條,***是對生產環境要有敬畏之心,一個小的失誤,可能影響到幾千甚至上萬玩家的游戲體驗,容不得我們出錯,這點是一些血的教訓換來的;第二,要不斷學習,提高自己,就拿虛擬化網絡技術來說,像openvswitch、sriov、萬兆網卡,這樣的技術出現和發展很快,只有不斷的學習才能緊緊跟上技術發展的步伐。