1. 程式人生 > >2017年全球雲端計算開源大會主題分享:《運維一體之平臺一體化》

2017年全球雲端計算開源大會主題分享:《運維一體之平臺一體化》

3月底有幸參加了全球雲端計算開源大會,並作了一個關於《運維一體之平臺一體化》的分享,現將PPT的內容整理成文。

運維一體化 之 平臺一體化—-從標題看可以看到兩個一體化,分別是運維一體化與平臺一體化。運維一體化是資料中心的運營體系,包括:人員組織一體化、流程一體化、平臺一體化三方面,其中平臺一體化偏向於運維工具與自動化方面的建設。(平臺一體化涉及的內容比較多,本文以30分鐘來摘幾個重點來分享)

運維一體化

一、轉型:

轉型壓力

和目前大部份運維團隊一樣,我們的運維團隊也打著“救火”、“背鍋”、“低價值”等標籤,團隊的特點歸納下有四個特點:

-被動救火式,以被動保障業務系統執行,日常計劃性工作容易被打斷、擱置;

-問題驅動式,以系統可用性、可靠性、業務請求等問題驅動運維工作;

-操作運維,重複性、操作類點主要工作量的運維模式;

-經驗式運維,由人工經驗驅動的運維模式,尤其是一些經驗豐富的老員工的離職在短期內會對運維質量帶來一定的衝擊。

針對上面四個特點我們提出了四個轉型:

-分別是從被動救火式向主動精細化轉型,主動分析,主動優化,驅動開發,促進DEVOPS的落地;

-從問題驅動向價值驅動轉型,以業務體驗、服務滿意度、促進業務更好發展;

-從操作運維向運維開發轉型,通過為運維人員提供運維開發平臺,降低運維開發門檻,快速落地一些緊迫的運維工具,降低操作性、重複性的運維工作;

-從依靠經驗向智慧化驅動運維轉型,結合資料分析、知識庫、機器學習技術促進運維智慧化。

在現有人力維持不變,運維質量要求不斷提升的背景下,為實現上述面四個轉型目標,我們認為首先要解放生產力,因為沒有人什麼都轉型都實現不了。解決生產力當前最主要的手段還需靠自動化,所以下面再說說我們自動化方面遇到的3個困難:

運維自動化

如何更好:雖然運維體系比較完整,但工具主要以商業軟體為主,以煙囪式建設,資訊無法互聯互通,無法實現1+1>2的效果;

-如何更快:運維工具拿來較多,自主研發少,無法快速滿足自身運維需求,還是存在較多人肉運維的工作;

-如何更重要:運維職業危機,傳統的運維操作為主的方式註定會成為歷史,取而代之的是精細化運營,如何既解決職業危機,又能創造更大的價值,是難題;

針對上面提到的四個轉型目標,以及自動化目前遇到的困難,我們制定了相關的技術及管理的改進方案:運維一體化。

二、一體化

在講一體化思路前,我先講講促進一體化思路形成的一些思路來源:

一體化

-《架構即未來》這本書裡提到的組織、流程、架構的三位一體和我們運維一體化很吻合;

-騰訊藍鯨、雲霽科技在運維自動化方面的整體解決方案引導著我制定平臺一體化的方案;

-googlesre高逼格的運維運營模式,促進我在運維開發方面的解決思路形成;

運維一體化

如上圖所示,我們的運維一體化的核心是組織、流程、工具三位一體,具體來講是以CMDB為基礎,結合運維統一門戶、運維分析平臺、雲平臺、監控平臺、流程平臺、操作平臺、審計歸檔平臺,構建運維工具一體化(即平臺一體化),並在工具一體化的同時,結合流程一體化,最終構建組織、流程、工具三位一體的運營一體化的運營體系。運維一體化以運維向主動精細化運維、價值驅動、運維開發、智慧化轉型為目標,為實現上述目標首要的工作是需要解放運維生產力,通過“監管控”運維自動化提高工作效率,通過自主的開發平臺實現敏捷的開發能力,通過運維分析實現運維智慧化,輔助運維決策。

平臺一體化

再重點講講分享的重點:平臺一體化,平臺一體化的思路是:6平臺 +1門戶+ 4原則。

