云計(jì)算系統(tǒng)測試技術(shù)基礎(chǔ)

責(zé)任編輯:editor005

作者:English0523

2015-06-05 14:02:56

摘自:51CTO

云計(jì)算是云計(jì)算(Grid Computing )、分布式計(jì)算(Distributed Computing)、并行計(jì)算(Parallel Computing)、效用計(jì)算(Utility Computing)、網(wǎng)絡(luò)存儲(Network Storage Technologies)、虛擬化(Virtualization)

1.什么是云計(jì)算

云計(jì)算是云計(jì)算(Grid Computing )、分布式計(jì)算(Distributed Computing)、并行計(jì)算(Parallel Computing)、效用計(jì)算(Utility Computing)、網(wǎng)絡(luò)存儲(Network Storage Technologies)、虛擬化(Virtualization)、負(fù)載均衡(Load Balance)等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。它旨在通過網(wǎng)絡(luò)把多個成本相對較低的計(jì)算實(shí)體整合成一個具有強(qiáng)大計(jì)算能力的完美系統(tǒng),并借助 SaaS、PaaS、IaaS等先進(jìn)的商業(yè)模式把這強(qiáng)大的計(jì)算能力分布到終端用戶手中。從狹義上說,云計(jì)算是指IT基礎(chǔ)設(shè)施的交付和使用模式,指通過網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需的資源。從廣義上說,云計(jì)算是指服務(wù)的交付和使用模式,指通過網(wǎng)絡(luò)以按需、易擴(kuò)展的方式獲得所需的服務(wù)??偟膩碚f,云計(jì)算具有以下特點(diǎn):

資源池:服務(wù)提供商的資源被池化,并通過多租戶模式為客戶提供各種服務(wù),并根據(jù)客戶的需求動態(tài)提供物理或虛擬化的資源。這些資源是位置獨(dú)立的,因?yàn)橛脩舨⒉淮_切的知道服務(wù)提供商的資源在那里,但是客戶可以指定較高層次的位置,例如國家、州或數(shù)據(jù)中心。這些資源包括存儲、處理能力、內(nèi)存、網(wǎng)絡(luò)帶寬和虛擬機(jī)。

按需自助服務(wù):客戶可以按需、自動地獲取計(jì)算能力,例如服務(wù)器計(jì)算時間和網(wǎng)絡(luò)存儲,而不需要和服務(wù)提供商進(jìn)行人為交互。

快速彈性:服務(wù)可以快速、彈性的獲得,某種情況下是自動化的,規(guī)模可以快速擴(kuò)大或縮小。對于客戶來說,供應(yīng)能力似乎是無限的,可以任意購買,隨時購買。

廣泛的網(wǎng)絡(luò)接入:計(jì)算能力可通過網(wǎng)絡(luò),并通過標(biāo)準(zhǔn)機(jī)制進(jìn)行訪問,使得各種瘦(或胖)客戶端(例如移動電話、便攜式電腦或PDA)平臺均可以使用。

按使用量計(jì)費(fèi)的服務(wù):云系統(tǒng)對服務(wù)(存儲、處理能力、帶寬、活動用戶帳戶)進(jìn)行適當(dāng)?shù)某橄?,并提供服?wù)計(jì)量能力,以自動控制和優(yōu)化資源使用情況。資源的使用可以檢測、控制、統(tǒng)計(jì),為客戶和服務(wù)商提供透明的服務(wù)使用量。

2.云計(jì)算典型系統(tǒng)

1)Google云計(jì)算平臺

Google公司有一套專屬的云計(jì)算平臺,這個平臺先是為Google最重要的搜索應(yīng)用提供服務(wù),現(xiàn)在已經(jīng)擴(kuò)展到其他應(yīng)用程序。Google云計(jì)算基礎(chǔ)平臺主要包括3個部分:Google File System 文件系統(tǒng)、Map/Reduce編程模式、大規(guī)模分布式數(shù)據(jù)庫BigTable。

Google File System 文件系統(tǒng)

