apache 云计算 linux google java 开源 php 微软 编程 centos shell nginx Ubuntu wordpress Android 程序员 Firefox Python mysql Windows

運維自動化與標準規範化:解析、設計及實現

运维自动化与标准规范化:解析、设计及实现

本文主要介紹我們的運維自動化系統如何設計與實現的,在介紹運維自動化時,首先需要先探討一下運維標準規範化與自動化關系,因為這是大多數運維自動化的必經之路,也是很多運維體系成長的必經之路。

一、運維標準化、規範化、流程化

要做運維自動化,首先要落實運維體系的標準化、規範化、流程化。否則,如果不規範標準化,很難具體實施運維自動化。

在開發運維自動化系統過程與執行中,會有很多事情無法開展,或很難執行下去。

1.1 對於運維自動化與標準規範化的認識

對於運維自動化、標準規範化的認識與理解。

不同企業圈子,每個人的理解總會有差異性,但總體方向應該是一致的:我們需要運維自動化、標準化,因為它能促使我們的工作更加高效、智能、有規則,有預見性……對於運維自動化,標準規範化的認識,這裏舉例說明兩種極端類型。

極端類型一:極端排斥流程標準及自動化,認為這是噱頭,不幹實事,不出成果。

這種類型的人做事貌似風風火火,思考規劃10分鐘,邊想邊幹1整天,結果到了明天再重來——典型地邊計劃邊實施邊填坑,結果是又忙又亂又出錯。

其實這種類型的問題就出在:事前沒有規劃好,事中沒有實施好,事後沒有總結好,無規矩不成方圓。

針對該類型,我們的觀點是:標準規範與自動化是當前主流運維成熟進階的必經之路。

流程標準很重要,必須要執行與持續完善,這是運維自動化以及公司運營一切的基礎。

看過復雜的航空線路圖,航海線路圖,鐵路交通圖吧!是不是會感嘆標準化與自動化的重要性。

運維工作也是一樣的道理,例如在實際項目過程中,你要上新業務買設備,則需要提出技術需求,找財務、上級會簽審批,然後還得招投標(內部邀標), 簽合同,收到貨得付款,設備入庫備案,初始化設備,自動化部署系統,自動化部署應用,自動采集信息與告警……等等,正是這些規範流程,運維自動化才使我們 的運維工作高效能、高質量、低風險。

極端類型二:極端追求標準流程。例如還是上述購新業務及采購設備流程。該類型的人做事非常規範細致:

while (true): {

調研;

開會;

統計需求;

提交審批;}

如此一遍又一遍的死循環,必須做到極致。如此結果是今年的需求,明年服務器才到貨,後年業務才上線,為了部署一次性就全面全部OK,就費盡窮舉一切可能,但凡有例外,就認為不是自動化,標準化。

這樣做貌似流程規範做到了天衣無縫,但其結果往往是人算不如天算,因為時間事情隨時在變,最後在實際生產中還是會有意外尷尬事情發生……

針對該類型,我們的觀點是:流程規範是最佳實踐方法論,但不是目的。

從哲學角度,這個世界不完美,因此2/8原則與持續性改進應該是思考與解決事情的一種最佳實踐。流程標準固然很重要,但是流程標準目的是為了很好地執行並解決事情,而不是要卡死、堵死一系列意外。

我們沒必要糾結於高大全的標準與自動化,我們需要從運維需求出發,痛點出發,持續改進與解決運維實際問題。

例如,在做自動化部署過程,總會有一些例外的情況。例如批量部署salt minion,由於系統版本,安裝批次不一樣。導致有些salt安裝因沒有依賴包而部署失敗。

這就要考慮,自動部署環節是要考慮增加更多狀態部署細節,還是保留一個精簡的狀態部署方案。

或許對於一個例外問題,例外分析與解決,而不是為了這一個例外而變動所有的全體。記住,不要認為搞個運維自動化系統,部署一個saltstack,puppet工具就能解決所有運維問題。

1.2 運維自動化與標準規範化的關系

任何一個企業運行都有很多配套的公司流程標準,否則很多事情將一團亂麻,根本無法推行,運維自動化也不例外,實施自動化前提需要標準規範與流程化。

比如,如果系統版本,主機名,ip不統一規範,則可能會導致saltstack部署執行,zabbix自動化發現,日誌監控部署,應用部署等一系列問題。

沒有良好的標準與自動化解決方案,運維人員常會背黑鍋

運維自動化需要規範標準化,當然運維自動化又促進規範標準化。運維自動化,標準化需要落實,不能空談,不能只說不練,有“法“不依。

標準要深入人心,融入日常行為思想中,達到個人與集體的潛移默化間的一致性、共通性。例如,我們總會碰到一些不規範的程序員,隨意往線上部署了一段代碼,搞得系統緩慢,最後由運維人員背黑鍋。

標準與自動化往往是由業務、IT環境需求驅動的

諸如上述,運維自動化與標準化往往是由業務,IT環境驅動的,逐步優化完善出來的,或者是被動逼出來的。比如,由於業務增長迅速,系統(應用)環境需求天天都有很多。

那你還是手工一臺臺系統(應用)部署麽,或許就算鍵盤敲到手抽筋仍然沒完成業務需求,這時突然你又發現部署的代碼不一致…..此時估計整個人都快要”瘋掉了”,或許此時你對運維自動化,標準規範化的理解與需求會透徹骨子裏。

標準與自動化需要持續性改進優化

運維自動化不是一蹴而就,而是逐漸持續性優化改進(ITIL理念)和實施的。

沒有任何一個企業創立之初,其IT架構就非常高大上,上來就構建全球機房,初始就設計一個超級高性能,高安全的系統,立刻滿足上億的UV請求……這些或許沒必要,也幾乎不可能。

延伸阅读

    评论