天天看點

從人工到自動,泛微雲上自動化部署實踐一、痛點:手動部署困境二、自動化部署利器:資源編排服務ROS三、ROS的特點:IaC和标準化部署四、ROS 如何助力泛微自動化部署五、收獲價值:效率提升10倍

作者:阿裡雲彈性計算技術專家 閑炎
從人工到自動,泛微雲上自動化部署實踐一、痛點:手動部署困境二、自動化部署利器:資源編排服務ROS三、ROS的特點:IaC和标準化部署四、ROS 如何助力泛微自動化部署五、收獲價值:效率提升10倍

泛微成立于2001 年,總部設立于上海,專注于協同管理OA軟體領域,并緻力于以協同OA為核心幫助企業建構全新的移動辦公平台。在移動辦公領域,打造了上海醫藥、複星集團、綠地集團等多個業界标杆。

近年來,随着雲辦公的興起,一些集團性企業(企業使用者量在幾萬、十幾萬人)也開始嘗試私有雲部署模式。泛微借助阿裡雲的底層優勢,将部分客戶的服務遷移到雲上,從硬體和網絡上保證使用者能夠高效通路 OA 系統,包括:

• 應用端采用高可用、可擴充性的叢集架構。針對集團型大型客戶人員快速增長具有“無縫式”快速擴容資源,可以滿足客戶不同場景需求。

• 資料端支援阿裡雲RDS資料源,能夠保障使用者高并發下業務支撐的穩定性,同時可以提升單機的承載能力,提升資料庫端承載壓力,并對容災性具有很大的提升。

• 使用者資料自動備份,采用 ECS 自動快照備份政策,應用附件通過 OSS“加密”存儲,資料庫采用實體備份+整庫閃回政策。

• 安全方面使用阿裡雲盾可以針對WEB、APP、網絡業務等進行整體防護, 保護使用者資料安全 。

從人工到自動,泛微雲上自動化部署實踐一、痛點:手動部署困境二、自動化部署利器:資源編排服務ROS三、ROS的特點:IaC和标準化部署四、ROS 如何助力泛微自動化部署五、收獲價值:效率提升10倍

泛微在阿裡雲上的基本部署架構

一直以來,這種上雲架構都是專門的運維人員通過手動部署的方式進行。針對不同體量的客戶,部署架構也有所差別。随着泛微 OA 客戶的雲上客戶增多,為每個客戶手動部署所産生的問題日益凸顯。

一、痛點:手動部署困境

1、效率低下、失誤率高

泛微 OA 軟體的部署分為兩個部分:

• 所依賴的雲服務資源部署,如專有網絡、交換機、安全組、ECS 執行個體、RDS 執行個體、SLB 執行個體、Redis 執行個體、NAS 等

• 應用軟體部署,如 JDK、泛微 OA 服務端,以及啟動前的各種配置

所有雲資源都需要通過手動方式一個個建立,其之間的關系也需要人工自行配置。在所有雲資源就緒之後,還要手動安裝軟體包并配置各種參數。完整流程下來要耗費數個小時。這個過程還可能遇到配置錯誤的問題,失誤率高,使得整體部署時間可能變得更長。

2、非标準化

由于是人工部署,就意味着哪怕是同一個運維人員,每一次部署的結果都有可能是不同的。比如錯配了一個端口、安裝錯了某個版本。而由于部署文檔的不完善,叢集化部署方法更多地是有經驗的部署同學自己掌握,新人往往會有學習成本和試錯成本。

如果不能标準化整個部署流程,那麼中間環節出現錯誤的可能性就會大大增加,也會增加整個公司的成本。

3、管理困難

手動建立好雲服務資源後,管理各雲服務需要去對應控制台,我們很難對整體資源進行管理。而在面對擴縮容叢集場景時,無法輕易地了解全局部署情況,擴縮容也會變得困難和複雜。

二、自動化部署利器:資源編排服務ROS

面對手動部署的痛點,泛微亟需自動化部署的方式降低部署成本、提升部署體驗。最終,泛微通過阿裡雲的資源編排 ROS 完成了手動到自動化的轉型,實作了10倍以上的提效。

什麼是資源編排服務?