為了滿足Google迅速增長的數(shù)據(jù)處理需求,Google設(shè)計(jì)并實(shí)現(xiàn)了Google文件系統(tǒng)(GFS,Google File System),它是開發(fā)的基于Linux的專有分布式文件系統(tǒng)。GFS專門為Google的核心數(shù)據(jù)即頁面搜索的存儲進(jìn)行了優(yōu)化。

MapReduce分布式編程環(huán)境

為了讓內(nèi)部非分布式系統(tǒng)方向背景的員工能夠有機(jī)會將應(yīng)用程序建立在大規(guī)模的集群基礎(chǔ)之上,Google還設(shè)計(jì)并實(shí)現(xiàn)了一套大規(guī)模數(shù)據(jù)處理的編程規(guī)范Map/Reduce系統(tǒng)。這樣,非分布式專業(yè)的程序編寫人員也能夠?yàn)榇笠?guī)模的集群編寫應(yīng)用程序而不用去顧慮集群的可靠性、可擴(kuò)展性等問題。

分布式大規(guī)模數(shù)據(jù)庫管理系統(tǒng)BigTable

由于在Google的數(shù)據(jù)中心存儲PB級以上的非關(guān)系型數(shù)據(jù)時候,比如網(wǎng)頁和地理數(shù)據(jù)等,為了更好地存儲和利用這些數(shù)據(jù),Google構(gòu)建了弱一致性要求的大規(guī)模數(shù)據(jù)庫系統(tǒng) BigTable。BigTable不是一個關(guān)系型的數(shù)據(jù)庫,它也不支持關(guān)聯(lián)(join)等高級SQL操作,取而代之的是多級映射的數(shù)據(jù)結(jié)構(gòu),并是一種面向大規(guī)模處理、容錯性強(qiáng)的自我管理系統(tǒng),擁有TB級的內(nèi)存和PB級的存儲能力,使用結(jié)構(gòu)化的文件來存儲數(shù)據(jù),并每秒可以處理數(shù)百萬的讀寫操作。

2)亞馬遜彈性云EC2

亞馬遜(Amazon)將他們的云計(jì)算平臺稱為彈性計(jì)算云(elastic compute cloud,簡稱EC2),是最早提供遠(yuǎn)程云計(jì)算平臺服務(wù)的公司。Amazon將自己的彈性計(jì)算云建立在公司內(nèi)部的大規(guī)模集群計(jì)算的平臺上,而用戶可以通過彈性計(jì)算云的網(wǎng)絡(luò)界面去操作在云計(jì)算平臺上運(yùn)行的各個實(shí)例(instance)。用戶使用實(shí)例的付費(fèi)方式由用戶的使用狀況決定,即用戶只需為自己所使用的計(jì)算平臺實(shí)例付費(fèi),運(yùn)行結(jié)束后計(jì)費(fèi)也隨之結(jié)束。這里所說的實(shí)例即是由用戶控制的完整的虛擬機(jī)運(yùn)行實(shí)例。通過這種方式,用戶不必自己去建立云計(jì)算平臺,節(jié)省了設(shè)備與維護(hù)費(fèi)用。

3) 微軟Azure 平臺

Windows Azure Platform 是一個運(yùn)行在微軟數(shù)據(jù)中心的云計(jì)算平臺。它包括一個云計(jì)算操作系統(tǒng)和一個為開發(fā)者提供的服務(wù)集合。開發(fā)人員創(chuàng)建的應(yīng)用既可以直接在該平臺中運(yùn)行,也可以使用該云計(jì)算平臺提供的服務(wù)。相比較而言,Windows Azure platform延續(xù)了微軟傳統(tǒng)軟件平臺的特點(diǎn),能夠?yàn)榭蛻籼峁┦煜さ拈_發(fā)體驗(yàn),用戶已有的許多應(yīng)用程序都可以相對平滑地遷移到該平臺上運(yùn)行。另外 Windows Azure Platform還可以按照云計(jì)算的方式按需擴(kuò)展,在商業(yè)開發(fā)時可以節(jié)省開發(fā)部署的時間和費(fèi)用。Windows Azure platform包括Windows Azure、SQL Azure和Windows Azure platform AppFabric。Windows Azure可看成一個云計(jì)算服務(wù)的操作系統(tǒng);SQL Azure是云中的數(shù)據(jù)庫;AppFabric是一個基于Web的開發(fā)服務(wù),它可以把現(xiàn)有應(yīng)用和服務(wù)與云平臺的連接和互操作變得更為簡單。 AppFabric讓開發(fā)人員可以把精力放在他們的應(yīng)用邏輯上而不是在部署和管理云服務(wù)的基礎(chǔ)架構(gòu)上。

