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