隨著IT技術的發展,各行各業的產生的數據正在以爆炸性的速度增長。為了從這些數據中挖掘出可用的信息并進行持續應用,數據分析變得越來越重要。數據分析使決策變得更加準確和精細,近年來已經逐漸發展成為一個重要的IT技術方向。
云計算技術的發展使得計算資源逐漸集中化、虛擬化。怎么高效、可靠的運營這些云計算平臺上的資源就變成了一個重要的課題。本文主要介紹應用數據分析的方法來分析私有云平臺的系統容量和資源使用率,進而在提高資源使用率、平衡系統負載和控制進一步資金投入方面提供詳細的決策支持。
一、私有云平臺運維中的痛點和挑戰
在各行各業都在進行私有云建設的今天,在企事業單位中負責私有云平臺運維的部門也在承受著來自各個方面的壓力。業務部門總是不斷地要求更多的資源,更快的部署節奏;財務部門則會要求不斷地降低成本,盡量使用已有資源;私有云的運維部門則需要尋求適當的方法以在兩者之間達成平衡。
與公有云按時間計費的方式不同,一般作為企事業單位內部建設和使用的私有云并沒有成熟的計費體系,而作為資源使用者的一般員工對于成本更是不太關心。這就會導致一方面員工閑置了大量資源,而另一方面員工又在以各種業務需要為名義不停申請新的資源,進而導致私有云的運維部門總是感覺資源緊張而要求增加投資,財務部門則會感覺私有云是個需要不斷投入的無底洞。
二、以數據分析為基礎的私有云平臺優化系統概況
為了切實解決上述問題,我們需要一種有效的可度量的技術手段。而數據分析正好為我們提供了一種系統性的解決上述痛點和挑戰的方法。如圖1所示,基于硬件系統和虛擬化平臺之上的監控系統 (Universal Monitoring) 為整個優化系統提供關于私有云平臺的各種資源利用率的數據來源,同時在這一層動態生成虛擬機資源配置信息數據庫(Federated DB)。在此之上以數據分析的方法和相關軟件對監控系統產生的數據進行分析,并以分析結果生成關于資源利用率和系統容量的報表(Dashboard &Report)。最后根據報表進行資源優化調整和進行進一步投資的決策(Optimization)。這樣就形成了一個完整的私有云平臺建設和維護的循環:從投資到云平臺建設,再到監控現有平臺資源并分析資源使用情況,最后生成報表并采取優化措施和決定是否進一步投資。
▲圖1:私有云平臺優化系統系統架構圖
三、以數據分析為基礎的私有云平臺優化系統詳細介紹
3.1 系統監控
系統監控的目的是將所有系統資源配置和使用的情況置于集中統一的監控之下, 而監控系統會產生大量時序的監控數據,這是我們后續進行數據分析的數據來源。系統監控可以使用成熟的商業軟件如IBM Tivoli Monitoring(ITM)來達成這個目的。關于ITM在虛擬化環境中的部署可以參考文章(應用IBM Tivoli實現虛擬化環境的監控http://storage.it168.com/a2011/0106/1147/000001147294.shtml)。現在也出現了一些開源的軟件如Nagios, Cacti, Zabbix等,但開源軟件在不同平臺的適用性方面還需要做大量的定制才能達成目的。
3.2 Federated DB
Federated DB的目的是根據監控系統生成的配置數據生成云平臺中統一的配置信息數據庫,同時配置信息數據庫會與資源所有者等信息進行關聯以達到人、資源、配置等信息同步可查。
3.3 數據分析
數據分析是指通過技術、技能和實踐來持續探索和研究既往的業務數據從而獲得洞察力以驅動新的業務規劃。 可以運用IBM SPSS Modular對監控數據進行處理,根據不同的技術指標(如物理機CPU, 物理機內存,物理機Disk, 虛擬機CPU, 虛擬機內存等)進行分析及按照時間序列進行預測。找出不同物理機、虛機的資源利用率曲線及未來趨勢。同時開源的R語言也可以通過一定的編程達到上述目的。
3.4 報表
根據數據分析的結果,利用成熟的報表工具來呈現用戶關心的內容和關鍵指標。可以運用IBM Cognos報表工具來展示物理機及虛機的資源利用率、系統容量、虛擬機分類信息、用戶行為信息等云平臺運維部門和云平臺實際使用部門關心的不同信息。同時一些開源的報表工具如BIRT等也可以通過一定量的編程來實現上述目的。
3.5 系統優化
在獲得了準確的物理機及虛機的利用率、容量等信息以后,云平臺運維部門可以根據不同的情況對系統進行優化。如對資源利用率低的機器增加負載,以提高資源利用率;對資源率用率過高的機器減少負載,避免因為負載過高而產生問題。對于云平臺上的虛擬機,如果資源利用率較低,可以聯系用戶看是否可以刪掉這個虛擬機;如果虛擬機資源利用率過高,可以協調用戶給其增加必要的資源。通過這樣的方式,可以提高私有云平臺的整體資源利用率,提高系統可靠性。同時在進一步投資決策的時候可以參考現有系統的資源使用率和可用系統容量,進而從整體上降低私有云平臺的運營成本。
四、總結
目前數據分析在IT運維中還沒有得到大范圍的應用。由于私有云平臺自身的特點,數據分析在私有云運維中可以發揮較大的作用,但要想達到最終的目的,我們需要多層次的知識、技能和相應工具。從數據采集、數據分析、報表生成及采取相應措施來進行系統優化是一個集成了從底層到應用層的較長的過程。每一層都需要付出相當的努力才能最終將系統集成起來并發揮效益。