-6平臺是:雲平臺、監控平臺、歸檔審計平臺、流程平臺、操作平臺、分析平臺這6個平臺分別對標我們身體的骨、眼、神經系統、迴圈系統、手、腦。其中監控平臺、歸檔審計平臺、流程平臺、操作平臺又組成了我們常規講到的自動化中的“監、管、控”。這6個平臺中每一個平臺又組成相關技術體系,具體每個平臺包括的體系內容及技術架構這裡因時間問題不做深入解釋。

-1門戶是:統一門戶是運維視覺化的關鍵,它集成了工具的視覺化層,提供多維使用者、多種展示形式、以運維場景驅動建設等作用。

-4原則是:自主化,工具化、服務化、視覺化,這4個原則後面會進一步介紹。

通過歸納這個6平臺+1門戶+4原則的平臺一體化思路,並將這個思路推廣到資料中心工具建設團隊中,使我們能否快速達成共識,提高協作效率。

下面這張PPT是對平臺一體化的進一步細化,概括了目前平臺一體化中的主要內容,各位有興趣可以花時間看看。

平臺一體化規劃

三、建設原則

平臺一體化規劃重點解決各技術平臺間的資訊互聯互通、統一展現和緊密聯動,對於各個平臺工具有著幾個原則“服務化、視覺化、自主化、工具化”,即:

平臺建設

-自主化:構建運維開發平臺降低運維工具開發門檻,促進平臺工具開發更加自主可控,更加敏捷;

-工具化:在運維團隊中建設工具建設文化,促進運維開發文化建設;

-服務化:拒絕推倒重建,整合好存量自動化工具,引入新的工具,實現工具間的互聯互通,資料共享;

-視覺化:通過更加統一、清晰的視覺化建設促進平臺的效益的產生;

下面對這4個原則,結合我們目前工具建設階段性的成效來做進一步的分享。

1、原則1:自主化

自主化

自主化包括開發能力自主化與架構自主化。

1)開發能力的自主化,我們主要是通過建立運維開發平臺,這個開發平臺具有所見即所得的開發能力,PPT這幾張工具介面是我們目前實現的指令碼與視覺化開發工具,它們具備這些特點:

-所見即所得的指令碼開發能力:

指令碼開發環境(含環境、測試、部署,以及日誌、許可權、程式碼管理、指令碼執行統計等一籃子解決方案);

標準組件化指令碼可供呼叫,運維人員在開發過程中可以不寫具體的指令碼,採用元件的方式在視覺化介面上組合多個現成的指令碼為一個指令碼。

-所拖即所得的視覺化開發能力:

實現運維工具的視覺化展示(提供HTML5風格視覺化運維工具控制元件的拖拉生成統一風格的程式碼,運維開發人員無需關注HTML標籤程式碼與CS風格S);

實現視覺化工具流程的配置能力,即工具上事件所需要的頁面流;

設計標準組件提高視覺化開發效率;

運維一體化下的開發能力:

標準化指令碼的服務化能力;

服務化指令碼的介面註冊;

2)架構自主化,我們在平臺建設過程中引入了網際網路分散式的架構,開源的技術架構能讓我們對技術架構更有可控性。以集中監控系統為例,我們對原有的應用主備、資料庫主備的架構改造為分散式架構,現在這個系統採用WEB、應用分散式,通過MYCAT分散式資料庫中介軟體實現資料庫分散式,採用ZK實現資料庫主節點的選取,通過MYSQL實現讀寫分離,目前我們的資料庫由17臺MYSQL組成,資料儲存由原來了一個月,到現在的一年以上,支援多指標、多形式、多併發的監控、分析的運維場景需要。

整體的架構參見PPT這張圖。

架構自主化

我們的平臺一體化對於工具及技術主要以開源、國產為主,以下這張PPT是截止目前我們平臺的主要技術棧。

2、原則2:工具化

工具化

我們將工具分為重量型工具和輕量型工具,大致以這個思路區分:

-重量型工具:包括監控類系統(集中監控、效能監控、基礎監控、網路安全監控等)、自動化部署、日誌系統、業務批次排程等等這些需要開發工作量比較大的系統;

-輕型工具:包括應用服務啟停工具、資料維護工具、資料查詢工具、業務運營活動實時報表等和運維日常操作工作結合比較緊密且相對簡單的工具;

對於這兩類工具,我們綜合人員能力、投入產出等客觀因素求個平衡點,其中重量型工具以引入成熟系統進行二次開發為主,輕量型工具逐步以自主開發工具為主。

