實現IT服務彈性伸縮的利器
隨著互聯網業務快速持續增長,IT資源使用量按需變化成為常態,這就要求信息部門能快速響應資源使用的變化要求,對運維提出不小挑戰。比如電商、在線教育等企業經常推出一些秒殺、搶紅包活動,在特定時間段對資源的利用處於高峰期,之後基本處於空閑。
幾年前,我們從申請采購到應用部署上線都只能人工操作,需要提前幾個月開始規劃。如今通過雲平臺能很好實現資源按需動態管理,運維人員可在雲平臺上根據實際業務需求申請或釋放資源。但申請到虛擬機之後,還是需要按照傳統方式從人工部署應用系統,根據工作規範一步步操作,這種方式還是很難應對服務變化快速響應的需求,給運維人員也帶來不少的工作量。
所以我們需要從創建虛機到部署應用整個完整鏈條的自動化能力,當業務量上升時,能自動增加應用服務來滿足上升的業務訪問量;當業務量下降時,能自動縮減應用服務。以此達到讓應用服務具有彈性伸縮的能力,保證應用穩定性和高可用性,同時也起到提升數據中心資源利用率的作用。
Automation具有雲基礎架構到業務應用的全棧自動化交付能力,可以便攜的實現應用服務自動擴縮容,下面我們以優雲官網自動擴縮容為例給大家介紹。
一、業務需求分析
優雲官網的業務應用架構(如下圖)包括負載層、應用層、存儲層,目前部署在阿裏雲上,其中應用層使用微服務化以及無狀態設計,支持水平擴展能力。
假如雙十二要舉辦一個互動活動,為了保障業務穩定運行,需要對業務應用層的主機進行監控,當CPU利用率持續大於60%後,自動往集群裏增加1臺機器,並能自動部署好應用服務上線接入運行。當CPU利用持續小於20%的時候,縮減1臺機器。
二、內置操作復用
Automation內置了滿足各種運維場景的自動化操作,如雲環境管理、數據庫中間件管理、應用部署、日常運維等。雲環境管理方面提供了阿裏雲、VMware、OpenStack的支持,優雲官網部署在阿裏雲,所以我們主要使用阿裏雲管理相關的操作。內置阿裏雲操作可實現ECS實例的創建、修改、銷毀、啟停和查詢等全生命周期管理,也可以通過平臺靈活定義私有操作滿足各種運維場景。
擴容場景需使用到阿裏雲ECS創建、啟動、查詢操作,實例啟動後需自動安裝操作Agent,之後安裝、啟動Tomcat服務、部署應用包以及負載均衡配置和重載生效。
上圖為創建“阿裏雲ECS實例”的操作信息:
1)輸入參數:integration_info、vm_conf;
a)integration_info為系統集成配置參數,可通過集成界面配置阿裏雲服務器地址、AccessKey、SecretKey等信息;
b)vm_conf為實例配置參數,支持區域、網絡、安全組、實例類型、鏡像等配置,接受JSON格式,如下:
2)輸出參數instance_id:指創建後的ECS實例ID,後續操作需使用該ID。
三、場景編排實現
有了操作之後,我們可以將操作串接起來形成滿足自動擴容的編排流程。Automation提供可視化的流程編輯器,可按擴容處理步驟一步步添加操作,前一個操作輸出參數值可被之後的操作引用,實現數據傳遞。
以下是自動擴容編排流程,自動縮容更加容易實現。
整個編排執行過程如下:
1)創建阿裏雲ECS實例:根據系統集成、實例配置信息在阿裏雲上創建實例並輸出實例ID;
2)啟動阿裏雲ECS實例:通過系統集成配置、引用第一步輸出實例ID參數信息來啟動雲上的實例;
3)實例IP查詢:通過系統集成配置、引用第一步輸出實例ID參數信息來查詢雲上的實例信息並輸出IP地址;
4)安裝Agent:根據前面任務的輸出信息,在目標虛擬機上安裝優雲Automation Agent;
5)安裝Tomcat:自動下載Tomcat安裝包並進行安裝,參數信息以及執行主機引用第三步輸出IP地址;
6)部署應用包:配置業務應用包、部署目錄等參數信息以及執行主機引用第三步輸出IP地址來部署應用包到Tomcat服務下;
7)啟動Tomcat:根據前面任務的輸出參數信息來啟動Tomcat服務;
8)負載均衡配置:在前置負載均衡上配置新增轉發實例IP地址;
9)負載均衡配置重載:重載負載均衡器以讓其生效。
四、自動觸發執行
系統支持手工、定時、API三種方式執行編排,其中API支持RESTFul協議,調用時可傳遞編排參數值。為實現動態自動擴縮容,我們采用優雲Monitor進行主機負載監控,當監控到應用服務器CPU負載持續高於60%時,自動調用Automation API的編排執行接口來完成自動擴容,如下圖:
調用後作業執行詳情如下:
我們可以查看每個任務的執行詳情,比如創建阿裏雲ECS實例:
阿裏雲上看到的實例信息如下,擴容已經自動完成:
本文出自 “優雲雙態運維” 博客,請務必保留此出處http://uyun2017.blog.51cto.com/12912719/1927654
實現IT服務彈性伸縮的利器