互聯網上有兩大主要元素"內容和眼球","內容"是互聯網公司(或稱ICP)提供的網絡服務,如網頁、游戲、即時通信等,"眼球"則是借指海量的互聯網用戶?;ヂ摼W公司的內容往往分布在多個或大或小的IDC中,越來越多的"眼球"在盯著ICP所提供的內容,互聯網公司進行內容存儲的基礎設施也呈現出了爆發式的增長。為了保障對內容的訪問體驗,互聯網公司需要在不同的運營商、不同的省份/城市批量部署業務服務器用以對外提供服務,并為業務模塊間的通信建立IDC內部網絡、城域網和廣域網,同時通過自建CDN或CDN專業服務公司對服務盲點進行覆蓋。因此隨著業務的增長,運維部門也顯得愈發重要。他們經過這些年的積累,逐步形成了高效的運維體系。本文將結合國內互聯網公司的經驗,重點針對IT基礎設施的新一代自動化運維體系展開討論。
一、運維的三個階段
● 第一個階段:人人皆運維
在早期,一個公司的IT基礎設施尚未達到一定的規模(通常在幾臺到幾十臺機器的規模),不一定有專門的運維人員或部門,運維的工作分擔在各類崗位中。研發人員擁有服務器權限,自己維護和管理線上代碼及業務。
● 第二個階段:縱向自動化
隨著業務量的增長,IT基礎設施發展到了另外一個量級(通常在上百臺至幾千臺機器的規模),開始有專門的運維人員,從事日常的安裝維護工作,扮演"救火隊員",收告警,有運維規范,但運維主要還是為研發提供后置服務。
這個階段已經開始逐步向流程化處理進行過渡,運維部門開始輸出常見問題處理的清單,有了自己業務范圍適用的自動化腳本,開始利用開源軟件的拼裝完成大部分的工作。
具體表現為:各產品線有自己編寫的腳本,利用如SVN+puppet或chef來完成服務器的上線和配置管理等工作。
● 第三階段:一切皆自動
在互聯網化的大潮中,越來越多的黑馬團隊應運而生,都曾有過短時間內用戶訪問量翻N倍的經歷。在流量爆發的過程中,ICP的互聯網基礎服務設施是否能夠很好的跟進,直接決定了業務內容能否滿足海量用戶的并發訪問。
與此同時,運維系統需要足夠地完善、高效、流程化。谷歌、騰訊、百度和阿里等規模的公司內一般都有統一的運維團隊,有一套或多套自動化運維系統可供參照,運維部門與開發部門會是相互平行的視角。并且也開始更加關注IT基礎設施在架構層面的優化以及超大規模集群下的自動化管理和切換(如圖1所示)。
圖1.大型互聯網公司IT基礎設施情況概覽
二、BAT(百度、阿里、騰訊)運維系統的分析
國內的互聯網公司百度、阿里、騰訊(以下簡稱:BAT)所提供的主要業務內容不同,IT架構不同,運維系統在發展過程中有不同的關注點。
1.騰訊運維:基于ITIL的運維服務管理
預計到2015年騰訊在全國將擁有60萬臺服務器。隨著2012年自動化部署實踐的成功,目前正在進行自動化驗收的工作。在網絡設備方面,后續將實現從需求端開始的全自動化工作:設備清單自動生成->采購清單自動下發->端口連接關系、拓撲關系自動生成->配置自動下發->自動驗收。整個運維流程也已由初期的傳統IT管理演進到基于ITIL的服務管理流程(如圖2所示)。
圖2.騰訊基于ITIL的運維服務管理
2.阿里運維系統:基于CMDB的基礎設施管理+邏輯分層建模
CMDB(Configuration Management Database) 配置管理數據庫(以下簡稱:CMDB),將IT基礎架構的所有組件存儲為配置項,維護每個配置項的詳細數據,維護各配置項之間的關系數據以及事件、變更歷史等管理數據。通過將這些數據整合到中央存儲庫,CMDB可以為企業了解和管理數據類型之間的因果關系提供保障。同時,CMDB與所有服務支持和服務交付流程都緊密相聯,支持這些流程的運轉、發揮配置信息的價值,同時依賴于相關流程保證數據的準確性。可實現IT服務支持、IT運維以及IT資產管理內部及三者之間的流程整合與自動化。在實際的項目中,CMDB常常被認為是構建其它ITIL流程的基礎而優先考慮,ITIL項目的成敗與是否成功建立CMDB有非常大的關系。
3.百度自動化運維:部署+監控+業務系統+關聯關系
百度主要面臨的運維挑戰包括:突發的流量變化、復雜環境的關聯影響、快速迭代的開發模式以及運維效率、運維質量、成本之間的平衡等等。百度的運維團隊認為,當服務器規模達到上萬臺時,運維視角需要轉為以服務為粒度。萬臺并不等于"百臺*100";機器的運行狀態,也不再代表業務的工作狀態;運維部門為研發提供前置服務,服務與服務之間關系也隨著集群的擴大逐漸復雜起來。
百度的自動化運維技術框架,劃分為部署、監控、業務系統、關聯關系四大部分,整個框架更多突出了業務與IT基礎設施的融合,注重"關聯關系"的聯動。所謂關聯關系,主要是指任務與任務之間的時序依賴關系、任務與任務之間的數據依賴關系、任務與資源之間的引用依賴關系,分別對應到任務調度、數據傳輸、資源定位的服務流程中,形成了多條服務鏈(如圖4所示)。
圖3.百度自動化運維技術框架
關聯關系的運維與業務較強相關,需要有一套系統能夠理清楚關系的全貌,從而在復雜的服務鏈上,定位運行所在的環節,并在發生故障時預估影響范圍,及時定位并通知相應的部門。在這樣的一套系統中,自動化監控系統非常重要。百度的技術監控框架,主要通過數據采集、服務探測、第三方進行信息收集,進行監控評估后交給數據處理和報警聯動模塊處理,通過API接口進行功能擴充(如圖5所示)。
圖4.百度自動化技術監控框架
其實無論是BAT等互聯網企業還是其他行業的企業,在IT建設中都會遵循IT基礎架構庫(ITIL)或ISO20000服務管理的最佳實踐,采用自動化IT管理解決方案以實現重要的業務目標,如減少服務中斷、降低運營成本、提高IT效率等等。隨著ISO20000、ITIL v3.0的發布和推廣,兩者已經成為事實上的某種標準。在當今企業IT管理領域,對兩個標準有著很迫切的需求。特別是ISO20000的認證要求,已經成為企業越來越普遍的需求 。ITIL v3.0包含了對IT運維從戰略、設計到轉換、運營、改進的服務全生命周期的管理,相關方案往往覆蓋了多個領域和多個產品,規劃實施和工具的選擇會比較糾結。如果選擇開源的工具,從CMDB開始就會遇到很多的開發工作,對于很多注重成本收益比的企業,可以參考,但由于無法保證性能與效果并不一定適用。因此,成熟的商業方案會是更好的選擇。
最新的iMC V7版本,圍繞資源、用戶、業務三個維度進行創新,發布了SOM服務運維管理(基于ISO20000、ITIL標準)等組件,增加了對服務器的管理,能很好的滿足更多互聯網化的場景需求。
通常認為,一個高效、好用的配置管理數據庫一般需要滿足6條重要標準,即聯合、靈活的信息模型定義、標準合規、支持內置策略、自動發現和嚴格的訪問控制。企業IT基礎架構的元素類型、管理數據的類型往往有較多種,如網絡設備、服務器、虛擬機等,因此對于多種信息的存儲需要有合適的聯合的方法。雖然 iMC智能管理平臺在網絡設備、服務器設備等方面已經能夠較好的的滿足,但是隨著服務器虛擬化技術的發展,虛擬機正越來越多的成為IT基礎架構的一大元素。因此,針對這一需求華三通信基于CAS CVM虛擬化管理系統,對服務器CPU、內存、磁盤I/O、網絡I/O等更細節的重要資源以及虛擬機資源進行全面的管理。與BAT不同,華三通信的網管軟件面向全行業,目前雖然沒有對域名管理等特殊資源的管理,但是能夠通過API接口等方式與特有系統進行聯動,進而滿足定制化運維的需求,尤其是在互聯網化的場景中,針對不同的業務需求,可以實現很多定制化的對接需求,例如,iMC+WSM組件與國內某大互聯網公司自有Portal系統進行了對接,打通了iMC工具與用戶自有運維平臺,很好的實現了架構融和。另外,與阿里的邏輯分層建模相似,H3C "iMC+CAS"軟件體系在上層也做了很多的邏輯抽象、分層,形成了諸多的模塊,也即是大家看到的各種組件。
三、網絡自動化運維體系
"哪怕是一個只有基礎技術能力的陌生人,也能做專業的IT運維;哪怕是一個只有初中學歷的運維人員,也能夠帶隊完成中小型機房節點的建設,并負責數百至上千臺服務器的維護管理工作"--這是一些公司對自己IT運行維護水平的一個整體評價??此朴行┛浯蟮南右?,但實際上依托于強大的IT運維系統,國內已經有不少互聯網公司能夠達到或者接近這一標準。
這些企業都經歷了運維發展過程中的各個階段,運維部門曾經也是被動的、孤立的、分散的"救火隊"式的團隊,在后來的發展過程中,IT系統架構逐漸走向標準化、模型化,運維部門建立了完整的設備、系統資源管理數據庫和知識庫,包括所有硬件的配置情況、所有軟件的參數配置,購買日期、維修記錄,運維風險看板等等,通過網管軟件,進行系統遠程自動化監控。運維過程中系統會收集所有的問題、事件、變更、服務級別等信息并錄入管理系統,不斷完善進而形成一套趨向自動化的運作支撐機制。按照云計算的體系架構,在這樣一套系統中,主要的IT資源包括計算、存儲、網絡資源,近些年隨著網絡設備廠商的推動,網絡設備管理方面的自動化技術也得到十足的發展。
總結來看,一個企業在進行互聯網化的建設初期,就需要考慮到隨著用戶訪問量的增加,資源如何進行擴展。具體可以細化為規劃、建設、管理、監控、運維五個方面。
1.規劃模型化
為了確保后續業務能夠平滑擴容,網管系統能夠順利跟進,互聯網企業一般在早期整體系統架構設計時便充分考慮到標準化、模型化,新增業務資源就好比點快餐,隨需隨取(如圖7所示)。
標準化:一是采用標準協議和技術搭建,擴展性好,使用的產品較統一,便于管理;二是采用數據中心級設備,保證可靠性、靈活性,充分考慮業務系統對低時延的要求。
模型化:基于業務需求設計網絡架構模型,驗證后形成基線,可批量復制,統一管理,也適宜通過自動化提高部署效率、網管效率。
圖5.常見互聯網IDC架構
2.建設自動化
互聯網IT基礎設施具備批量復制能力之后,可以通過自動化技術,提高上線效率。在新節點建設過程中,3~5人的小型團隊即可完成機房上線工作。例如某互聯網公司某次針對海外緊急業務需求,一共派遣了2名工程師到現場進行設備安裝部署和基本配置,而后通過互聯網鏈路,設備從總部管理系統中自動獲取配置和設備版本,下載業務系統,完成設備安裝到機房上線不超過1周時間。
要達到自動化運維的目標,建設過程中需要重點考慮批量復制和自動化上線兩個方面(如圖8所示)。
批量復制:根據業務需要,梳理技術關注點,設計網絡模型,進行充分測試和試點,輸出軟、硬件配置模板,進而可進行批量部署。
自動化上線:充分利用TR069、Autoconfig等技術,采用零配置功能批量自動化上線設備,效率能夠得到成倍提升。
圖6.批量配置與自動化上線
○ Autoconfig與TR069的主要有三個區別:
○ Autoconfig適用于零配置部署,后續一般需要專門的網管系統;TR069是一套完整的管理方案,不僅在初始零配置時有用,后續還可以一直對設備進行監控和配置管理、軟件升級等。
○ Autoconfig使用DHCP與TFTP--簡單,TR069零配置使用DHCP與HTTP--復雜,需要專門的ACS服務器。
安全性:TR069更安全,可以基于HTTPS/SSL。
而H3C iMC BIMS實現了TR-069協議中的ACS(自動配置服務器)功能,通過TR-069協議對CPE設備進行遠程管理,BIMS具有零配置的能力和優勢,有靈活的組網能力,可管理DHCP設備和NAT后的私網設備。BIMS的工作流程如圖9所示。
圖7.H3C iMC BIMS工作流程
3.管理智能化
對于網管團隊而言,需要向其他團隊提供便利的工具以進行信息查詢、告警管理等操作。早期的網管工具,往往離不開命令行操作,且對于批量處理的操作支持性并不好,如網絡設備的MIB庫相比新的智能化技術Netconf,好比C和C++,顯得笨拙許多。因此使用的角度考慮,圖形化、智能化的管理工具,往往是比較受歡迎。
智能化:使用新技術,提升傳統MIB式管理方式的處理效率,引入嵌入式自動化架構,實現智能終端APP化管理(如圖11所示)。
圖8.消息、事件處理智能化
● Netconf技術
目前網絡管理協議主要是SNMP和Netconf。SNMP采用UDP,實現簡單,技術成熟,但是在安全可靠性、管理操作效率、交互操作和復雜操作實現上還不能滿足管理需求。Netconf采用XML作為配置數據和協議消息內容的數據編碼方式,采用基于TCP的SSHv2進行傳送,以RPC方式實現操作和控制。XML可以表達復雜、具有內在邏輯、模型化的管理對象,如端口、協議、業務以及之間的關系等,提高了操作效率和對象標準化;采用SSHv2傳送方式,可靠性、安全性、交互性較好。二者主要對比差異如表1所示。
表1 網管技術的對比
● EAA嵌入式自動化架構
EAA自動化架構的執行包括如下三個步驟。
○ 定義感興趣的事件源,事件源是系統中的軟件或者硬件模塊,如:特定的命令、日志、TRAP告警等。
○ 定義EAA監控策略,比如保存設備配置、主備切換、重啟進程等。
○ 當監控到定義的事件源發生后,觸發執行EAA監控策略。
4.監控平臺化
利用基本監控工具如Show、Display、SNMP、Syslog等,制作平臺化監控集成環境,實現全方位監控(如圖13所示)。
圖9.平臺化監控
四、結束語
自動化運維是一個大命題,隨著SDN、服務器虛擬化等技術的發展,網絡設備與服務器的運維管理正在發生非常大的變化。但是大家通過對ITIL的實踐,有了很多的經驗。相信隨著時間的推移,互聯網化的發展,不僅是互聯網公司,會有越來越多的企業在自動化運維方面有所創新。目前,H3C的管理平臺也正在積極轉變,相信不遠的將來,會有一個更強大的管理平臺,結合最新的SDN、虛擬化等技術,幫助用戶一起實現真正高效的自動化運維。