4) IBM“藍(lán)云”計(jì)算平臺

IBM的“藍(lán)云”計(jì)算平臺是一套軟、硬件平臺,將Internet上使用的技術(shù)擴(kuò)展到企業(yè)平臺上,使得數(shù)據(jù)中心使用類似于互聯(lián)網(wǎng)的計(jì)算環(huán)境。“藍(lán)云”大量使用了IBM先進(jìn)的大規(guī)模計(jì)算技術(shù),結(jié)合了IBM自身的軟、硬件系統(tǒng)以及服務(wù)技術(shù),支持開放標(biāo)準(zhǔn)與開放源代碼軟件。“藍(lán)云”基于IBM Almaden研究中心的云基礎(chǔ)架構(gòu),采用了Xen和PowerVM虛擬化軟件,Linux操作系統(tǒng)映像以及Hadoop軟件(Google File System以及MapReduce的開源實(shí)現(xiàn))。“藍(lán)云”計(jì)算平臺由一個數(shù)據(jù)中心、IBM Tivoli部署管理軟件(Tivoli provisioning manage)、IBM Tivoli監(jiān)控軟件(IBM Tivoli monitoring)、IBM WebSphere應(yīng)用服務(wù)器、IBM DB2數(shù)據(jù)庫以及一些開源信息處理軟件和開源虛擬化軟件共同組成。“藍(lán)云”的硬件平臺環(huán)境與一般的x86服務(wù)器集群類似,使用刀片的方式增加了計(jì)算密度。

云計(jì)算系統(tǒng)測試技術(shù)基礎(chǔ)

3.云計(jì)算系統(tǒng)故障事件

云計(jì)算的核心思想,是將大量用網(wǎng)絡(luò)連接的計(jì)算資源統(tǒng)一管理和調(diào)度,構(gòu)成一個計(jì)算資源池向用戶按需服務(wù)。它為用戶提供了一個高性能計(jì)算環(huán)境,高可伸縮的彈性的可計(jì)算平臺,準(zhǔn)確、安全、可靠而穩(wěn)定的計(jì)算資源和存儲資源。然而,近年來國際主流的云計(jì)算系統(tǒng)和應(yīng)用均暴露出不同程度的可靠性和安全性問題,例如:

1)Google應(yīng)用引擎平臺宕機(jī)

2009年7月3 日,Google App Engine遭遇“數(shù)據(jù)倉庫操作延遲增加、錯誤率上升等故障。” 這次故障持續(xù)了約6小時更糟糕的是,在Google更新Google Groups上的消息時,App Engine Status網(wǎng)頁卻因這次故障而完全無法訪問。據(jù)悉,這次Google App Engine故障不僅造成用戶的經(jīng)濟(jì)損失,甚至影響到了Mac版Chrome瀏覽器的開發(fā)。2010年02月25日,Google支持第三方網(wǎng)絡(luò)應(yīng)用的 App Engine平臺再次發(fā)生宕機(jī)故障,所有存放的第三方應(yīng)用陷入癱瘓,殃及絕大部分網(wǎng)絡(luò)應(yīng)用。整個平臺癱瘓時間超過兩小時。

2)Google Gmail和日歷服務(wù)中斷

