閱讀510 返回首頁    go 阿裏雲 go 技術社區[雲棲]


三大通用核心套件幫你構建智能運維體係

2017年在線技術分會——運維/DevOps在線技術峰會上,來自阿裏基礎架構事業部大數據SRE團隊的池楓分享了構建通用化智能運維體係的實踐。他主要介紹了智能運維體係的設計以及通用核心套件,從T-flow操作執行、ICS事件連接、IAS智能分析三個核心套件的實際案例出發詳細介紹了阿裏的運維經驗。

 

以下內容根據直播視頻整理而成。

 

發展曆程

a7d1b2931c280e8c8e2064bd12a8738b04dafd6b

上圖的上方是大數據SRE團隊運維的產品,幾乎包括了所有阿裏巴巴使用的大數據產品。下方是運維模式的發展曆程,經過了:人工腳本化、工具整合、自動化平台、智能運維體係。承載這些服務的集群規模、服務器規模已經從一開始的K左右發展到如今的近百K左右,分布在所有阿裏巴巴的IDC即生產網絡域中,業務的種類和業務的形態各不相同。特斯拉智能運維體係下的主要核心運維場景包括環境管理、操作執行、需求處理、時間連接、事件分析、故障預測。各行各業都希望AI能夠在自己領域落地,而在運維領域AI有比較現實的需求和比較具體的應用場景。智能運維必須在一個體係化的產品之上,強調的是從監控到分析、到執行整個過程的無人化甚至超人化,突出的是係統的自治能力和預知能力,這個目標比較長遠。

智能運維體係設計

橫向上,將產品分為四種類型:執行類,直接操作係統,應用程序,硬件,網絡的產品;分析類,實現運維人員思考問題,分析需求,排查故障的產品;連接類,實現分析與執行產品驅動與反饋的連係產品;展現類,將智能平台的狀態以多種可視化的方式表達出來。

2c28fd3bac0b42d43ccd1e9b66c8e25895e3fe30

從業務的縱向分層上,在特斯拉體係的內部又分成兩個層次:下層是運維Paas層服務,上層是麵向終端客戶的Saas層服務。在特斯拉體係外部,依托於整個集團的運維Paas服務。

通用核心套件

T-flow操作執行

cfc5159dd6df3620fca4858bb6cfc248cd1855d5

T-flow是最基礎的Paas服務,設計之初是用來替代運維人員的雙手。首先將運維操作抽象成一個對象,發現其三個關鍵的屬性(where、what、how),T-flow就是用來實現抽象、封裝、實例化的產品。

30f01d8608767963d95d268c25d6f582d2393b21

上圖總結了用戶在係統上操作的場景:在一個係統目標中按照順序執行操作、在不同係統目標中按照順序執行操作、在不同的係統目標中並發的執行操作。為此,設計了simple flow模型來適應這三種場景。

dd3b2166891c46946d78c9ddc308b7c1d7cf3a03

如何構建T-flow模板?用戶首先需要配置這些節點中操作的內容,然後配置模板需要輸入的參數(T-flow支持多種文本類型的輸入),將操作和參數內容進行配置綁定。希望用戶隻需要關心局部代碼邏輯的實現,從全局上麵關注整個運維事件。

12603c9476a90d9694b62482f018bc29c0513516

一次中等規模的應用運維事件往往會牽涉多個應用,任務種類、任務執行方式都不相同,所以在simple flow的基礎上又封裝了一層多任務、多應用的操作類multiflow,上圖共有4種simple flow,每一個方塊代表在一個應用上的一個實例,開始執行之後就可以看到每個步驟執行的狀態。

UpgradeRegionServer案例

47032bf3052f84986271a7318d4cb06713f941c4

上圖是實例的執行界麵,中間的綠色方塊代表節點,點擊每個節點之後會在下方顯示節點具體的內容。這是生產上hbase集群熱升級的案例。為了適應應用中的服務是熱升級的場景,開發了迭代器功能,實現一批服務器上按照順序執行相同的指令,用戶隻需要配置同樣的指令、輸入目標集群參數,係統就可以自動生成節點。

