朱巖+朱杰媛+高翔+田小鷹
摘 要
隨著人們對云計算服務(wù)設(shè)施的測試技術(shù)不斷進行研究,高效云測試技術(shù)的重要性越來越凸顯。本文首先介紹了云計算國內(nèi)外的研究現(xiàn)狀,接著指出了測試技術(shù)的研究方向,進而探討了具體的研究內(nèi)容,旨在滿足云計算服務(wù)設(shè)施日益提高的質(zhì)量需求。
【關(guān)鍵詞】云計算 服務(wù)設(shè)施 測試技術(shù)
目前,人們已開始對云計算服務(wù)設(shè)施的測試技術(shù)等問題進行研究,但仍處于初步探索階段,尚未形成成熟系統(tǒng)的方法。彈性是云計算服務(wù)設(shè)施的核心內(nèi)在特性,性能穩(wěn)定可靠是云計算服務(wù)設(shè)施的關(guān)鍵外部需求。保障彈性和性能可靠性是云計算服務(wù)設(shè)施對外提供高質(zhì)量服務(wù)的基礎(chǔ),也是當(dāng)前軟件評測領(lǐng)域的難點。
1 國內(nèi)外研究現(xiàn)狀
云計算是一種基于互聯(lián)網(wǎng)的新型服務(wù)模式,通過網(wǎng)絡(luò)提供可動態(tài)伸縮、按需付費的廉價計算服務(wù)。當(dāng)前云計算技術(shù)已在民用商務(wù)服務(wù)、科研、政務(wù)等領(lǐng)域已得到不斷應(yīng)用,在電力信息化等領(lǐng)域也已得到廣泛關(guān)注。
按照服務(wù)模式的不同,云計算可分為多個層次:軟件即服務(wù)(Software as aService, SaaS)、平臺即服務(wù)(Platform as a Service, PaaS)和基礎(chǔ)設(shè)施即服務(wù)(Infrastructure as a Service, IaaS)。其中, IaaS 云是基礎(chǔ)的云計算服務(wù)設(shè)施,以虛擬機等形式,提供CPU、內(nèi)存、存儲、網(wǎng)絡(luò)等基本計算資源,用戶可以在這些基礎(chǔ)服務(wù)設(shè)施上構(gòu)建PaaS云或SaaS云。典型的云計算服務(wù)設(shè)施包括阿里云、Amazon EC2、Microsoft Azure等;基于OpenStack,也可以搭建類似的開源云計算服務(wù)設(shè)施解決方案。
在云計算的發(fā)展中,云計算服務(wù)設(shè)施的建設(shè)是關(guān)鍵,保證這些基礎(chǔ)設(shè)施的質(zhì)量可信是推進云計算技術(shù)應(yīng)用的基礎(chǔ)。然而,作為一種新興軟件形態(tài),云計算服務(wù)設(shè)施的結(jié)構(gòu)和功能特性與傳統(tǒng)軟件均有顯著不同,傳統(tǒng)方法難以繼續(xù)沿用。人們已經(jīng)開始云計算服務(wù)設(shè)施質(zhì)量保障方面的探索,但目前尚未形成成熟的解決方案。亞馬遜、谷歌、阿里巴巴的云服務(wù)都曾先后出現(xiàn)應(yīng)軟件問題而出現(xiàn)大規(guī)模宕機的情況,給云基礎(chǔ)服務(wù)供應(yīng)商和構(gòu)建在其上的上層應(yīng)用提供方帶來至少數(shù)千萬美元的損失。為保障云服務(wù)可靠性,作為保障軟件質(zhì)量的一種重要方法,面向云計算服務(wù)設(shè)施的測試技術(shù)得到了越來越多的關(guān)注。
2 研究目標
公司現(xiàn)正開展一個以電力業(yè)務(wù)為背景的云計算虛擬化項目。項目的總體目標是針對以虛擬機等形式提供服務(wù)的云計算服務(wù)設(shè)施,從其核心特性彈性和性能可靠性出發(fā),研究高效系統(tǒng)的測試方法,以及作為測試支撐的運行時監(jiān)控技術(shù),構(gòu)建適應(yīng)大規(guī)模云環(huán)境需要的測試平臺,解決云計算服務(wù)設(shè)施在質(zhì)量保障方面的難題,為其在電力等高可靠性要求領(lǐng)域的深入應(yīng)用奠定基礎(chǔ)。
其中,重點需要解決的問題包括:
云計算服務(wù)設(shè)施有哪些評價指標,其總體測試過程如何規(guī)范地實施?
云計算服務(wù)設(shè)施的核心特性彈性應(yīng)如何測試,如何評價系統(tǒng)的彈性化資源分配能力?
如何測試云計算服務(wù)設(shè)施在出現(xiàn)局部故障的情況下,是否始終能夠?qū)ν馓峁┬阅芊€(wěn)定可靠的服務(wù),從而最小化系統(tǒng)運營帶來的經(jīng)濟和社會風(fēng)險?
如何監(jiān)控大規(guī)模云環(huán)境,并基于監(jiān)控進行必要的異常檢測和診斷,從而支撐相對真實的高負載環(huán)境下測試方法與技術(shù)的實施?
3 研究內(nèi)容
3.1 基于彈性伸縮模型的云計算服務(wù)設(shè)施彈性能力測試技術(shù)
彈性是云計算服務(wù)設(shè)施的一個核心特性,為保證其能夠經(jīng)濟、高效地滿足不同用戶不同時刻的不同資源需求,必須對云計算服務(wù)設(shè)施的彈性能力進行有效測試。在現(xiàn)有工作中,人們已對云計算系統(tǒng)的彈性評估進行了一些研究,但這些工作一方面未能系統(tǒng)地評估復(fù)雜資源使用場景下云計算服務(wù)設(shè)施的彈性表現(xiàn),另一方面,忽略了彈性的內(nèi)部實現(xiàn)機理,未能對不同資源擴展和收縮方式下的彈性實現(xiàn)質(zhì)量進行有效評測。為滿足云系統(tǒng)日益提高的質(zhì)量需求,必須對與云服務(wù)設(shè)施的彈性能力測試技術(shù)進行更深入系統(tǒng)的研究。
3.2 基于故障注入的云計算服務(wù)設(shè)施性能可靠性測試與評估技術(shù)
對于云計算服務(wù)設(shè)施,不僅需要保證彈性能力,還需要保證系統(tǒng)能夠正確可靠地處理節(jié)點失效等各種資源異常情況,以始終對外提供穩(wěn)定的性能表現(xiàn),滿足系統(tǒng)的服務(wù)層協(xié)議(SLA),以及用戶對系統(tǒng)的性能期望。已有的性能測試研究中,人們大多關(guān)注性能測試的執(zhí)行、測試結(jié)果的分析等問題,極少考慮性能的穩(wěn)定性。為支持上述特性的保證,項目將以故障注入為基礎(chǔ),研究系統(tǒng)化的云計算服務(wù)設(shè)施性能可靠性測試方法,通過審慎的測試,形成對系統(tǒng)性能穩(wěn)定性的有效評估。
3.3 大規(guī)模云環(huán)境運行時監(jiān)控、檢測及其智能診斷技術(shù)
運行時監(jiān)控是云計算服務(wù)設(shè)施彈性能力測試、性能可靠性測試,以及檢測系統(tǒng)是否能夠?qū)崿F(xiàn)按需服務(wù)、負載均衡等工作的基礎(chǔ)。通過監(jiān)測,才能夠準確了解系統(tǒng)當(dāng)前的資源分配和使用情況,通過運行時控制才能夠?qū)崿F(xiàn)性能故障的注入。
研究基于監(jiān)控數(shù)據(jù)的性能異常診斷方法,以幫助識別造成上層云應(yīng)用性能異常的資源瓶頸,改進資源分配策略,從而提升云應(yīng)用的性能。
3.4 基于云測試的云計算服務(wù)設(shè)施的測試平臺及其運用驗證技術(shù)
測試方法研究為云計算服務(wù)設(shè)施的實際測試提供了技術(shù)指引,但還需要工具支撐,以從云服務(wù)的客戶端開始,構(gòu)造高負載,驅(qū)動云計算服務(wù)設(shè)施的工作。對于所提出的各種方法,也還需結(jié)合工具進行運用驗證,明確其效果,以作為后續(xù)測試工作的參考。
4 結(jié)語
為解決上述問題,本項目將結(jié)合系統(tǒng)實現(xiàn)機理,對云計算服務(wù)設(shè)施的高效測試技術(shù)進行研究,形成關(guān)于系統(tǒng)彈性能力測試、性能可靠性測試、大規(guī)模運行時監(jiān)控、高負載壓力生成的成熟解決方案,以滿足云計算服務(wù)設(shè)施日益提高的質(zhì)量需求。
參考文獻
[1]李喬,柯棟梁,王小林.云測試研究現(xiàn)狀綜述[J].計算機應(yīng)用研究,2012(12):4401-4406.
[2]雷萬保.云計算環(huán)境下的軟件測試研究[J].信息化研究,2013(01):1-3.
作者簡介
朱巖(1981-),男,江蘇省南京市人。東南大學(xué)計算機專業(yè),大學(xué)本科學(xué)歷。工程師,主要從事軟件研發(fā)與測試工作。
作者單位
南京國電南自電網(wǎng)自動化有限公司(研發(fā)中心)江蘇省南京市 211106endprint