張繼東 曹靖城 王猛德
1引言
移動互聯網時代,傳統IT架構難以響應業務快速變化的需求。通過分析傳統IT架構存在的問題,探討通過統一PaaS平臺構建一體化的開發運維體系,快速完成產品的開發、上線和迭代,助力業務持續創新和發展。
技術不斷發展,市場瞬息萬變,“快人一步”正成為企業的核心競爭力之一。但受限于傳統IT架構的束縛,傳統企業(非互聯網企業)開發運維模式僵化、開發與運維之間存在鴻溝、自動化和敏捷性不足,難以響應移動互聯網時代快速變化的客戶需求和持續創新產品需要。此外,在傳統IT架構下,還存在諸多其他問題,例如:IT系統煙囪式孤立建設,能力不能復用,業務上線的周期長和資源利用率低下等。
隨著近幾年云計算技術與IT架構的演進變革,PaaS平臺作為新一代的云計算架構。基于PaaS平臺實現開發運維一體化成為解決傳統開發運維模式弊端的有效方式,能促進傳統IT架構轉型,為業務應用的持續創新和穩定運行提供有力的保障。
2整體思路
基于PaaS平臺,采用容器、分布式計算、微服務架構和CI/CD等關鍵技術,將傳統IT系統架構改造為一個面向敏捷開發和自動化運維的企業級云計算架構,如圖1所示,實現開發運維一體化。首先,實現平臺級服務的資源共享,提供集成化、標準化和全棧化的技術組件能力;其次,規范IT技術標準和開發運維框架,支持各種應用堆棧;最后,集成開發運行一體化環境和CI/CD技術,打通開發、測試、部署和運行的整個流程環節。

3主要實現路徑
3.1統一IT技術框架,建立PaaS平臺技術標準和規范體系
PaaS平臺接入和承載的業務系統越多,資源和技術組件的管理難度越大,運行風險越大,這就需要標準和規范來保障平臺功能的發揮效果,保證平臺具備高效的運維效率,還能促進應用標準化和服務接入的規范化。
因此,要統一IT技術框架,建立PaaS平臺技術標準和規范體系,包括PaaS平臺運維管理辦法、軟件開發技術標準與規范、PaaS服務技術標準和使用規范、微服務架構開發指導、CI/CD應用配置手冊、應用發布規范和基于容器的應用接入規范等。
3.2統一管理調度資源,構建彈性計算能力
首先,通過相應的接口對接IaaS資源,由PaaS平臺集中調度網絡、I/O和存儲等底層IaaS資源,向下為應用屏蔽底層基礎資源差異,向上提供統一的資源視圖和能力,包括集群、物理機、虛擬機、分布式存儲和網絡接入等。
采用Docker,Kubernetes,Kvm等技術構建基于容器、物理機和虛擬機的彈性計算平臺,如圖2所示,提供彈性擴展、按需分配和動態調整的計算服務。其中,特別是以彈性容器調度為支撐實現應用的容器化能力,一次構建、到處運行,解決了環境差異、部署架構復雜等問題,應用也可以更快速地交付、部署、遷移和擴展。另外,PaaS平臺具備高可用的集群架構,當應用異常或主機異常時,平臺業務不受影響,且能自動恢復。

3.3集成各類基礎組件,構建平臺化的組件能力
通過分布式計算技術、服務化解耦和公共能力提取等方法,將原來的煙囪和復雜的各類基礎組件,封裝、整合形成平臺化的技術能力,為應用的開發運維提供標準化、一體化的組件服務。平臺提供應用中間件、數據庫、微服務框架及核心組件服務、域名解析和負載均衡等一系列支撐應用服務,如圖3所示。

應用開發者根據自己的技術需求到平臺查找、選用組件,不用再關心技術組件的安裝部署細節和生命周期管理,可快速搭建自己的開發、測試和生產環境,真正實現業務支撐的“快速開發、快速部署”目標。
3.4構建CI/CD流水線,打造一體化的開發運維流程
PaaS平臺構建軟件CI/CD流水線,管理運行在PaaS平臺上的各個租戶在各階段的不同環境發布過程,形成持續的工程交付,支撐應用快速迭代部署上線。CI/CD流水線采用目前最流行的開源軟件和工具,包括Jenkins,GitLab,Maven,Test Link等,經過改造搭建端到端的交付流水線,打通開發、測試和運維之間的障礙,實現一體化的開發運維流程,如圖4所示。其包括以下幾個重要環節:
①需求與開發:本環節提出需求,并整理分析,過程中形成的文檔或者知識點,保存在知識庫中統一管理、共享,完成后提交給開發人員進行代碼開發。
②持續集成:開發人員根據用戶需求編寫好代碼后,提交代碼給Gitlab代碼倉庫,由平臺自動做代碼質量檢查、編譯、打包、構建和生成應用鏡像,推送到鏡像倉庫集中管理。
③持續部署與測試:將應用鏡像通過CI/CD自動部署到測試環境,采用系統自動+手動完成UAT測試、用戶測試和性能測試。
④上線運維:應用上線時,運營人員選擇不同運行環境對應的配置信息,拉取對應環境下鏡像倉庫中的鏡像,配合CD流水線,實現應用自動化上線。

3.5集中化平臺運維,實現端到端的閉環運維保障
為解決傳統煙囪式運維的局限和不便,PaaS平臺建設集成了一系列功能完善的運維應用,包括服務流程平臺、CMDB配置管理庫、運維自動化、集中監控、日志中心、預警中心、數據備份、知識庫、安全審計和分析報表等,基本涵蓋了各種運維場景,并由PaaS平臺統一管理、集中運營,實現了端到端的閉環運維保障。
4結束語
傳統企業基于PaaS平臺實現開發運維一體化,讓開發人員和運營人員合作與協同,可以快速完成應用開發、測試和生產,縮短產品交付周期。同時還能降低應用開發和運維的復雜度、降低重復性的人工成本、支撐業務敏捷和運營敏捷,最終推動并促進業務的快速創新發展。