文|張霖 張煜東
云計算是在分布式計算、并行計算和網格計算等技術的基礎上發展起來的,是一種新興的共享基礎架構的方法。它可以自我維護和管理龐大的虛擬計算資源,提供各種IT服務。
近年來,云計算的應用研究在國內外發展迅速,許多大型企業都在進行應用“云化”研究,新華社也開始進行云計算技術在社內落地的探索,云計算平臺的測試技術是其中非常重要的環節。對于傳統計算系統,國內外已經在功能、性能、安全等方面建立了較完備的評測體系,但云計算平臺的評測理論與方法的相關研究還剛剛起步。
本文研究了現有的云計算平臺的通用評測體系,希望對云計算平臺的選型、驗收、運維提供參考;然后從新華社云平臺建設情況和要素出發,探索了新華社基準評測體系的建立;最后對新華社云平臺評測體系的前期準備工作——云平臺業務運維能力評估體系建設進行了分析。
NIST(美國國家標準與技術研究院)定義了云計算的五個基本特征:按需自助服務、快速可伸縮性、可度量的服務、廣泛的網絡訪問和資源池化(共享),這在標準方面確立了如何度量云計算平臺的方向。國內對于云計算平臺的評測體系研究則定義評測指標模型是一個統一的整體,不同指標反映云計算平臺的不同側面。云計算平臺通用評測模型(見圖1)包含6大類指標:網絡架構路由和交換能力、存儲架構快速響應能力、虛擬化能力、資源抽象與控制能力、服務成熟度和安全性保證能力。

