隨著企業業務的規模擴大和復雜化,以及云計算、大數據等技術的不斷發展,大量傳統企業希望用上云來加速其數字化轉型,獲得虛擬化、軟件化、服務化、平臺化的紅利。在這個過程中,因為軟件資產規模持續增大而導致的軟件開發運維和IT基礎設施建設運營壓力,也將無法繼續采用線性增加的方式來解決,且在DevOps思想的影響與引導下,企業對于改善傳統IT運維職責權邊界不清晰、操作過程無序、運維效率及業務穩定性方面也有著迫切的需求。企業必須加快整個IT架構的轉型,在基礎設施上云后推動應用往云上遷移,充分利用好購買的云基礎設施。
企業上云挑戰
通常企業在基礎設施上云后,主要面臨如下4個方面挑戰。
第一,企業IT架構不統一,技術棧多,統一運維比較難實現。通常來說,企業經過多年的發展,都存在大量功能高度重合、但是獨立運行的應用。這些應用有的是自研,有的是ISV開發,甚至很多是定向采購,這些應用架構不同,語言不同,甚至運行環境也不同,同時為了這些應用的穩定運行,催生了大量的運維工具和系統,所以當企業的基礎設施上云后,對這些應用統一運維成本極高,也是運維標準化、自動化的障礙。
第二,企業正處于深化數字化轉型階段,對云不了解,對云上運維更不了解。企業數據中心面臨轉型,但是缺少統一的體系化設計和建設,應用系統不知道怎么上云、運維人員不知道云化后的定位,一切都在摸索中前進。我們在和客戶的交流中就會經常被問,你們在公司怎么做運維的,幫我們列下你們工作的具體操作,甚至問你們的KPI是怎么定的。
第三,基礎設施上云后,在提升產研效率的同時對運維的SLA提出了更高的要求,應用系統的日益復雜、生產迭代的加快,對于應用運維系統來說,需要更智能的識別攔截風險,發生故障時更快地響應與快速恢復,保持業務的持續性運行。
第四,未來大型企業必定會存在多朵云,不同技術棧的云如何管理及運維,存在困難或者說還沒有比較好的解決方案。
阿里運維的變化與發展
我們看到當前企業所面對的挑戰,阿里集團在全面上云的過程中也同樣遇到了。基于以上的背景及挑戰,我們認為:基礎設施上云后,企業的3大剛需分別是業務遷云、云上自動化運維、多朵云的混合云運維。我們建設了面向混合云場景的統一運維平臺,幫助企業以應用為視角實現更易上云、更好用云,實現構建多云架構下成熟應用的統一建模、架構藍圖可視化交互驅動、集中式&場景化運維,以面對這些挑戰。接下來講一下,我們是如何一步步演進、升級至混合云新一代運維平臺。
阿里巴巴的運維體系經歷了腳本時代、工具時代和DevOps時代,目前正在實現自動化運維并探索智能化運維階段。
在2008-2009年,阿里巴巴的運維還處于腳本時代,大量的運維工作需要通過腳本來實現,隨著業務規模擴大和復雜度提高,腳本的方式越來越難以維護,因此阿里巴巴開始引入運維工具。在運維工具時代,阿里巴巴的運維體系經歷了從工具團隊和運維團隊并行的階段,到了為更好保障工具質量統一的工具團隊階段,再到逐漸有DevOps理念和職能偏軟件的工具團隊階段,最后,阿里巴巴應用運維團隊迎來了一場大變革,以前的應用運維團隊全被打散,被合并到各業務軟件開發團隊中,全面踐行DevOps理念。
進入DevOps階段后,成熟的流程化運維工具雖然提升了一部分運維效率,但是各個工具之間實際是獨立割裂的,例如:監控工具和運維工具是割裂的,巡檢工具和快恢工具也是割裂的,這導致日常應用持續運維過程中,從監控工具發現、定位并快速恢復問題的鏈路很長且效率低下,對運維開發來說,期望業務應用上線后可以“No Ops”,監控及運維系統能自行發現異常并自動解決,把應用及業務帶回正常狀態,阿里巴巴應用運維開始了“監管控一體化”的體系建設,通過智能化手段提升運維效率和運維安全,從而保障業務的連續穩定性。
大家都知道,阿里巴巴不但擁有眾多形態各異的業務,而且體量大,特別是每年天貓雙11大促,需要超大規模的IAAS資源支撐。2015年之前,阿里巴巴每年都要花費巨額費用來購買服務器,建設一代又一代的IDC數據中心;2015年至2019年,阿里巴巴走向全面云化的過程,在這個時期,阿里巴巴基礎設施一部分在云下數據中心,另一部分在阿里云上的數據中心,還需要支持同城多活到異地多活,所以必須要有強大的云上云下一體化超大規模資源管理的能力;2019年阿里巴巴實現全面云化之后,又開始面對一個新的超大規模資源管理場景——“混合云”管理。
混合云場景下的運維實踐
上面我們提到了很多次“應用運維”,先來說一下什么是應用運維。講這個之前我們先普及一下什么是“應用”,應用是指提供一組相同服務(Service)的資源集,可以對多個地域、多種資源進行全生命周期角色、權限的統一管理,并擁有自己的代碼介質如WAR、JAR、鏡像。基于此,應用運維即是對一組相同服務(Service)的資源集的生命周期進行運維。
我們所講的應用運維平臺正是處于SaaS層與PaaS層中間,與APaaS的概念有點相似,主要負責面向用戶的業務/應用的運維工作。因此應用運維向上可以觸達業務包括流量、GMV、營收,向下可以觸達平臺和系統包括資源與硬件,應用天然和人強耦合,因此也可以關聯賬號和權限等虛擬資源,我們通過應用很容易可以構建業務運行的各種藍圖拓撲關系,通過對應用生命周期全封閉管理,我們可以高效、準確地管理好應用依賴的各種資源,應用運維也提供呈上啟下的作用,從業務研發到應用運維再到基礎設施運維的分層工作流,即為云+應用一體化運維方案,基于應用三態模型建設,自上而下提供應用等級、部署架構到藍圖規劃的一整套解決方案,實現從用戶對應用全生命周期的管理、研運一體精細化運營,再到一站式運維。
至此,混合云應用運維平臺誕生,通過阿里集團內部多年的經驗沉淀演進,支撐了阿里集團的業務容器化、云化的重要架構演進。平臺也是以ITIL理念為指導,提供云上的統一配置管理,為業務運維變更、一體化運維觀測提供統一的數據,內置的安全策略以及核心資產保護,為業務變更的安全可靠提供穩定支撐,通過大數據以及算法平臺,分析應用的指標、變更、日志等數據,為應用刻畫智能基線和畫像,通過與觀測的統一事件中心聯動,與應用運維自動化變更流程結合,實現基于指標和事件的異常快恢。
平臺核心能力介紹
上面我們講到企業上云后的挑戰,這些挑戰在阿里走向全面云化的過程中也都一一碰到,應用運維平臺的演進誕生也分了幾個主要核心能力的演進,下面我們講講這些核心能力是如何支撐業務上云的。
統一CMDB
首先我們統一了CMDB,CMDB作為基礎服務,為企業提供團隊協作、企業主數據、IT資產管理、應用監控等核心模塊的數據交換能力,業界的解決方案也非常多,但是我們調研了業界內很多相關的產品,發現現有的CMDB都比較偏傳統,面向應用管理的CMDB比較少。
所以我們構建了以應用為中心的應用模型,滿足混合云運維的各種需求,比如異構云元數據的統一納管,通過自動化資源生命周期管理而不是腳本采集來保證數據的準確性。因此混合云CMDB要求擁有靈活的建模以及查詢能力,要求有能力在大流量高并發的情況下,提供實時、準確的數據操作能力,提供靈活可自定義和拓撲結構圖形化展示能力,可自定義規范、約束狀態變化等能力,并支持深度的拓撲查詢能力,也提供高可用的API服務,支持被集成。我們當前混合云的CMDB,經過歷年雙11的沉淀與客戶場景的不斷打磨成型,采用以業務變更驅動配置數據變更的方式而不是主動采集更新的方式,更好地保障了數據的實時性和權威性,形成了產品能力上的差異化競爭。
混合云資源管理
接下來我再介紹下,云上運維必不可少的應用混合云資源納管。既然我們是面向混合云的管理平臺,勢必需要無縫對接公有云、專有云IaaS資源,并且可以接管用戶自建IDC等異構云的資源。支持IaaS資源全生命周期管理的同時,支持混合云資源的自動化編排,計量計費,成本分析與控制,在降低企業資源使用成本的同時,滿足業務快速交付的需求。
區別云平臺資源納管,以應用的視角管理應用的架構和資源,并提供一鍵式的資源交付能力,可以讓不同的角色分工協作,例如平臺規劃人員提前規劃好運行環境和網絡,應用的架構角色可以定義應用系統的架構,平臺自動創建應用系統以及應用服務的配置數據,然后應用的研發運維人員以業務的視角基于應用的部署架構,進行資源的規劃,在資源編排時,業務只需關心應用運行在哪個環境中,對應用的研發運維角色屏蔽了地域、vpc等網絡相關的配置信息,讓業務人員更多關注在資源配置上,平臺自動進行資源申請交付,并主動維護資源和系統之間的管理關系,自動落入統一的CMDB中,這也就是前面講到的,混合云平臺的CMDB的數據維護都是通過變更驅動的。
可視化編排
在應用運維領域,大部分的做法都是基于工作流以及工單管理來實現對應的運維變更操作,而傳統的運維工作流在維護成本及可擴展性上都存在一定的不足,缺乏有效的流程生命周期管理手段。
例如應用申請云資源的場景,大多是一種復合操作,可能會涉及多個云資源間的依賴關系,比如申請一個ECS需要掛載SLB,同時掛載數據盤以及OSS才能滿足業務需求,如果不是通過可視化編排,平臺的易用性和復雜性會成倍增加。那么用戶(PaaS服務以及開發、運維、運營等角色)可以根據實際業務需要,對多個原子組件通過簡單可視的編排方式進行靈活裝配,構造出不同的業務流程完成一個完整的運維需求,運維編排也可以幫助我們更好地規范、管理和執行自動化運維操作,以模板的方式定義所需要進行的操作,然后再通過系統運行,從而提高整體運維操作的效率、增強運維操作的安全性,并避免人工運維的錯誤。
自動化智能化運維
當平臺具備了基本能力以后,也就需要在其他領域進行突破。我們通過在阿里集團以及客戶側的大量實踐,沉淀出基于應用的智能運維框架,輕量化的架構可以完成數據采集收集,算法快速開發調優,與專業的算法團隊深入合作,快速構建起智能運維領域的相關能力,比如:彈性伸縮、智能告警、智能巡檢、無人值守發布等場景,對競品形成了技術上的優勢。
根據一些調研的數據顯示,企業中70%以上的故障都是由于變更引起的,在企業應用敏捷迭代的場景下,如何體系化、自動化、智能化地保障變更安全是所有企業核心訴求。很多企業在進行生產變更時會要求雙人復核,一定程度上對變更前的一些事項進行檢查,降低變更風險,這就對人員的技能要求很高,而且經驗不易復制,也一定程度上降低了效能。
混合云應用維平臺通過系統工程化的解決方案,根據阿里的各種業務場景,提煉了變更的風險策略,與運維平臺變更流程進行了有效結合,實現變更前風險監測,對于識別到的風險,會進行變更攔截,進行流程加簽審批,保障運維流程的安全;變更執行中,平臺會實時對業務運行態指標進行監測,與應用畫像進行比對,如變更時應用指標/業務指標發生大幅度抖動,平臺會自動進行變更攔截,及時控制影響范圍。
未來的運維趨勢
以上分析了阿里運維平臺上云后的演進過程,同時分享了平臺的幾個核心能力,下面我們聊一下未來運維發展趨勢是如何的。
如果說運維1.0時代,是以黑屏運維模式、主機運維為技術特點提升IT運維工作(人員)自身的效率,運維2.0時代是以白屏運維模式、容器化運維為技術特點提升IT系統的效率性、降低運維成本,那么運維3.0必將是數字化時代的運維模式。這種運維模式重要的特性就是以保障業務穩定、高效為目標,提供云+應用一體化運維模式,通過業務可靠性的系統工程技術能力,從各個維度系統化保障業務的穩定。
在最新的十四五規劃中,國家明確提出將加速推進傳統企業的數字化轉型,同時也明確提出,相關科技領域,以及電力,金融,交通等這些基礎設施級別的民生企業要保證安全可靠。事實上在十三五期間,已經有越來越多的傳統企業依賴云試水數字化轉型,而保障已經數字化轉型成功的企業安全穩定運行在云上,必將是核心競爭力。
在數字化變革的浪潮中,中國作為產業規模最大和門類最齊全的經濟體,迎來百年未有的崛起機會,擁抱數字基礎設施,探索符合數字化時代要求的技術和管理范式,將幫助我們切實把握機會,而把握這一機會的組織,將在數字化變革的浪潮中脫穎而出。
未來我們也會和企業共同成長,提供企業用戶金融級別高可用和連續性要求的應用所需各類服務,滿足金融等業務場景下多活和容災的業務需求,促進企業業務的敏態和穩態發展,切切實實幫助上云的企業客戶,建立以云+應用為中心的企業數字化業務運營管理解決方案。