網際網路時代的網路自動化運維

才智咖 人氣:2.01W

網際網路上有兩大主要元素"內容和眼球","內容"是網際網路公司(或稱ICP)提供的網路服務,如網頁、遊戲、即時通訊等,"眼球"則是借指海量的網際網路使用者。網際網路公司的內容往往分佈在多個或大或小的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";機器的執行狀態,也不再代表業務的工作狀態;運維部門為研發提供前置服務,服務與服務之間關係也隨著叢集的擴大逐漸複雜起來。

圖3.百度自動化運維技術框架

百度的自動化運維技術框架,劃分為部署、監控、業務系統、關聯關係四大部分,整個框架更多突出了業務與IT基礎設施的融合,注重"關聯關係"的聯動。所謂關聯關係,主要是指任務與任務之間的時序依賴關係、任務與任務之間的資料依賴關係、任務與資源之間的引用依賴關係,分別對應到任務排程、資料傳輸、資源定位的服務流程中,形成了多條服務鏈。

關聯關係的運維與業務較強相關,需要有一套系統能夠理清楚關係的全貌,從而在複雜的服務鏈上,定位執行所在的環節,並在發生故障時預估影響範圍,及時定位並通知相應的部門。在這樣的一套系統中,自動化監控系統非常重要。百度的技術監控框架,主要通過資料採集、服務探測、第三方進行資訊收集,進行監控評估後交給資料處理和報警聯動模組處理,通過API介面進行功能擴充(如圖4所示)。

圖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.規劃模型化

為了確保後續業務能夠平滑擴容,網管系統能夠順利跟進,網際網路企業一般在早期整體系統架構設計時便充分考慮到標準化、模型化,新增業務資源就好比點快餐,隨需隨取。

標準化:一是採用標準協議和技術搭建,擴充套件性好,使用的產品較統一,便於管理;二是採用資料中心級裝置,保證可靠性、靈活性,充分考慮業務系統對低時延的要求。

模型化:基於業務需求設計網路架構模型,驗證後形成基線,可批量複製,統一管理,也適宜通過自動化提高部署效率、網管效率。

圖5.常見網際網路IDC架構

2.建設自動化

網際網路IT基礎設施具備批量複製能力之後,可以通過自動化技術,提高上線效率。在新節點建設過程中,3~5人的小型團隊即可完成機房上線工作。例如某網際網路公司某次針對海外緊急業務需求,一共派遣了2名工程師到現場進行裝置安裝部署和基本配置,而後通過網際網路鏈路,裝置從總部管理系統中自動獲取配置和裝置版本,下載業務系統,完成裝置安裝到機房上線不超過1周時間。

要達到自動化運維的目標,建設過程中需要重點考慮批量複製和自動化上線兩個方面(如圖6所示)。

批量複製:根據業務需要,梳理技術關注點,設計網路模型,進行充分測試和試點,輸出軟、硬體配置模板,進而可進行批量部署。

自動化上線:充分利用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的工作流程如圖7所示。

圖7.H3C iMC BIMS工作流程

3.管理智慧化

對於網管團隊而言,需要向其他團隊提供便利的工具以進行資訊查詢、告警管理等操作。早期的網管工具,往往離不開命令列操作,且對於批量處理的操作支援性並不好,如網路裝置的MIB庫相比新的智慧化技術Netconf,好比C和C++,顯得笨拙許多。因此使用的角度考慮,圖形化、智慧化的管理工具,往往是比較受歡迎。

智慧化:使用新技術,提升傳統MIB式管理方式的處理效率,引入嵌入式自動化架構,實現智慧終端APP化管理(如圖8所示)。

圖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等,製作平臺化監控整合環境,實現全方位監控(如圖所示)。