圖1 云平臺通用評測指標體系
根據NIST定義,云計算平臺需要有廣泛的可以說無所不在的網絡訪問標準。通常來說,云計算平臺的過度延遲是由交換和路由引起的,需要評估網絡架構的路由和交換能力。一般情況下,交換和路由的具體指標如下:
路由指標有:CPU能力,包轉發、查表,路由協議支持,路由計算能力等;
交換指標有:傳輸速率,傳輸模式,支持的網絡類型、協議和標準等。
存儲架構的快速響應能力針對NIST定義云計算平臺的要有可度量的服務標準定義。存儲架構的快速響應能力確保用于保證數據和存儲服務的及時交付"數據和存儲服務的可用性。從數據服務能力和存儲服務能力的兩個角度建立12個評測指標:
數據服務能力評測指標有:用戶數、每秒連接數、每秒事務數、當前連接數、吞吐量、端用戶QoE、服務器利用率;
存儲服務能力評測指標有:讀寫速率、I/O速率、事務響應時間、吞吐量、服務器利用率。
虛擬化能力是針對NIST定義云計算的按需自助服務、資源池化、快速伸縮性標準定義。虛擬化能力是確保云平臺對使用者的服務透明,分為對計算資源、存儲資源、網絡資源進行虛擬化的能力。虛擬化能力衡量了NIST定義云計算的按需自助服務、資源池化、快速伸縮的標準,是保證云計算平臺性能的基礎。虛擬化有不同的層次,可以從宏觀運行性能指標和微觀部件指標來衡量:
宏觀虛擬化指標有:吞吐率、可擴充性、響應時間、暫停時間、性能隔離度、正常運行時間、減速比、加速比等指標。
微觀虛擬化指標有: CPU、內存、文件系統、2D/3D圖形性能、I/O設備、網絡設備等指標。
資源抽象與控制能力也是針對NIST定義云計算的按需自助服務、資源池化定義。資源抽象與控制能力一般從三個側面衡量:
計算資源池化:將服務器資源虛擬并整合到邏輯資源池,再通過調控機制把這些資源定位給具體應用;
網絡資源池化:對虛擬化環境下的網絡資源進行規劃和管理;
存儲資源池化:將存儲資源從復雜的硬件系統抽象出,用調度機制確保存儲利用效率最大化。
可評測指標:資源管理能力、遷移可靠性度量、彈性伸縮與效率、容量能力、監控及分析能力。
服務成熟度是針對NIST定義云計算的可度量的服務。服務成熟度是使云計算平臺的服務質量等級可量化。服務成熟度可分為5個小類指標:服務提供能力、服務監測能力、計量/計費能力、開發的接口能力、網絡響應性能。其中服務提供能力又分為3個小類指標:服務獲得、服務保證、服務效率。
安全性保證能力可衡量的方面比較廣泛,通常有:用戶管理的策略(對用戶賬號、角色的管理)、權限管理的策略(對不同權限和角色的賬戶所做的限定)、數據存儲安全策略、數據傳輸安全策略、數據使用安全策略、應用安全策略方面的保障。
根據初步設定,新華社云平臺定位于內部私有云平臺建設。本期建設基礎IT云平臺,實現IT設施的資源池化,為上層業務應用提供IT資源服務。基礎IT云平臺建設包括IT物理資源(網絡、服務器、存儲)虛擬化、云平臺操作系統和云平臺管理系統。通過云平臺對計算、存儲、網絡資源進行虛擬化管理,屏蔽服務器、存儲和網絡的異構特征,實現基礎IT資源的池化和虛擬化,提高IT資源利用率。結合云平臺建設的一般要素,可以分析新華社私有云建設要素有:
1)容量
面向社內未來業務考慮,新華社云計算平臺需要滿足社內眾多業務的云計算環境應用,這就意味著數據存儲器或許能達到PB乃至更高的數量級存儲。
2)性能
社內眾多實時性業務需要云計算平臺具有良好的性能。而性能需要付出成本,因此搭建社內云計算平臺需要一個良好的架構,在性能與成本之間進行平衡,并且提供的存儲I/O性能能夠滿足眾多用戶的訪問。
3)安全性
社內云計算平臺安全性包括數據存儲安全性和訪問安全性。數據存儲安全性常需要提供特定的數據保護方法,如RAID保護,多份拷貝和持續數據保護等;而訪問安全性可以通過權限控制、PKI公鑰管理等機制實現。
4)可擴展性
社內業務處于不斷增長態勢。云計算平臺需考慮的可擴展性包括存儲資源的動態增長、存儲的靈活適應性。存儲資源的動態增長要求存儲資源能夠根據社內用戶的使用量增長而共同增長,存儲的靈活適應性則需要云計算平臺能夠根據業務的需要的變化做到存儲資源的隨需響應。
5)可管理性
云計算平臺的可管理性是一項較高的要求,它需要提供一個良好的架構,保證在滿足云計算服務級別(SLA)下,需要有限的維護窗口就能可達到全天候的可用性。并且可通過用戶管理界面,輸出豐富的存儲報表。
6)面向特定應用優化
社內眾多應用對于云計算平臺的需求有一定差異,針對特定應用的優化可以改善云計算平臺效益。
在傳統應用上,評測通常由選型測試、驗收測試和運維測試三個環節構成[2]。新華社云平臺的基準評測體系,服務于過程管理,是保證過程的手段之一整個評測體系的應用,應該貫穿于云計算平臺的整個實施過程,保證云計算平臺的實施。
3.2.1.云計算平臺基準評測工具
雖然云平臺與傳統平臺有很大的差異,但傳統的評測工具在云平臺的評測中仍可使用。一般來說,云平臺基準評測工具可以包括3類:
(1)可用傳統基準測試方法來測量云計算平臺的一個或多個指標。可選擇的傳統測試工具有:SPEC(SPEC服務器應用性能測試)、LINPACK(可測試高性能計算機系統浮點性能)、NPB(NASParallelBenchmark并行處理測試)、HPCC(面向存儲訪問模型的基準測試)、IOzone(文件系統性能測試基準工具)、LMbench(反應時間和帶寬的微型測試工具)。
(2)結合云平臺的特點開發的專用于云平臺的基準測試工具,可選VMmark等。這類工具可完成一些特定場景的新華社云計算平臺的測試。
(3)結合實際測試平臺情況改造傳統的自動化測試工具:Jmeter(性能自動化測試工具)、Selemium(功能自動化測試工具)等。利用這些工具完成新華社云計算平臺的整體功能和性能的評測。
3.2.2.云計算平臺基準評測方法
根據國內一般采用的基準評測方法,新華社云平臺基準評測體系應該通過體系指標進行功能、性能等方面的基準測量,初步設想包括3個方面:
(1)給各個服務器預估權值,使用基準測試工具測試各個服務器在云計算平臺環境下的各自的性能表現,然后對這些的性能測試結果進行加權求和,用結果來評測云計算平臺的性能;
(2)性能差異測試。使用基準評測工具對比各服務器在云計算平臺與非云平臺環境下的性能差異;
(3)診斷云計算平臺系統的性能開銷。
我社云平臺建設目前處于從概念驗證到探索業務初步應用的階段,這需要逐步建立并實施評測體系。云平臺評測體系的建立需要結合現在的云平臺項目實施現狀,從運維入手,首先進行云平臺業務運維能力評估。
進行云平臺的業務運維能力評估工作有兩個方面。第一,在云平臺實施中摸索“云運維”需求,總結“云運維”經驗,進行云監控管理平臺建設的同時,注意進行數據的收集。需監控云平臺虛擬機、虛擬網絡性能,監控硬件設備工作狀態,記錄軟硬件故障告警,收集相關數據,為評測體系的建立做準備。第二,探索業務系統入“云”前測試工作的方法,降低業務系統遷移到云平臺運維風險,提高云平臺對業務系統的服務質量。
1) 云運維數據收集
新華社業務系統在“云平臺”實施的過程中,系統運維模式逐漸從原來的垂直、分散維護模式演變為“橫—縱—橫”三線技術保障架構,形成“云運維”模式。云監控管理平臺通過梳理“共享池化資源”管理、運維團隊管理及業務系統開發、接入規范三個方面內容,建設“統一管理、安全管理及自動化運維”的云監控管理平臺,滿足“云運維”需求。在“云運維”的過程中,搜集云平臺虛擬機、虛擬網絡性能,監控硬件設備工作狀態等多項指標數據。
2) “入云”前測試工作
業務系統“入云”前測試工作是應用在云平臺上線前的重要工作。在業務系統測試中,可引入“測試云”環節,降低業務系統接入的風險,保證上線質量。測試云是基于云計算的一種新型測試方案,本地化測試方案已經不能完全滿足云平臺測試工作需要,在邊開發邊測試邊上線的服務模式指導下,通過測試云平臺的建設,可以快速地實現測試環境的搭建,可以很好地實現軟、硬件環境、測試技術等測試資源的共享,在測試云中實現自動化測試、性能和壓力測試、安全測試、自動遷移等多種測試服務化。
目前SOASTA、Selenium、IBM等廠商已經有較成熟的測試云方案。我們通過自動化測試工具進行研究,提出“云中”測試工作目標:
(1)在傳統軟件測試同時,通過云監控管理平臺對云平臺系統性能指標進行監控,通過這些數據指導云平臺運維人員合理配置資源,制定彈性控制的工作方案;
(2)在測試云中對運行的業務系統進行在線遷移、系統宕機等極端情況測試,為業務運維人員提供緊急事件處理預案;
(3)從另一個角度監測業務系統運行情況,為開發人員提供數據依據,為項目管理人員提供項目規劃參考。
平臺業務運維能力評估是伴隨云平臺的實施、業務系統上線運行的過程,在這個過程中積累云平臺開發、運維經驗,在PAAS和IAAS層分別提煉出共性內容形成開發設計指導規范,在SAAS層提出軟件服務規范,并逐步建立新華社云計算平臺評測體系。
新華社私有云的建設工作已經逐步啟動開展起來,隨著業務“上云”準備工作的進行,測試的關鍵性會更加凸顯。本文研究了云計算的通用評測指標體系,并結合新華社私有云的特點和要素,基準評測方法,提出了新華社基準評測體系建立的基準評測工具和方法,分析了在云平臺逐步實施的條件下,建立新華社自有的云平臺測試體系的前期可實施工作,為今后實際工作的開展打下了良好基礎。