在DevOps到來以前,咱們更多的是討論極限編程、敏捷開發和Scrum等方法論,而不多關注運維體系的建設和提升運維的效率。DevOps時代,咱們關注的是從業務出發,提升整個價值鏈的交付速度,從而爲企業得到競爭力和生產力。今天咱們就來談談如何實現敏捷運維,助力運維人員轉型。前端
一方面,隨着互聯網時代和數字化轉型的到來,經過科技創新和開拓新業務來提升企業核心競爭力和生產力,好比銀行業的網貸、信貸、網上銀行、API Bank和區塊鏈等業務,同時新的業務對科技部門提出了更高的要求,在安全穩定的前提下,快速的交付業務功能,從而實現業務價值。那麼科技部門就必須提升業務端到端的交付效率,包括持續集成(需求管理、源碼管理、編譯構建、代碼掃描和自動化測試)、持續部署(配置管理、基礎資源和組件自動部署、應用自動化發佈)和持續運營(監控、數據分析和業務運營)。編程
另外一方面,隨着業務的高速發展以及超大規模業務體量的驅動下,大部分企業引入了更爲靈活的微服務架構。咱們知道,微服務架構是從單體架構或分層架構演進而來的,從一個單體工程拆分出n個獨立模塊,以下圖所示:後端
注:上圖出自於趙成老師的書籍《進化:運維技術變革與實踐探索》安全
引入微服務架構後,軟件的架構的細化拆分和靈活多變大大提高了開發人員的開發效率,繼而提高業務需求的響應和迭代速度。可是隨之而來的是架構複雜度大大增長,對後續的交付和運維帶來了極大的難度和挑戰。網絡
在傳統的模式下,研發團隊和運維團隊分歧的焦點主要在軟件新版本、新配置的變動和發佈速度上。研發團隊最關注如何可以快速地構建和發佈新功能,而運維團隊更關注的是如何能在他們值班期間避免發生故障。換句話說,研發部門想要「隨時隨地發佈新功能」,而運維部門則想要「一旦系統在生產環境正常工做了,就不要再進行任何改動」。因此在傳統意義上這兩個部門的目標是互相矛盾的。架構
在DevOps模式下,只有一個共同的目標,旨在經過合適的準時制(JIT)業務流程來最大化業務產出,例如增長銷售和利潤率、提高業務速度、或儘可能下降運營成本。DevOps知識體系由三大支柱(規範敏捷、持續交付、IT服務管理)和一個基礎(精益管理)組成。框架
注:上圖出自於EXIN DevOps Master 白皮書運維
從不少企業成功了應用了Agile、Scrum和XP等方法論,即便提升了開發效率,但對業務速度提高仍是以爲遠遠不夠,緣由在於:表面上看起來是開發過程的瓶頸,但在調查中發現開發過程並不是瓶頸,相反是業務流程應該被改進。因此咱們應該從業務的目標出發,度量並改進和優化端到端的業務流程,好比:提升系統發佈頻率、下降發佈失敗率。ide
如上圖,咱們調研了一些企業的IT管理工具後發現,從需求管理、代碼管理到持續集成已經有一系列的開源或商用工具支撐了,同時也具有了一系列的監控平臺,包括基礎監控(Zabbix、Prometheus和IBM Tivoli)、APM(應用性能管理)、NPM(網絡性能管理)和BPC。因而可知,配置管理和運維自動化是目前持續交付最大的瓶頸,從而影響到整個業務流的效率。實現運維自動化和提升運維效率,進而實現敏捷運維,是亟需解決的問題。微服務
在本文中,我把「敏捷運維」定義爲:IT運維團隊根據業務的需求,快速響應運維要求,並實現運維場景服務化工具的快速落地。這裏請注意重點在於「服務化工具」的落地,而不是單純的解決一次性的運維需求,咱們再來看看似曾相識的幾個場景:
l 幫忙建立N臺XX配置的XX操做系統的虛擬機,今天下班以前須要;
l 幫忙提取XX機器下的XX日誌;
l XX系統明天要正式上線,今晚你們作好通宵的準備;
l 這個週末是年度的災備切換演練,你們作好加班的準備;
對於以上的運維場景是否以爲很熟悉和痛苦呢,如果有對應服務化的工具你就能夠這樣回覆以上的需求了:
l 咱們提供了「雲資源管理平臺」自助申請功能,你提交資源要求申請便可,審批經過後會自動建立好資源,並將結果郵件給你;
l 咱們提供了「日誌查詢」自助服務工具,你能夠按需查詢和檢索對應系統下的日誌內容;
l 咱們提供了「應用發佈自動化」自助服務工具,能夠實現應用的一鍵發佈和上線;
l 咱們提供了「災備切換演練」自助服務工具,使用實現災備切換的一鍵完成,整個過程在30分鐘內完成,並提供全程可視化實時展現頁面,直觀的看到過程進展。
惟有快速構建服務化工具,才能真正實現敏捷運維,體現運維的價值,實現運維轉型。
固然,不少運維人員會抱怨說,咱們如今天天都加班哪有什麼時間來構建運維工具呢?嘉爲具有了20年的大型企業運維經驗,基於藍鯨平臺構建了100+的嘉爲藍鯨開箱即用的IT運維/運營工具,助力各企業解決當前運維壓力,其中包括CMDB解決方案、數據中心運維自動化、應用運維自動化、統一監控解決方案和智能化運維等。以下我列舉其中的幾個:
l 數據中心運維自動化工具:
l 應用運維自動化工具:
經過第一步,咱們基於開箱即用的運維工具解決了當前的運維壓力,將運維平常重複的手工工做服務化和自助化,這樣將運維人員的精力和時間空出來纔有可能進入第二步,開始傳統運維到運維開發的轉型。此時運維人員又有顧慮:咱們歷來沒有寫過代碼,就怕這個咱們Hold不住。答案是確定的,只要運維開發的門檻足夠低,就有可能。運維人員纔是真正懂運維流程的,沒有比運維人員來開發運維工具更合適的人了。
面向開發人員,藍鯨平臺提供了不少的 「開發者服務」,讓開發者能夠簡單、快速地建立、部署和管理運維工具。
它提供了完善的先後臺開發框架、API 網關(ESB)、調度引擎、公共組件等模塊,幫助開發者快速、低成本、免運維地構建支撐工具和運營系統。PaaS 平臺爲一個應用(運維工具)從建立到部署,再到後續的維護管理提供了完善的自助化和自動化服務,如日誌查詢、監控告警、運營數據等,從而使開發者能夠將所有精力投入到應用的開發之中。主要功能有:支持多語言的開發框架 / 樣例、免運維託管、運營數據可視化、企業服務總線(API 網關)、可拖拽的前端服務(MagicBox)等。
l 運維工具開發過程
l 建立應用(運維工具)
l 可拖拽的前端服務(MagicBox)
l 後端框架,支持多語言的開發框架/樣例
l 免運維託管
l 統一門戶
l 運維工具展現示例:CMP
嘉爲藍鯨項目組經過從公開課定製、項目導師幫帶和現場培訓等多種方式,爲企業量身定製運維轉型總體解決方案。
DevOps的到來,讓咱們從新定義運維團隊的目標和價值,嘉爲藍鯨將助力企業實現運維轉型,讓IT運維人員能夠像其餘人同樣在正常的工做時間段工做。構建運維場景服務化工具的落地和運維開發轉型只是一個過程,而結果每每是激動人心的:經過提升運維效率,助力數字化轉型,提升企業競爭力和盈利能力纔是終極目標。