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