孫建剛,劉月燦,王懷宇,張 攀,儲方誠,朱洪森
(1.國家電網有限公司信息通信分公司,北京 100761;2.南京南瑞信息通信科技有限公司,南京 210018)
云計算[1-2]是繼互聯網、計算機后信息時代的又一次革新。隨著云計算技術的不斷發展,越來越多的企業為自己搭建自有的云平臺,用來承擔企業的各項業務,面向內部人員提供服務。云計算技術的出現使得傳統的資源管理方式不再適用于云資源管理。云計算技術用各種軟硬件資源構成各種虛擬的邏輯資源,并將這些虛擬資源組成一個大的資源池,供企業各項系統使用[3]。《Flexera2021 年云狀態報告》數據顯示,企業上云后平均浪費了30%的云支出,云成本預算處于失控狀態[4]。因此,如何有效地管理云平臺虛擬資源是企業云管理過程中一個重要的問題。本文基于PDCA(plan,do,check,act)管理模型提出的資源管理方法助力企業有效管控各項業務系統的資源需求,提高云資源使用率,降低成本。
PDCA 模型適用于各行業的日常管理過程。PDCA 循環管理是自我發現、自我完善、自我發展的質量管理活動的科學程序和規律總結,不僅是被國內外諸多領域的實踐證明了的科學有效的質量管理方法,而且還是能使任何一項工作有效進行的合乎邏輯的工作程序。PDCA 是一個動態循環的過程,云資源管理也是持續動態演進的一個過程。企業云平臺管理人員需要主動開展云資源管理工作,建立循環往復、持續改進的云資源管理機制,以此推動云資源的充分利用,提高云資源使用率[5-6]。
參考PDCA 管理方法,增加資源評價環節,以5 個過程管控手段加1 個評價晾曬分析,構建“5+1”資源管理模型,指導企業云管理部門持續開展資源管理工作。模型主要從資源規劃、資源申請、資源分配、資源調整、資源回收5個必要環節進行云資源管理,通過資源評價反饋資源管控中各環節的問題,構成提出問題、解決問題、實現目標的云資源全生命周期閉環管理,使得云預算不再失控[7]。
通過對本年資源分配容量、資源增長趨勢和用戶增長量的分析,結合企業內部各部門的次年需求,統籌規劃確定年度云平臺擴容規模。每年年底統一開展需求統籌工作,通過收集次年業務系統建設需求及擴容需求,分析云上系統資源增長趨勢,綜合考慮云平臺剩余資源情況與系統資源使用率,形成云平臺資源年度規劃需求。計算方法如下:
年度規劃需求=(新建業務系統資源需求+在運業務系統資源增長量-(平臺總量×80%-已分配量))×資源利用率指數
計算結果為云平臺某組件資源需求,每個組件均需單獨計算,各參數說明如下:
新建業務系統資源需求:為次年上云系統資源需求,主要為新建系統上云資源需求。系統資源應根據業務系統的業務量、用戶數、重要程度等參數評估測算,具體公式如下[8-9]:
資源測算計算方法:
虛擬CPU核數:vCPU=(TASK×S×F(/T×C))/149
虛擬內存(GB):vMEM=vCPU×N
存儲資源測算方法:
結構化數據容量:SD=RU×UN×BS+[DU×12+(12-1)×6×MU]×[(PN+LN)×PS×30]
非結構化數據容量(KB):NSD=(DU+MU×12)×US
資源申請指在年度規劃需求的基礎上,系統上云時開展資源申請內容填報。
(1)計劃內資源申請。依照年度規劃里收集的新建業務系統資源需求為計劃內資源,相應業務系統上云時填報資源申請表,按需申請云平臺組件資源。
(2)計劃外新增申請。若業務資源申請并非年度規劃里的新建業務系統資源需求,或者與計劃內的業務系統資源需求差異過大,應按統籌規劃的資源測算標準重新評估,并根據云平臺資源冗余情況考慮云平臺規模調整[10]。
資源初始分配時默認按照最小化原則滿足業務系統部署,根據系統部署和運行情況,按照資源調整方法逐步增加或減少分配的資源。
(1)最小化分配方式。資源申請后,ECS 虛機類資源規格參數默認按照最小化原則設置(詳見下表),即最小資源規格分配方式;容器類資源還需按照總體容器節點需求量40%進行初期資源分配。
(2)部署配置調整。系統部署時,如資源分配不能滿足業務系統實際使用,存在應用服務無法正常啟動、CPU 內存使用率過高等情況時,參考當前系統使用率或報錯信息進行調整擴容。

表1 最小化資源開通規范