2010年2月23 日,Google Gmail出現(xiàn)故障,持續(xù)時間長達(dá)兩個半小時,這次故障導(dǎo)致全球數(shù)以百萬計(jì)的用戶在幾小時內(nèi)無法訪問賬戶,經(jīng)濟(jì)損失無法估量,由于此次服務(wù)器故障,Google將針對企業(yè)的Google Apps高級版訂戶的付費(fèi)時間延長十五天。2010年10月12日到2010年10月19日,Google的日歷服務(wù)中斷了8天。這起事故讓0.2%的 Google日歷用戶中斷了多天的訪問。

3)Google Voice服務(wù)宕機(jī)

2010年11月23日,Google Voice網(wǎng)絡(luò)電話服務(wù)再發(fā)生宕機(jī)事故,部分Google Voice用戶無法撥出或接聽電話。這次宕機(jī)事故只是近期Google Voice多個問題中的一個。2010年11月2日和5日都發(fā)生了類似的宕機(jī)事故。

4)亞馬遜S3服務(wù)故障

Amazon的云存儲平臺Simple Storage Service(S3)在2008年7月出現(xiàn)了服務(wù)故障,故障持續(xù)了8個小時之久,依賴S3進(jìn)行文件存儲的在線公司因此蒙受了損失。S3在2月份的時候也出現(xiàn)過一次類似的故障,當(dāng)時該故障持續(xù)了兩個小時。

5)亞馬遜EC2云計(jì)算服務(wù)遭到僵尸網(wǎng)絡(luò)攻擊

2010年4月,亞馬遜基于云計(jì)算的EC2(彈性計(jì)算云)服務(wù)在一個星期內(nèi)接連發(fā)生了兩起故障,一起是僵尸網(wǎng)絡(luò)引起的內(nèi)部服務(wù)故障,另一起是在弗吉尼亞州的一個數(shù)據(jù)中心發(fā)生的電源故障。

云計(jì)算代表IT 領(lǐng)域向集約化、規(guī)?;c專業(yè)化道路發(fā)展的趨勢,是一種面向Internet的IT資源交付和試用模式,但它在整合IT資源、提高資源利用率的同時,其性能、安全可靠性問題備受關(guān)注。這些問題都很大程度上制約了云計(jì)算產(chǎn)業(yè)的發(fā)展,成為實(shí)現(xiàn)大規(guī)模云計(jì)算的障礙。因此,專業(yè)性的云計(jì)算系統(tǒng)測試是解決目前云計(jì)算故障問題的一個重要手段之一。但云計(jì)算系統(tǒng)的復(fù)雜性和對于用戶的不透明性也決定了第三方測試的難度,那么如何來對云計(jì)算系統(tǒng)進(jìn)行測試呢?將在下節(jié)談?wù)勎覍υ朴?jì)算測試的看法。

云計(jì)算系統(tǒng)測試技術(shù)基礎(chǔ)

  4.云計(jì)算系統(tǒng)測試

云計(jì)算系統(tǒng)中大量融入了面向服務(wù)的體系結(jié)構(gòu),用戶可以通過該體系結(jié)構(gòu)來實(shí)施、部署、執(zhí)行和管理自己所提交的作業(yè),可以說云服務(wù)是構(gòu)成云計(jì)算系統(tǒng)的基本功能單元。云服務(wù)測試也成為云計(jì)算系統(tǒng)測試的基礎(chǔ)部分。同時,云計(jì)算的目的是提供實(shí)現(xiàn)高性能計(jì)算、可靠、穩(wěn)定而安全的計(jì)算環(huán)境,云計(jì)算的性能測試和安全可靠性測試也是云計(jì)算軟件測試的重要內(nèi)容。

1)云計(jì)算系統(tǒng)功能和標(biāo)準(zhǔn)符合性測試

