如何打造一款高逼格的運(yùn)維平臺(詳解二)
重要場景三:持續(xù)部署管理

第三個場景是持續(xù)部署管理,傳統(tǒng)部署方式我們會遇到一些問題,包括:應(yīng)用版本通過版本服務(wù)器多次人工傳遞,各應(yīng)用的配置、維護(hù)腳本沒有統(tǒng)一標(biāo)準(zhǔn);通過表格人工維護(hù)各環(huán)境的參數(shù)差異,不同環(huán)境人工修改參數(shù);應(yīng)用的安裝過程視變更人員經(jīng)驗(yàn),異常告警沒有統(tǒng)一標(biāo)準(zhǔn),回退方式不統(tǒng)一等。
為此,我們做了一個持續(xù)發(fā)布的標(biāo)準(zhǔn),而且將這些標(biāo)準(zhǔn)借助這個平臺可以實(shí)施,包括:統(tǒng)一版本傳遞路線,版本標(biāo)準(zhǔn)化;構(gòu)建生產(chǎn)、測試、研發(fā)環(huán)境配置差異庫,平臺根據(jù)所在環(huán)境自動生存對應(yīng)參數(shù);標(biāo)準(zhǔn)化應(yīng)用部署過程,多節(jié)點(diǎn)安裝順序自由編排,按照編排順序進(jìn)行安裝;標(biāo)準(zhǔn)異常告警;故障時按照編排順序逆向回退。
重要場景四:運(yùn)行環(huán)境維護(hù)

第四個場景是是常用運(yùn)維工具集成,包括我們常用的應(yīng)用重啟、健康檢查、隔離、恢復(fù)工具,服務(wù)器的一些物理測試,以及自動裝機(jī)后自動接入OpenStack或者是其它資源管理平臺的自動對接,網(wǎng)絡(luò)設(shè)備的健康檢查,還有一些定期的安全檢查,我們把這些工具集成在我們的云運(yùn)維平臺上。
重要場景五:畫像場景

第五個場景是我們應(yīng)用為維度的應(yīng)用畫像,通常我們一個應(yīng)用可能有很多的元素,大家想知道這些元素會比較困難,例如這個應(yīng)用的架構(gòu)是什么樣的,可能只有在一些應(yīng)用的開發(fā)設(shè)計人員,或者是一些骨干的心中才能知道,也不一定特別的準(zhǔn)確。
應(yīng)用的參數(shù)可能有很多要到服務(wù)器查。應(yīng)用版本、參數(shù)變遷、維護(hù)記錄需要翻變更,應(yīng)用各個層面的容量情況需要找各專業(yè)室查。應(yīng)用的情況普遍說不清,要廢很大的力氣才知道是什么樣。
我們在云運(yùn)維平臺里面,借助我們之前提到的各種產(chǎn)品管理工具,容量管理和高可用管理,我們放在一個視圖的畫像里面,根據(jù)變遷維護(hù)歷史以及應(yīng)用的容量、高可用信息,還可以計算出這個應(yīng)用他的運(yùn)維方面的成熟度。
云運(yùn)維平臺技術(shù)方案
在硬件資產(chǎn)層面我們通過一些snmp等工具獲取狀態(tài)及操作,虛擬資源層面我們目前借助openstack及其它管理平臺提供的接口進(jìn)行管理,操作系統(tǒng)之上我們通過自主開發(fā)的核心調(diào)度系統(tǒng)對linux及應(yīng)用進(jìn)行管理。

我們整個平臺是使用權(quán)的一個部署,除了下面的緩存和MySQL其他所有的組件都是全容器的部署,前端使用apache、haproxy、keepalived;后端使用jboss、rabbitmq、ansible、zookeeper;數(shù)據(jù)存儲采用mysql、redis、ceph等;另外我們還有一個安全服務(wù)模塊,檢查是否會有一些高危操作。