資源編排服務 ROS(Resource Orchestration Service)是一款幫助阿裡雲使用者簡化雲資源管理的自動化服務。通過編寫 JSON/YAML 格式的模闆,在模闆中定義所需的雲服務資源(如 ECS 執行個體、資料庫執行個體等)以及資源依賴關系等,根據此模闆在 ROS 中建立資源棧,ROS 服務端将根據模闆自動完成所有資源的建立和配置,實作自動化部署及運維。而資源棧則管理着模闆中定義的所有資源,并可通過新模闆來更新資源棧,在資源棧中新增、更新或删除部分或所有資源。

從人工到自動,泛微雲上自動化部署實踐一、痛點:手動部署困境二、自動化部署利器:資源編排服務ROS三、ROS的特點:IaC和标準化部署四、ROS 如何助力泛微自動化部署五、收獲價值:效率提升10倍

三、ROS的特點:IaC和标準化部署

借助阿裡雲的資源編排服務,使用者可以向基礎設施即代碼這個未來趨勢轉型,實作标準化部署。

1、基礎設施即代碼

基礎設施即代碼(Infrastructureas Code,IaC)的理念是将基礎設施配置視為軟體程式設計。使用 ROS 可以幫助最快速地實踐 DevOps 中關于 IaC 的理念,通過模闆來定義和管理基礎設施。在 DevOps 實踐中,資源編排可以輕松地克隆開發、測試、線上環境;同時,也可以更容易實作應用的整體遷移和擴容。

2、标準化部署

在實踐中,不同環境的細微差異往往帶來非常複雜的管理成本,延長了問題診斷的時間,進而影響了業務的正常運轉。通過使用 ROS 模闆可以将部署環境标準化,減少不同環境的差異,将環境的配置沉澱到模闆中。再通過版本管理、CodeReview 等流程,保證部署的标準性。

四、ROS 如何助力泛微自動化部署

使用ROS實作自動化部署,使用者需要經過下面幾步:

1、定義模闆

基于泛微的部署架構,根據 ROS 的模闆文法,在模闆中聲明所需要的阿裡雲資源(如 ECS 執行個體、資料庫執行個體等)、參數、描述、條件等内容。模闆的基本内容如下:

從人工到自動,泛微雲上自動化部署實踐一、痛點:手動部署困境二、自動化部署利器:資源編排服務ROS三、ROS的特點:IaC和标準化部署四、ROS 如何助力泛微自動化部署五、收獲價值:效率提升10倍

ROS 還提供了可視化編輯器能力,可在編輯器中拖拽資源來生成模闆,也可通過現有模闆檢視架構圖。

從人工到自動,泛微雲上自動化部署實踐一、痛點:手動部署困境二、自動化部署利器:資源編排服務ROS三、ROS的特點:IaC和标準化部署四、ROS 如何助力泛微自動化部署五、收獲價值:效率提升10倍

2、模闆解析與執行

通過 ROS 控制台可使用定義好的模闆來建立資源棧,以建立出所定義的雲資源并進行應用軟體安裝、配置。

當 ROS 接收到使用者建立資源棧的請求時,會對模闆進行解析。解析包括文法檢查、參數校驗、依賴分析等。依賴分析就是分析出資源間的依賴關系,目的有兩個:

• 確定建立順序的正确性:被依賴資源建立完成後才會建立依賴資源。

• 資源并行建立能力:無依賴關系的資源可以并行建立。

模闆解析完成後,就會開始建立資源。每個資源在建立開始、建立完成、建立失敗均會有事件通知,可在控制台檢視。資源建立完成後也可看到資源的 ID,并點選跳轉到對應産品的控制台。

通過模闆可以快速地重複部署,尤其多地域、多可用區部署的情況;同時也可以減少環境之間的偏差,将部署過程和結果标準化,減少因為環境偏差引入的系統問題。

五、收獲價值:效率提升10倍

泛微使用資源編排服務 ROS之後,部署一個OA系統從原來的手動部署一天,到現在隻需要1小時,效率提升了10倍以上,整個部署過程變得順滑和标準,極大提升了部署人員的幸福感。

雲計算時代,部署和管理雲服務資源是最基礎的操作,資源編排服務 ROS 作為阿裡雲上原生的自動化編排部署服務,讓自動化部署的過程發揮到了極緻,為泛微提供了強有力的支援,讓泛微在雲上的體驗暢通無阻。