表2 系統部署期間擴容標準
資源調整是指針對在云上投運的業務系統,以業務視角通過實時監控、周期評價查看分析業務系統云平臺資源使用情況,及時發現閑置、需要調配的資源,提出優化建議并主動進行資源調整,定期記錄運行情況,靈活、高效開展資源擴縮容工作。
(1)調整策略。針對投運業務系統在定期巡檢、資源告警等不同場景,實行不同的調整策略。
周期性調整:針對投運超過1 個月的系統,通過資源指標監控和定期巡檢,每周或每月分析資源使用情況,根據資源利用率、資源閑置率等評價指標開展擴縮容。對于存在周期性規律的資源對象,可以制定定時擴縮容策略,按時執行資源擴縮容調整。
告警型調整:制定相關業務系統或應用實例的資源監控指標和告警觸發閾值,系統投運后實時監控。當觸發閾值時,根據告警信息自動或手動完成資源調整。
業務資源需求變更:在業務功能模塊即將上/下線時,短期調整資源以應對已知功能模塊上/下線,沒有固定的觸發閾值,根據實際業務資源使用情況和變更情況完成業務系統或應用實例的資源調整。
(2)調整方式。當觸發資源調整時,針對不同的云平臺組件,結合系統部署架構,確定調整動作和調整內容,開展資源調整擴縮容工作。其中,調整動作主要分為橫向擴縮容和縱向擴縮容,說明如下。
橫向擴縮容:針對云服務器(ECS 等)、容器等,通過自動化擴充/縮減服務器數量規模來改善資源利用率,通常不需要中斷業務,對業務影響最低。
縱向擴縮容:通過改變單個云服務器(ECS等)、云數據庫(RDS 等)的CPU、內存等配置來改善資源利用率,一般需要服務重啟。對系統部署方式無要求。
資源回收[10]是指針對業務系統下線、資源不再使用或閑置情況,每月定期開展資源回收工作,有效保障云資源合理充分利用。資源回收包括以下四種情況。
(1)僵尸資源回收:每月度末針對資源利用率低且系統長期不使用、資源不釋放的情況,開展資源回收。
(2)閑置資源回收:業務系統上云后,超3個月未投運,按最小化原則降配;超6個月,則進行資源回收。
(3)系統下線回收:已下線業務系統,與業務系統所屬部門核實后,開展資源回收工作。
(4)測試資源回收:對于已超過申請周期的測試資源開展資源回收工作。
本方法在某企業某數據中心云平臺上實驗后,成果明顯。原先某個系統的100 個微服務,網關服務和注冊服務業務運行指標如表3 所示,根據公式計算出該服務計算需求為vCPU 4 核,內存8 G。所有微服務以此方法測算總的計算需求約為vCPU 400 核,內存800 G,從而指導該系統需要申請的資源實例數量及規格。而原先系統人員自身評估需vCPU 550 核,內存1340 G。使用該方法測算出資源需求,公式測算評估vCPU 節約112 核,內存節約498 GB。本環節資源測算方法更加精細,能夠在滿足業務需求,確保安全穩定運行的基礎上,避免后續資源分配沒有上限,造成資源浪費。

表3 微服務運行指標
根據前期資源測算結果,按照最小化分配原則進行資源分配,實際分配總量為vCPU 160核、內存320 GB、結構化存儲1600GB、非結構化存儲300 GB。分配后資源分配量占總需求比例分別為:vCPU 40%,內存40%,存儲30%,最小化分配后資源使用率分別為vCPU 21.6%,內存36.8%,滿足業務部署需求,后續根據實際業務量進行動態調整。
通過巡檢,分析發現另一系統資源使用率較低,對該系統部分資源實例進行手動降配,經過本次縮容調整,節省vCPU 約600 核,內存約800 GB。CPU 利用率從3.4%提升至27.9%,CPU 利用率較調整前提高694.1%,內存利用率從15.7%提升至44.6%,內存利用率較調整前提高184.1%。
該數據中心云平臺開展資源回收工作,回收僵尸資源、閑置資源、系統下線后資源、測試資源。累計回收vCPU 約7000 核,內存約18000 G,存儲約180 TB,提升了云平臺整體資源使用率。
綜上所述,本文提出了基于PDCA模型的云資源管理方法,詳細分析和介紹了每個階段的目標和方法,初步形成了科學有效的云資源管理方法論。使用該方法對云平臺資源進行管理,有助于企業提升云平臺資源利用率,減少云資源的浪費,降低云平臺建設、使用預算,最大程度上減少在云平臺上不必要的支出。本研究同時也可以為其他云平臺資源管理方法研究提供思路和借鑒。