下面針對上面兩類工具分別舉例。

首先是重量型工具,以集中監控為例,監控架構見這張PPT。

集中監控的建設思路主要是以“不漏報、不誤報”加強“監”的能力,通過監控分析、學習能力補充自動化“控”的能力,實現智慧化的主動預測、故障自愈、無人值守。目前我們的監控體系己覆蓋從基礎設施、伺服器儲存、系統軟體(含虛擬化、容器、系統軟體等)、應用可用性、客戶體驗五個層次的物件,這些監控對像由不同的監控工具實現監控資料的採集與事件分析。在監控工具之上,由集中監控實現監控資料整合、事件整合、子系統接入、統一視覺化、資料來源採集、智慧學習、智慧基線、事件協同處理、事件聯動分析、新技術平臺監控等平臺能力。後續需要在平臺能力之上建立智慧學習型監控,實現主動預測故障、故障自愈、無人值守。

下面圖中我取了幾張我們監控有特色的幾個功能,分別是:

-集中的視覺化,具備多使用者視角、多系統整合展示、多形式展示(WEB端、大屏,以及目前在開發的手持端監控)

-體系化整合,整合存量系統(比如基礎監控、效能監控、應用監控等)、整合資料、整合事件等。

-將監控能力下探到分行,可以實現分行終端的的監控管理,模擬櫃面終端的操作回放。

-深度關聯分析,相似事件統一彙總,比如我們在CMDB的基礎之上,建設應用配置庫,應用配置庫除了應用服務、版本、程式等CI項外,還將應用的縱向與橫向關係通過視覺化拖拉的方式實現。

-利用好監控資料,比如將監控資料用於一鍵巡檢,業務運營活動自定義報表等。

-其它,比如這個事件豐富,我們將事件的資訊展示,還將涉及的系統配置資訊、關聯事件、事件具體資料、事件應急、工單情況、涉及OS的資源、效能、事件處理情況、事件應急工具等資訊集中在一個檢視,以促進事件的快速定位與應急恢復。

講完重量型工具,現在舉例講講輕型工具,下面這張應用工廠的介面可以很好的解釋我們的建設思路。參考APPSTORE,在團隊中建立工具開發文化,管理員可以開發工具,併發布到應用工廠並供其它管理員使用,其它管理員可以對工具提建議或打分,這些打分可以作為該工具歡迎度進行獎勵。

下面這幾張圖以輕量型工具中的服務啟停為例,這個工具可以滿足關機維護、應用投產、故障應急等場景,支援單個或多個服務的環境儲存、程序常規情況下的啟停、異常情況下啟停、啟停後多重形式的檢查方法。

這些小工具的建設一方面提高了團隊運維工作效率與標準化的落實,另一方面也有助於一些有想法、有能力的同事增加工作成就感。

3、原則3:服務化

服務化

服務化是為了實現工具間通訊的互聯互通,服務化一方面要求各工具對外提供API介面;另一方面是通過統一開發一個服務整合模組實現工具監控API介面的註冊、發現、鑑權。

這個服務整合有2個主要功能:

-服務通訊匯流排,相當於一個輕量型的ESB,工具間的通訊需要經過服務整合模組;

-服務註冊與發現,提供視覺化的介面為各個工具進行介面註冊,為呼叫起提供介面入參說明、呼叫說明等功能;

這個服務整合還提供多種通訊方式,RPC、MQ佇列等,可根據不同的通訊需要進行呼叫。

4、原則4:視覺化

視覺化

視覺化方面我們主要以統一門戶為載體,在技術上我們選擇了以H5加CSS3(為移動端化作準備),提供以下3個特性:

-提供指定服務:統一門戶提供所有工具選單、生成訪問用TOKEN;

-頁面適應性改造:統一風格,並分步對存量工具進行風格改造

-訪問適應急改造:快速跳轉、多標籤單點登入、瀏覽器相容;

視覺化

在功能上,我們提供多種使用者視角,專業團隊檢視、管理檢視、業務檢視,下在這張介面是我們統一門戶待辦的檢視,它將不同使用者角色所關心的指標集中在這個檢視,作為使用者控制檯。

接下來還將繼續做好自動化,解決工作上的痛點,解放生產力,後續再結合大資料去放眼智慧運維。

文章來自微信公眾號:運維之路