shrek-drc-alipay案例

2cbee847093c80d9aab7c5a38aeaa46c77088d50

該案例的步驟隻有三步,每個步驟中使用了並發器組件(在一批機器上並發執行腳本命令),提供了灰度和正式批的區分,提供了並發數可配置的功能,並且異常節點可以很清楚的顯示在界麵上。

98660afe8843cf6e857b777e6dbf79f25d7c9a07

並發器的具體內容如上圖所示,三個步驟都是推送文件到目標服務器上的操作。

FlightingUpdate案例

94456fe7e8bad0c46e8cdef32ae589780142ac7a

此案例是multiflow的實例,在第一個大步驟中有12個simple flow實例,可以清晰看到每個實例的執行狀態和執行方式。

ICS事件連接

6820e094536f13cfdc532fe8d3deb96f127389ae

事件包括監控事件、故障分析、流程事件,服務包括腳本分析、T-flow實例執行、Noc通知等。通過ICS的使用,可以使簡單的運維事務實現閉環。比如在ICS上配置監控事件並且配置其修複方案就實現了故障自愈的場景。ICS能夠將我們關注的,而且是確定能夠通過自動化方案解決的事務形成一個簡單的智能處理閉環,減少了人工處理過程中的消耗。

3e8d6bbcbe747e8befe861b5c4ddc78ed32ef7a8

上圖是ICS的架構圖,整體分為三個部分:觸發器、事件處理、執行器。ICS的觸發器和執行器采用了插件化的方式去實現業務連接。事件處理模塊充分考慮了事件的抑製、衝突等機製,保證了整個ICS處理的穩定性、可靠性。

分布式文件係統一副本高危自愈案例

首先是高危事件的配置,事件觸發的來源可以有很多種,監控、文件分析等,采用了從監控的源頭獲取事件。當選擇了監控事件之後,需要配置監控來源的應用、事件的抑製處理方案、異常處理的邏輯。下一步是配置事件修複的執行器。最後,將觸發器和執行器進行連接,生效之後ICS平台就會關注這個事件。如果有事件發生就會啟動執行器進行處理。

IAS智能分析

0a57bd2ad8e1b0f2e737ade16175697f5d41cbdf

IAS預期目標包括:實現問題分析、發現潛在問題、進行決策分析。

IAS1.0(圖分析平台)

095fe52938f9830607e0113049058a5365d2bb04

該版本實現了問題排查的自動化,通過DAG決策來模擬人排查定位問題的過程。在此基礎上,還要根據用戶的實際需求情況完善整個流程。圖中的每一個節點代表用戶的分析邏輯,由用戶來實現,邊代表各個節點之間的依賴關係,邊上的條件可以通過用戶需求進行配置。

0485cc8778e4413ee1bb6c4684b2cc58c5f25548

上圖是使用IAS的案例,界麵為IAS模板的配置界麵。首先需要建立流程模板,最中間是核心的分析流程,包含了兩類節點,藍色為分析節點,黃色為結論節點。左邊是整個流程定義的全局變量,每個節點都可以去修改全局變量的內容。當我們點擊任何一個分析節點之後,就可以在右邊的詳情麵板上展示出其內容。

展望及發展計劃

特斯拉體係中除了運維Paas組件之外,還有麵向客戶的Saas服務,這些服務對運營效率的提高也是巨大的。運維工作需要沉澱,即對運維過程的格式化,隻有格式化之後才能產生數據。隻有格式化的數據才能作為數據分析、挖掘的依賴。通過tesla運維體係的建設使得運維更加主動,使運維有時間去做更深層次的、更高價值的工作。運維智能化的大潮剛好是改變運維價值的很好機會,將運維從低價值的工作中解脫出來,起到更重要的作用。

最後更新:2017-04-25 00:01:36

  上一篇:go 巧用Terraform和Packer開源工具完成雲上自動運維
  下一篇:go 1.2—Spring項目快速搭建—2.基於Spring Tool Suite搭建