1. 程式人生 > >【運維專家大講堂】51CTO專訪騰訊高階運維工程師劉天斯

【運維專家大講堂】51CTO專訪騰訊高階運維工程師劉天斯

yunweidajiangtang-2

本文素材來源於2014年底WOT深圳站,51CTO對騰訊高階運維工程師劉天斯(《Python自動化運維:技術與最佳實踐》作者)的專訪,我們在這裡整理還原專訪內容並訪談內容中關鍵資訊進行解讀。

一、訪談內容如下:

1、您目前在貴公司負責哪些事情?能否先簡單談談您在運維領域的從業經驗,和您對此運維的理解?

從事運維方面的工作剛滿10年,前6年負責天涯社群的系統架構及運維的工作,2011年入職騰訊,先後負責靜態類、大遊戲下載業務的CDN運營,以及負責公司所有遊戲的大資料接入、分析、提取等工作。

簡單分享個人在運維領域從業的兩個經驗:

1)關於運維自動化這件事情,幾乎所有的IT企業都在做,看似是一件非常好的事情,忽略了前提條件,往往付出更大的代價及運營成本。所提到的前提條件便是運維體系“標準化”、“流程化”、“規範化”的建設,覆蓋企業中資源、版本、業務釋出、監控、事件管理等環節。有了這些作為基礎鋪墊,運維自動化的建設才會很順利實施,達成預期。

2)業務的生命週期管理,運維扮演的角色。當一個產品在規劃之初運維人員須第一時間介入參與,根據產品特點,提供業務平臺前期架構設計、資源評估等資料。當產品進入開發階段,須與開發人員保持密切溝通與互動,提供業務接入、快取、儲存、監控、安全等方面規範,以便在編碼階段更好磨合與對接,避免上線後反覆做不必要的版本迭代,也使得開發出來的產品具備更高的可運維性。待業務上線後,務必定期同步相關運營資料給產品與開發人員側,為後續優化、改進的工作提供資料支援,這也恰恰能體現運維人員的專業性及團隊合作意識。

運維體系中各個環節的工作猶如散落在地上的珠子,每個珠子分別代表事件、資源、監控、安全、自動化、日常工作等,看似是七零八落的,我們需要利用“流程”這條線將所有的珠子串起來,珠子的前後順序及間隔由“標準規範”來控制。這樣就形成了一條完整的鏈子,是一個有機的整體,最後會促使運維工作開展得井井有條。這條鏈子扣在三個點子上,就是“質量”、“效率”、“成本”。

2、能否講講這麼多年運維工作的變化與演進?

雲端計算給IT行業帶來的巨大沖擊,從最初的不信任逐漸到認可,到最後各類雲端計算應用的落地普及。當然,這也給運維人員帶來非常大的挑戰,尤其承擔企業私有云的建設,運維人員除了具備傳統運維的能力外,還需要深入理解業務資源使用的特點,例如區分是計算性、記憶體型、IO型還是儲存型,同時需要對資源進行合理的規劃及定義擴容規則。私有云作為資源的一個大池子,如何保持其彈性,需要具備一套精準的監控手段,配合自動化運維工具來保障,包括自動化安裝部署、配置管理、儲存管理、故障處理、備份容災等。實現業務快速上線,資源快速擴容,同時具備高可用的能力。在這種大背景下,運維人員除了會用“雲”,且要求用好“雲”,才能給企業帶來價值。另外基於容器實現的虛擬化(Docker)已經興起,將給業務的打包、部署、遷移、測試等都會帶來革命性的變革,運維準備好了嗎?

3、隨著如今大資料的爆發,這給運維工作帶來了怎樣的衝擊與改變?

大資料在企業做精細運營方面發揮了巨大的作用,作為底層服務支撐的運維,需要掌握大資料生態圈中關鍵技術點,包括Hadoop、hive、hbase、spark、storm等平臺的日常運營,需要解決包括資源排程、資料接入、快速擴容、節點故障處理、高可用、資料儲存生命週期管理等問題,這給運維人員提出了更高的要求,同時也給運維工作帶來了新的機遇,一典型案例是將所有告警接入storm實時計算分析,過濾出有效告警,同時將資訊入庫Hadoop,以便做歷史檔的離線分析,讓運維人員更懂業務。

4、貴公司在監控上用了哪些技術?使用開源的還是自主研發?

公司內部使用了自研方式實現監控體系的構建,區域性會使用開源工具作為補充。

5、您認為目前國內的自動化平臺以及資料視覺化平臺建設如何?還需要加強哪方面發展?

自動化運維是每個企業都在追求的終極目標,做到一鍵觸發業務上線、故障自愈、資源自動排程、高質量資料報表及業務智慧分析等,既然是目標,說明大部分都還在路上,即使國內一線的網際網路企業也未能達到該理想的狀態。自動化之路是一個複雜的系統工程,是一個長期積累、沉澱且不斷優化的過程。由於網際網路行業的特殊性,包括新技術不斷湧入及快速迭代,另一方面是網際網路業務日新月異,各種顛覆性的產品層出不窮。作為服務支撐,這也給自動化運維帶來變數及挑戰。

在國內需要加強的部分還是資源與技術的共享,很多時候大家都在同一件事情,貢獻一個成熟且通用的元件對業界的影響是深遠的,阿里在這方面做得就非常好。在個人著作《Python自動化運維:技術與最佳實踐》中也分享一些實現方法與實踐案例,可作參考。

6、您認為一名合格的運維工程師是如何定義的?需要具備哪些因素?

我認為一名合格的運維工程師需要具備高度的責任心,有一定的溝通及協調能力,同時需要具備發現問題及解決問題的能力,平時要多思考,多總結,多輸出,以便將現有的沉澱更好傳承下去,即使人員變動也不會出現斷層。另外對資源、質量要非常敏感,有一定的規劃及ITIL能力。對運營的業務要做到全面性的瞭解,包括提供的服務、總體架構、技術實現原理以及存在的問題等。在技能方面需要熟悉主流的運維相關技術,包括網路、裝置、作業系統、負載均衡、快取、資料庫、雲端計算技術等方面,並關注最新技術發展動向,評估並思考如何運用到實際工作當中,解決工作中碰到的問題。同時,需要具有很好的開發能力,理由是沒有人比我們更清楚我們需要什麼的平臺或工具,在與產品或開發溝通時,才有更多的發言權,甚至是主導權。

二、運維派解讀:

1、對於運維人員,在雲端計算時代已經到來的今天,需要加快對雲端計算、虛擬化相關的技能儲備和學習;
2、自動化運維是網際網路企業運維的終極目標,同時它的落地需要企業完成“標準化”、“流程化”、“規範化”的建設。