云計(jì)算系統(tǒng)軟件的發(fā)展與應(yīng)用與其相應(yīng)的技術(shù)標(biāo)準(zhǔn)或規(guī)范是分不開的,衡量一種云系統(tǒng)是否能夠符合用戶需求,從很大意義上講就是在衡量它們所提供的服務(wù)的正確性以及是否符合技術(shù)標(biāo)準(zhǔn)或規(guī)范。然而,目前云計(jì)算相關(guān)標(biāo)準(zhǔn)不是很統(tǒng)一,各有說法百家爭鳴,但就云計(jì)算特征和主要功能來說,各家還是比較統(tǒng)一的,如分為三個層次:SaaS、PaaS和 IaaS,要實(shí)現(xiàn)資源池及其調(diào)度管理、任務(wù)的分解、調(diào)度和執(zhí)行、按需自助服務(wù)、服務(wù)計(jì)費(fèi)、工作流管理、虛擬化平臺以及門戶應(yīng)用等一些主要功能。如果就 SaaS來說,可以測試的是Web服務(wù)測試,一個很重要的方面就是測試其是否符合規(guī)范,包括UDDI,XML,SOAP,WSDL等,只有符合這些規(guī)范, 才能向用戶提供正確的Web服務(wù),因此Web服務(wù)測試所使用的方法和技術(shù)可以被云服務(wù)測試所借鑒和引用。云計(jì)算服務(wù)測試的目標(biāo)是確保云服務(wù)為給定的請求傳遞期望的應(yīng)答.然而對于大多數(shù)云計(jì)算服務(wù),準(zhǔn)確預(yù)測客戶端將會發(fā)送什么類型的請求、列舉所有可能的請求是不可行的,因?yàn)檎埱筝斎氲姆秶臻g可能非常大。因此,驗(yàn)證云計(jì)算服務(wù)是否可以處理范圍廣泛的請求類型和參數(shù)非常重要。

2)云計(jì)算系統(tǒng)性能測試

云計(jì)算性能測試的目標(biāo)是驗(yàn)證在各種負(fù)載情況下云計(jì)算服務(wù)的性能。進(jìn)行性能測試的最佳方式是使得多個測試客戶運(yùn)行完整的云服務(wù)測試,包括請求提交和應(yīng)答驗(yàn)證。性能測試不僅通過指定的并發(fā)請求數(shù)目來監(jiān)視服務(wù)器的響應(yīng)速率,還要測試各類負(fù)載是否導(dǎo)致云服務(wù)功能性故障。因此,要求云服務(wù)性能測試工具能夠設(shè)置或者定制性能測試場景(主要是指定負(fù)載等級、負(fù)載分布等)來執(zhí)行云性能測試套件。根據(jù)高性能計(jì)算系統(tǒng)常見的應(yīng)用場景,云計(jì)算系統(tǒng)性能測試可設(shè)置的場景主要包括bell曲線、緩沖區(qū)測試、線性增加和穩(wěn)定負(fù)載。這樣,通過使用不同的測試場景來使用不同的測試用例,同時還應(yīng)支持跨越遠(yuǎn)端的云服務(wù)器分布虛擬用戶,從而模擬極限測試與壓力測試。

3)云計(jì)算系統(tǒng)安全可靠性測試

云計(jì)算系統(tǒng)安全可靠性測試采用主要是以系統(tǒng)評估為主,測試為輔的方法。因此,也需要對現(xiàn)有的云計(jì)算系統(tǒng)進(jìn)行提煉,總結(jié)出普遍適用的云計(jì)算模型,進(jìn)而能通過云計(jì)算模型得到云計(jì)算的安全可靠性模型,在這個模型下對云計(jì)算系統(tǒng)的安全可靠性進(jìn)行評估。云計(jì)算系統(tǒng)的安全可靠性模型主要是由一些評價指標(biāo)構(gòu)成,這些指標(biāo)要能完整地描述系統(tǒng)可靠性要求的各個方面,指標(biāo)之間應(yīng)減少交叉,防止相互包含,要具有相對獨(dú)立性。模型的結(jié)構(gòu)也決定了指標(biāo)之間的組合關(guān)系,這些關(guān)系與云計(jì)算系統(tǒng)的應(yīng)用類型有關(guān)。測試人員通過測試或評估收集這些指標(biāo)值,這些指標(biāo)值通過模型提供的結(jié)構(gòu)組合在一起,它與其他測試的結(jié)果最終構(gòu)成了對云計(jì)算系統(tǒng)的安全完整得評價。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號