1 雲計算
1.1 雲計算是什么
雲計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網絡訪問, 進入可配置的計算資源共享池(資源包括網絡,服務器,存儲,應用軟件,服務),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的交互。
雲計算是通過使計算分布在大量的分布式計算機上,而非本地計算機或遠程服務器中,企業數據中心的運行將與互聯網更相似。這使得企業能夠將資源切換到需要的應用上,根據需求訪問計算機很存儲系統。這意味着計算能力也可以作為一種商品進行流通,不過是通過互聯網進行傳輸的。
對於雲計算的理解,分為狹義和廣義的兩類。狹義雲計算是指IT基礎設施的交付和使用模式;廣義雲計算是指服務的交付和使用模式。這種服務可以是IT和軟件、互聯網相關的,也可以是任意其他的服務,它具有超大規模、虛擬化、可靠安全等獨特功效。
1.2 雲計算的特點
超大規模:
“雲”具有相當的規模,Google雲計算已經擁有100多萬太服務器,Amazon,IBM,微軟,Yahoo等的“雲”均擁有幾十萬台服務器。“雲”能賦予用戶前所未有的計算能力。
虛擬化:
雲計算支持用戶在任意位置、使用各種終端獲取應用服務。所請求的資源來自“雲”,而不是固定的有型的實體。應用在“雲”中某處運行,可以通過網絡服務來實現我們需要的一切,甚至包括超級計算這樣的任務。
數據安全可靠:
雲計算提供了最可靠、最安全的數據存儲中心,用戶不用再擔心數據丟失、病毒入侵等麻煩。“雲”使用了數據多副本容錯、計算節點同構可互換等措施來保障服務的高可靠性,使用雲計算比使用本地計算機更可靠。
客戶端需求低:
雲計算對用戶端的設備要求很低,使用起來也很方便。你只要有一台可以上網的電腦,有一個你喜歡的瀏覽器,你要所得就是在瀏覽器中鍵入URL,然后盡情享受雲計算帶給你的無限樂趣。
通用性:
雲計算不針對特定的應用,在“雲”的支撐下可以構造出千變萬化的應用,同一個“雲”可以同時支撐不同額應用運行。
輕松共享數據:
雲計算可以輕松實現不同設備間的數據與應用共享,在雲計算的網絡應用模式中,數據只有一份,保存在“雲”的另一端,你的所有電子設備只需要連接互聯網,就可以同時訪問和使用同一份數據。
高可擴展性:
“雲”的規模可以動態伸縮,滿足應用和用戶規模增長的需要。
按需服務:
“雲”是一個龐大的資源池,用戶按需購買。
極其廉價:
由於“雲”的特殊容錯措施可以采用極其廉價的節點來構成雲,“雲”的自動化集中式管理使大量企業無需負擔日益高昂的數據中心管理成本,“雲”的通用性使資源的利用率較之傳統系統大幅提升,因此用戶可以充分享受“雲”的低成本優勢。
可能無限多:
雲計算為存儲和管理數據提供了幾乎無限多的空間,也為我們完成各類應用提供了幾乎無限強大的計算能力。【1】
2 對軟件工程的影響
2.1 軟件構架的開放性
將雲計算運用於計算機軟件構件的技術的時候,整個平台的構架,大智障將可以分為雲終端系統層、硬件系統層、系統管理層以及虛擬機系統層這樣四個部分來進行具體的構建,它的存在是整個構建的基礎所在,也為整個構建提供了協助和相對應的保護,而在這個管理過程之中,雲計算本身還可以利用不同情況下的不同種類的要求,來完成多個計算機集群系統的構建,其作用、意義和價值都是不言而喻的。【2】
使用了雲計算技術以后,相比於之前的傳統軟件工程,軟件的開放性得到了前所未有的提高,這樣軟件構件的復用性也隨之提高。分布式計算模式的應用,也是的軟件的體系,設計構件以及代碼,可以被不同的“雲”使用者所使用,甚至是不同軟件開發團隊之間的開發者。
2.2 軟件對象的多樣性
基於雲計算的計算機,在軟件實驗管理過程之中,是通過數據中心來對其余的數據進行管理和控制的,這樣的過程不僅僅會讓整體變得更加的方便,而且還能夠提高整體的安全性,在需要的使用的時候從數據庫之中提取,而在並使得時候可以更好的保存,管理,不僅僅如此,這些數據即便是在實驗的結束之后,依舊可以作為雲計算的數據進行重復的使用。
2.3 軟件過程的動態性
軟件開發不再是一個封閉的、全局控制的流程,而是存在多個並發和自治的流程,在一個項目中,自底向上,自頂向下有幾集成。開發過程中,用戶、開發人員之間不再有明確的角色划分,通常情況下,在不同的階段,軟件開發者、服務提供者、軟件使用者多重角色是同一個人,軟件開發工具由雲計算服務商統一提供,開發組織無需購買有個就得軟件許可,秩序在開發周期內按需租用雲服務商的軟件許可,這樣可以大大降低軟件工具費用。【3】
2.4 開發組織的社會化
雲計算環境下,軟件開發的環境、工作模式也將發生變化。雖然,傳統的軟件工程理論不會發生根本性的變革,但基於雲平台的開發工具、開發環境、開發平台將為敏捷開發、項目組內協同、異地開發等帶來便利。軟件開發項目組內可以利用雲平台,實現在線開發,並通過雲實現知識積累、軟件復用。
2.5 資源部署的虛擬化
雲計算給軟件部署、運行管理和維護帶來了高度的靈活性,對於一個特定的應用,軟件部署、運行管理、維護和開發過程是並行的,第一次不熟的可能只是一小部分功能,在稅后的軟件升級中不斷完善。由於雲計算模式極大地降低了軟件構件之間的耦合程度,軟件的客戶端、服務端、管理端等構件完全以並發、獨立的方式不熟和管理,甚至軟件運行的基礎設施也可以在用戶透明的方式完成升級換代和重新部署。
雲計算軟件是按照用戶需求隨時運行,軟件運行平台采用目前非常成熟的虛擬化技術,在客戶端,可以產生多種虛擬環境,如Windows、Linux,甚至是瀏覽器等,用戶可以根據自己的喜好來選擇;在服務器端,可以把大規模的服務器系統虛擬化為單一處理單元和連續的存儲單元,降低用戶端的管理復雜程度。
雲計算軟件運行的最底層的硬件系統和基礎軟件系統則有專業的計算機信息系統集成商統一維護管理,對用戶來說,完全可以不關心底層軟硬件的細節。目前,IBM、微軟、HP等跨國公司正在全球部署雲計算基礎設施。【4】
2.6 雲計算對軟件測試的影響
在雲計算環境下,由於軟件開發工作的變化,也必然對軟件測試帶來影響和變化。軟件技術、構架發生變化,要求軟件測試的關注點也應做出相對應的調整。軟件測試在關注傳統的軟件質量的同時,還應該關注雲計算環境所提出的新的質量要求,如軟件動態適應能力、大量用戶支持能力、安全性、多平台兼容性等。
雲計算環境下,軟件開發工具、環境、工作模式發生了轉變,也就要求軟件測試的工具、環境、工作模式也應發生相應的轉變。軟件測試工具也應工作於雲平台之上,測試工具的使用也應可通過雲平台來進行,而不再是傳統的本地方式;軟件測試的環境也可移植到雲平台上,通過雲構建測試環境;軟件測試也應該可以通過雲實現協同、知識共享、測試復用。【5】
3 總結
雲計算的發展毫無疑問是有益的,即便它的產生對於傳統的互聯網技術帶來了巨大的沖擊,我們也不得不承認它的出現同時也提供了更多的優勢性的輔助,尤其在軟件開發方面,對這個計算機的軟件系統進行構建,對各種系統進行優化。雲終端系統、硬件系統、系統管理以及虛擬機系統也必然將因為雲計算的發展而得到更高的提升。
4 引用文獻
【1】仉偉, 郭洪遠. 雲計算的特點和應用展望[J]. 數字技術與應用, 2011(4):168-168.
【2】《電子技術與軟件工程》2016年 第8期 176-176頁
【3】張勇. 雲計算環境下軟件工程模式初探[C]// 全國軟件測試會議與移動計算、柵格、智能化高級論壇. 2009.
【4】http://www.3fwork.com/b702/000266MYM009524/
【5】http://www.chinacloud.cn/show.aspx?id=14695&cid=12
