一個可供參考的面向大型集團公司的雲平臺架構解析
在過去的二十多年中,很多國內的大型集團公司都已經建立了非常龐大的業務資訊系統,包括 OA 系統、ERP 系統、CRM 系統、HRM 系統以及各種行業應用系統,為了保證這些業務資訊系統的長期穩定執行,還建設了一批支撐型資訊系統,如監控系統、身份認證系統、安全執行中心等。這些資訊系統通常在建設期間獨立招標採購、獨佔軟硬體資源,不與其他資訊系統集中招標、共享資源,導致資源浪費比較普遍,建設成本較高;運維期間則採取獨立運維的方式,不與其他資訊系統共享運維人員、工具和技術,導致運維成本較高和運維效率偏低。當已有資訊系統的規模越來越大,新的資訊系統不斷增加,資源浪費、運維效率低下和成本高昂的問題就變得更加突出,因此,越來越多的大型集團公司引入私有云來解決這些問題。
然而,大型集團公司的 IT 基礎設施有明顯的特徵,催生了相對獨特的雲端計算需求,所以需要結合大型集團公司的 IT 現狀和雲端計算需求來設計雲平臺的整體架構。本文針對大型集團公司的雲端計算需求,以業內標準雲平臺架構為基礎,提出了一個具有一定適應性的雲平臺架構。
大型集團公司的 IT 基礎設施特點
大型集團公司經過多年的資訊化建設,其 IT 基礎設施逐漸形成了以下特點:
1)IT 組織結構比較複雜。大型集團公司在全國甚至全球設立子公司開展業務,集團層面設立總部級的資訊化主管單位,子公司通常也會設立自己的 IT 部門,有些大型集團公司還會專門成立負責 IT 系統建設和運維的子公司。另外,大型集團公司多年來根據業務發展需求進行整合或拆分,IT 部門也會隨著被整合或拆分。這些因素直接導致了大型集團公司的 IT 組織結構非常複雜。一般情況下,一個子公司會承建和運維多個資訊系統,併為每個資訊系統設立專門的專案組。
2)資料中心存在層次結構。大型集團公司通常已經建成或計劃建設“兩地三中心”的總部級資料中心架構,並允許每個分公司就近建設區域級資料中心。總部級資料中心和區域級資料中心形成了資料中心的兩級架構,兩者通過廣域網互連。總部級資料中心通常部署整個集團公司範圍內都會用到的資訊系統,地區級資料中心部署地區子公司專用的資訊系統或對網路延遲敏感的資訊系統。
3)IT 資源異構程度較大。大型集團公司已經擁有了大量資訊系統,每個資訊系統是在不同時期由不同的專案組完成建設,所採購的軟硬體來自不同廠商的不同產品,導致大量異構 IT 資源並存。
4)IT 資源分配策略多樣化。大型集團公司中的每個資訊系統的資源分配策略可能會不一樣,核心系統需要採用最佳效能分配策略,非核心繫統可以採用最佳使用率分配策略,有些效能要求高的應用需採用物理機部署,有些效能要求較低的應用則可以採用虛擬機器部署。
5)遺留資訊系統比較多。大型集團公司在建設雲平臺之前就已經有了監控系統、ITSM 系統、CMDB、身份認證系統和安全執行中心等支撐型資訊系統,這些支撐型資訊系統提供的功能應當屬於完整雲平臺的一部分,但在雲平臺建設之前就已經存在了,所以建設雲平臺時沒有必要重複建設,而是要考慮如何與其進行整合。
大型集團公司的雲端計算業務需求
大型集團公司 IT 基礎設施具備的特點決定了對雲平臺的業務需求也有其相對獨特的地方。
1)雲平臺的租戶體系需要設計為多級結構。如圖 1 所示,雲平臺架構中需要設計多級租戶,根租戶對應的是整個集團公司,統一管理和分配集團公司範圍的所有云資源,即雲平臺所管理的所有資源。一級租戶對應子公司級別,是資訊系統的承建和管理單位,一個子公司可以管轄多個資訊系統。二級租戶可對應為資訊系統級別,是資訊系統的具體建設和運維專案組;針對大的子公司還可以將二級租戶對應到其內部的部門,然後在其下面再設立對應到資訊系統的三級租戶。當底層租戶需要資源時,應當向上級租戶申請資源配額,上級租戶檢視本租戶當前可用的資源配額,如果足夠就可以分配給下級租戶,如果不夠就再向更上一級租戶申請資源配額。根租戶的資源配額即為雲平臺的所有可用資源的集合,如果根租戶的資源配額不夠的話就意味著需要及時進行資源擴容。這種多層級的租戶體系結構即是設計模式中 Composite 模式的具體應用。
圖 1 – 雲平臺租戶體系
2)雲平臺的資源管理體系需要考慮資料中心的兩級架構。如圖 2 所示,雲平臺需要設計兩級資源管理體系,本地資源管理模組管理和控制本資料中心內的資源,將本資料中心的資源清單和資源使用情況上報全域性資源管理模組,接收並執行全域性資源管理模組下發的指令;全域性資源管理模組收集並彙總各個本地資源管理模組上報的資源資訊形成資源的全域性檢視,統一管理和排程位於所有資料中心的資源,下發指令給本地資源管理模組。從部署角度來看,本地資源管理模組會部署在每一個數據中心,包括總部級資料中心和地區級資料中心,而全域性資源管理模組僅部署在總部級資料中心。
圖 2 – 雲平臺資源管理體系
3)雲平臺的資源管理模組需要支援各種異構資源。由於大型集團公司的異構資源非常多,資源管理模組應避免直接通過 API 或 CLI 方式去操作各種底層資源,而是在中間增加一個資源介面卡,讓資源介面卡去適配底層各種不同廠商不同型號的資源,資源介面卡為資源管理模組提供統一的資源管理 API,如圖 3 所示。如果需要適配新的異構資源,只需要將資源介面卡與之進行適配整合,無需修改資源管理模組的程式碼。這其實就是設計模式中 Facade 模式的具體應用。
圖 3 – 資源介面卡
4)雲平臺需要支援資源分配策略的自定義。雲平臺會內建一些常見的資源分配策略,但云平臺不可能內建所有的資源分配策略,雲平臺要允許資訊系統的管理員根據其業務需求自定義資源分配策略,因此雲平臺需要設計一個策略引擎模組,負責策略的定義、解析和執行。這也是設計模式中 Strategy 模式的具體應用。
5)雲平臺需要與已有的支撐型資訊系統整合。雲平臺本身也屬於支撐型資訊系統,完整的雲平臺需要提供監控、身份認證、日誌分析等功能,但往往這些功能已經存在於已有的支撐型資訊系統中,設計雲平臺時要充分考慮複用這些已有的支撐型資訊系統,保護已有 IT 投資,這就需要雲平臺預留各種整合介面,以便與這些系統進行資料交換和應用整合。這裡面會用到設計模式中的 Adapter 模式。
大型集團公司雲平臺架構概述
針對大型集團公司的上述雲端計算業務需求,同時參考工業界雲端計算平臺架構和相關國際標準,本文提出瞭如圖 4 所示的雲平臺架構。
該雲平臺架包含資源介面卡、資源池、資源管理模組(包括本地資源管理模組和全域性資源管理模組)、策略引擎、流程引擎、資源編排模組、服務管理模組、門戶模組、運營管理模組、運維管理模組和外掛管理模組。下面的資源介面卡負責適配、組織、整合底層異構 IT 資源,從而構建出各種資源池,資源介面卡為上層資源管理模組提供了統一的資源管理 API。資源管理模組負責對資源池進行管理,按照資源的生命週期對資源池中的資源進行管理,根據使用者的需求從資源池中分配、排程資源。
為了更靈活地分配和排程資源,該架構設計了流程引擎、策略引擎和資源編排模組。流程引擎負責將各種操作步驟串接在一起,實現各種自動化流程;策略引擎方便管理員根據業務需求自定義資源分配策略;資源編排模組負責將各種雲資源進行編排和對接形成彼此關聯的資源組合模板,以實現複雜資訊系統的快速部署或擴充套件。服務管理模組按照雲服務的生命週期對雲服務進行管理。門戶模組為雲平臺的使用者、租戶管理員和平臺管理員分別提供了統一的操作介面。運維管理模組負責雲平臺和資源池的技術運維,遵循 ITIL v3 標準,面向機器和系統。運營管理模組負責雲平臺的業務運營,面向使用者和租戶。外掛管理模組為雲平臺提供了外掛機制,通過各種外掛與已有的支撐型資訊系統整合。各個業務資訊系統根據業務需求識別出所需雲服務,在雲平臺中完成服務的製作和釋出,形成服務目錄,並通過申請雲服務完成資訊系統的部署。
圖 4 – 雲平臺架構
大型集團公司擁有大量異構網路、儲存、虛擬化和物理機資源。網路資源包括來自各種廠商、各種技術規格的防火牆、負載均衡、網路交換機等;儲存資源包括來自不同廠商、不同型號的儲存陣列和 SAN 交換機;虛擬化資源包括來自不同廠商、不同版本的 Hypervisor;物理機資源包括來自不同廠商、不同型號的 x86 伺服器或小型機。為了給雲平臺的資源管理模組提供統一的 API 介面,雲平臺架構中針對每一種型別的資源分別設計一個資源介面卡,包括網路資源介面卡、儲存資源介面卡、虛擬化介面卡和物理機介面卡。這些介面卡為資源管理模組遮蔽了底層資源的異構性和複雜性,資源管理模組只需要呼叫介面卡的 API,再由介面卡去實際操控底層資源。另外,介面卡通過適配各種異構資源對這些資源進行組織、整合、池化,形成網路資源池、儲存資源池、虛擬伺服器資源池、物理伺服器資源池。當然,雲平臺需要按照一定的規則將具備相同能力和屬性的資源放到同一個資源池裡面,比如將效能高的儲存資源放到金牌儲存資源池,效能中等的儲存資源放到銀牌儲存資源池。從資源管理模組的視角,看到的是各種資源池,不會看到底層的異構資源。
資源池之上是資源管理模組,包括本地資源管理模組和全域性資源管理模組。本地資源管理模組專注於管理和控制本地資料中心的資源池,將資源池中的資源納管到雲平臺,負責執行全域性資源管理模組下發的資源部署命令,對所轄資源進行分配、排程、擴充套件和監控,並將結果反饋給全域性資源管理模組,資源分配是指系統部署時為系統選擇最佳的資源,資源排程是系統執行期間,按照業務量的增減對資源量進行縱向或橫向伸縮。全域性資源管理模組收集並彙總各個本地資源管理模組上報的資源資訊形成資源的全域性檢視,可以按照租戶、資料中心、資源型別等維度檢視全域性檢視;全域性資源管理模組統一監控、分配和排程位於不同資料中心的資源;全域性資源管理模組還負責統一處理使用者的資源部署請求,給各個本地資源管理模組下發資源分配和排程命令。本地資源管理和全域性資源管理構成了兩級資源管理體系,實現資源的集中式管控和分散式部署的有效結合。
策略引擎負責資源調配策略的定義、解析和執行,實現基於策略的自動化分配和排程,如果策略倉庫中的策略不能滿足業務要求,還可以允許管理員定製策略,讓某個資訊系統按照特定的策略進行資源的分配和排程,並可以將定製的策略儲存到策略倉庫中給其他資訊系統複用。策略包含分配策略和排程策略,分配策略是指資訊系統部署時選擇最佳資源的策略,排程策略是指系統執行時,根據系統維護的要求或業務量的增減對資源進行調整和遷移的策略。
流程引擎負責將資源分配、排程、配置和運維過程中涉及的實際操作步驟進行串接,以實現操作步驟的自動流轉,進一步實現複雜的自動化流程,包括伺服器自動化流程、網路自動化流程、儲存自動化流程等。流程引擎允許管理員定義和編排流程,在實際資源分配、排程、配置和運維過程中,流程引擎對涉及的流程進行解析並執行,併為自動化流程提供可配置的能力。管理員建立的流程可以儲存到流程倉庫以實現流程複用。
服務管理按照雲服務的生命週期對其進行管理,允許管理員定義雲服務的部署模型和功能模型,併為部署模型設定一定的自動化流程和分配策略,允許管理員設定雲服務的申請介面和使用者輸入引數。當用戶申請了所需的雲服務之後,服務管理模組對其進行服務開通,將服務開通涉及的自動化流程告知流程引擎,由流程引擎對其進行解析和執行,並將服務開通涉及的資源分配策略告知策略引擎,由策略引擎對其進行解析和執行。策略引擎會將資源分配請求發到全域性資源管理模組,最後返回給服務管理模組,至此完成服務開通的動作。服務開通之後,雲平臺要通過規範的運維保障工作確保所交付服務的 SLA 滿足使用者要求。
資源編排模組提供圖形化的介面讓管理員(租戶管理員或平臺管理員)對雲平臺中的各種雲資源進行配置、組合、編排和串接,形成資源模板,以適配特定資訊系統的拓撲結構。管理員定義好了資源模板後,可以釋出為一個新的複合型雲服務。使用者申請該複合型雲服務即觸發該服務的開通工作,資源編排模組會解析資源模板及使用者輸入引數生成對資源型別、屬性和數量的具體要求,然後傳遞給全域性資源模組進行資源的分配和部署。管理員可以基於模板倉庫中內建的模板進行修改以快速定義複合自己需求的資源模板,建立好的資源模板也可以儲存到模板倉庫以實現複用。
門戶模組提供了使用者門戶、租戶管理門戶和平臺管理門戶。使用者門戶為雲服務的終端使用者提供了直觀易用的自服務介面,在該介面中終端使用者可以完成服務申請、資源檢視、資源操作等工作。租戶管理門戶為租戶管理員提供了直觀易用的自助管理介面,在介面中租戶管理員可以申請配額、建立使用者、定義本租戶可見內的服務、定義資源模板、制定適應本租戶的分配策略等。平臺管理門戶為雲平臺管理員提供了直觀易用的操作介面,幫助其完成系統運維和運營領域的各項工作。
運維管理模組負責雲端計算平臺的系統運維功能,遵循 ITIL V3 標準,提供容量管理、效能管理、安全管理和日常管理等功能。容量管理通過對資源的歷史執行狀況進行統計分析,並按照容量預測模型對未來的資源需求進行預測。效能管理通過實時採集資源的效能指標實現對資源執行狀況的監控,如果指標超過一定的閾值,則產生告警事件,並呼叫相應的事件處理流程。安全管理包括伺服器安全、儲存安全、資料安全、網路安全和虛擬化安全等方面的保障工作。日常管理包括故障管理、問題管理、配置管理、系統管理、監控管理和變更管理。如果運維管理模組中所涉及的功能在已有的支撐型資訊系統中已經存在,就沒有必要在新建雲平臺中實現該功能,而是通過外掛管理模組與已有的支撐型資訊系統的相應功能模組進行整合。
運營管理模組負責雲端計算平臺的業務運營功能,包括使用者管理、租戶管理、配額管理、許可權管理、計量與計費管理等功能。使用者管理對使用者進行建立、分組和授權等。租戶管理負責對多級租戶進行管理和配置,維護租戶和租戶之間的父子關係、租戶和使用者之間的使用關係、租戶和配額之間的關聯關係等。配額管理負責把資源分配給各級租戶,確保各級租戶對資源的使用不能超過配額。許可權管理負責為使用者指定操作和資料許可權。計量與計費管理對租戶的資源使用情況進行計量,儲存計量資料,定期生成計量報告,計量資訊包括資源的型別、資源的使用量及使用時間;平臺管理員可為各種資源設定費率,系統可以基於計量資訊及費率,產生租戶的費用清單。
外掛管理模組主要是為了與已有的支撐型資訊系統進行整合而設計的,外掛管理模組設定了外掛機制,允許已有的支撐型資訊系統通過外掛為雲平臺提供必要的功能,同時也允許業務其他資訊系統為雲平臺補充額外的功能,雲平臺通過各種外掛與已有的支撐型資訊系統和其他業務資訊系統進行資料交換和應用整合,例如,雲平臺的運維管理模組不用實現監控功能,而是通過監控外掛複用遺留監控系統中的相關功能。
總結
本文提出的雲平臺架構為適應大型集團公司 IT 基礎設施的特點,專門設計了多級租戶管理體系、兩級資源管理體系、資源介面卡模組、外掛管理模組和策略引擎等,能夠在一定程度上滿足大型集團公司的雲端計算業務需求,但同時也增加了雲平臺架構的複雜性,進而增加了雲平臺設計和開發的難度,大型集團公司參考該雲平臺架構時需要詳細評估涉及的工作量和技術風險。另外,該架構側重於 IaaS 層面,未考慮 PaaS 的特殊性,據此進行 PaaS 平臺架構設計時也需要補充相關的功能模組。
文章來自微信公眾號:細說雲端計算