WOT2016黃繼:小米運維發展中的關鍵節點有哪些?
原創小米的運維理念是NoOps,就是希望把運維的日常工作盡可能的自動化起來,減少手工運維操作。做為一個運維人員,沒有人愿意每天重復那些繁瑣的運維操作;更沒有人愿意每天處于高度緊張的精神狀態,隨時準備應對線上故障。
小米運維系統通過借鑒和使用開源軟件、并按照具體的場景進行優化,同時也逐步將一些通用的運維組件進行開源,目前發展已經趨于成熟。本次51CTO記者特別采訪了【WOT2016互聯網運維與開發者峰會】特邀講師、小米運維高級工程師黃繼,他將分享小米運維發展中的關鍵節點和對自動化發展的未來期許。
講師介紹
小米運維高級工程師 黃繼
黃繼,目前在小米運維部負責主機資源虛擬化和業務部署自動化相關工作,構建私有的類PaaS平臺,旨在實現業務部署和容量管理部分的自動化、資源利用率的***化;涉及業務的部署發布、容量管理和調度,資源的虛擬化等。
小米運維在最初就提出了NoOps的思想作為工作開展的核心,因此高效的、體系的、高程度自動化的運維系統是運維工程師一直致力和追求的目標。他們不斷在努力和嘗試將任何低效高風險的人工管理轉換為高效可靠的自動化管理,并提高運維的效率和業務的穩定性。
所謂NoOps就是完全的通過自動化系統來管理和運維線上業務,自動的完成發布上線、故障診斷、容量調整等。從簡單到復雜的運維工作,不再需要運維介入干預。而這需要有相當程度的業務標準化支持、眾多的基礎設施依賴和體系化的運維系統建設。所以,這個愿景的實現是一個任重道遠的過程。
前期,小米運維工程師主要是通過部署系統和服務樹系統建設來規范和標準化線上業務,整合業務的編譯、打包、發布、啟停、主機與業務程序之間對應關系的自動維護。這個可以說是關鍵點之一,因為運維規范和標準化的抽象程度不僅決定了部署/服務樹系統實現的復雜程度,還決定了是否給業務架構的發展變化留有足夠空間,如果抽象的不夠,很可能出現系統覆蓋不了業務變化,面臨重新調整標準還是重新設計系統的兩難。小米運維在這塊花費了大投入,他們的部署和服務樹系統實現方案目前管理和支撐著大部分的小米服務,同時起著整合周邊系統、提供其他自動化所必須數據的至關重要作用。
其次,小米監控系統是小米NoOps道路上的一個大事件。open-falcon是小米公司從互聯網公司的一些需求出發,從各位SRE、SA、DEVS的使用經驗和反饋出發,結合業界的一些大的互聯網公司做監控、用監控的思考出發,設計開發出的監控系統。這一系統的目標是做最開放、***用的互聯網企業級監控產品。
目前,open-falcon已經成為大家熟知的開源版本,大概有50多家互聯網公司在使用。這套系統除了解決小米龐大規模的業務/主機數據采集、監控、繪圖等基礎監控功能外,通過與服務樹系統的整合,實現了監控-主機-業務之間關聯關系的自動維護,而這個工作在傳統人工運維中需要消耗相當大的人力成本。
安裝了falcon-agent的機器,可以實現自動開始采集各項指標,主動上報,不需要用戶在Server做任何配置(這和zabbix有很大的不同),這樣做的好處,就是用戶維護方便,覆蓋率高。當然這樣做會給Server端造成較大的壓力,不過open-falcon的服務端組件單機性能足夠高,同時都可以水平擴展,所以自動多采集足夠多的數據,破解了SRE和DEV的事后追查難題。
***,就是容器化引入和動態部署系統的構建,在資源利用率提升和時間成本節省上已初有成效,這次黃老師將在4月份的互聯網運維和開發者峰會上,分享小米在業務的自動發布和動態調度方面的一些實踐經驗,其中也包括目前行業比較關注的Docker/Mesos等開源軟件在小米運維系統中的應用等。
目前,小米的運維自動化著重解決了人-主機-業務-監控這幾個運維基本元素自身以及相互之間關聯互動的管理,還仍然在不斷的發展和完善過程中,未來希望不僅可以實現自動化管理,還可以較智能化的輔助人工完成某些決斷、完成和處理一些復雜的問題。
另外,黃老師提到了對他優秀的運維工程師的理解,那就是優秀的運維工程師首先是不守舊,能折騰,敢于嘗試和改變;其次是追求***,有打破砂鍋問到底、不達目的不罷休的精神;***是專業能力和素養,對技術的執著和熱愛。歡迎志同道合的同學加入小米,一起來NoOps!