成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

虛擬化技術如何改善軟件開發?

云計算 虛擬化
也許正是VMware公司的工作站(Workstation)產品,讓虛擬化技術走上了迅速成名的道路。該產品允許各個用戶可以運行多個操作系統、操作系統版本或實例(類似多個應用程序窗口),而不是只有每次運行一個操作系統的多重啟動環境。

也許正是VMware公司的工作站(Workstation)產品,讓虛擬化技術走上了迅速成名的道路。該產品允許各個用戶可以運行多個操作系統、操作系統版本或實例(類似多個應用程序窗口),而不是只有每次運行一個操作系統的多重啟動環境。但在許多公司,虛擬化技術卻是這樣出現的:開發人員首先悄悄使用這項技術來進行測試和開發,然后再把虛擬化工具介紹給IT主管。

盡管如今虛擬化在推動許多生產環境,比如服務器和桌面基礎架構,并充當一種資源提供工具,虛擬化也被越來越多的軟件開發人員所使用。首先,他們使用虛擬化工具,便于提供用于開發和測試的一系列目標環境(比如不同的操作系統、操作系統版本和瀏覽器),并且便于迅速而輕松地提供/重新提供配置實例。

下面介紹如今的一些開發人員在如何使用虛擬化、為什么使用虛擬化,以及他們對目前的虛擬化技術存著什么樣的問題。

提供多種測試環境

高級軟件架構師Mark Friedman效力于微軟的開發部門,該部門有3000多名員工在開發Visual Studio和.NET框架。Friedman本人主要開發隨微軟Visual Studio Team System這套開發工具交付的性能工具。Friedman還是計算機測量組織(Computer Measurement Group)的董事,他說:"我所在部門大約三分之二的人從事開發和測試工作――這些開發和測試人員大多數在使用系統虛擬化(通過微軟的Hyper-V技術),作為他們主要的生產力工具之一。"

虛擬化技術的一個主要優勢在于,它能夠分離不穩定的環境,這是任何開發人員都希望在應用程序設計的早期階段所具備的功能。Friedman表示,隨著微軟工具的不斷開發,測試早期版本可能會使開發人員的整個計算環境不穩定。

他說:"這是無法改變的本質。除了最簡單的桌面應用程序外,幾乎任何應用程序都會導致系統崩潰。我經常告訴我的開發人員,如果他們沒有經常導致系統崩潰,說明他們的嘗試還不夠積極。我們喜歡虛擬化技術,因為它能節省時間,讓我們的開發人員可以花更多時間用在有挑戰性的工作上,而不是用在準備測試環境那些單調而極其耗費時間的方面上。"

與其他虛擬化工具一樣,微軟的Hyper-V可以讓用戶對系統"拍取快照",保留"最近一個已知的完好版本"。Friedman說:"我們創建了回滾機制(rollback),那樣我們在幾分鐘之內就能把系統恢復到之前的那個完好狀態。另一種方法就是,不得不重新創建系統鏡像或者重新構建環境,但這需要好幾個小時。而虛擬化技術大大節省了時間。"

Friedman的小組還在質量保證(QA)測試當中全面利用了虛擬化技術和虛擬機鏡像。他說:"一旦通過了開發人員的單元測試,我們就會談論測試矩陣――比如在什么版本的操作系統上運行測試矩陣。然后,我們需要針對32位版本或64位版本進行測試。使用虛擬機鏡像是維持一系列測試環境的最快速、最省錢、最靈活的一種方法。在我們的質量保證實驗室,我們一直在這么做;我們進行了許多自動化測試,以便把這些鏡像作為虛擬機來保存,并且用測試套件對它們進行測試。這種方法很實用;我們節省了許多時間,多得讓人難以置信。"

拍取快照、然后在幾分鐘之內恢復工作鏡像的功能特別重要,不必為重建系統等上數小時。Friedman說:"你在查找軟件錯誤時,僅僅為了重現軟件錯誤,常常得花上一兩天時間來建立環境,所以你一次又一次地花時間來重建系統――這浪費了時間;從而導致工作效率降低。"

比方說,某個軟件錯誤導致系統崩潰時,開發人員就得回過頭去,找出系統崩潰的那個地方。Friedman說:"人們最初設置的斷點常常離進程太遠,于是系統再次崩潰。因為開發人員在一天內很容易導致系統崩潰好幾次,趁開發人員對問題很清楚的時候,能夠迅速恢復,然后重新運行調試過程,這大有幫助。如果你在調試一個復雜的軟件錯誤,能保持在這種狀態下再好不過了。"

開發人員表示,虛擬化技術非常有助于迭代測試。Adam Moskowitz是生產及銷售一系列節能型計算機的SiCortex公司的高級軟件工程師,他說:"我們有許多測試系統供我們的開發人員使用――每個測試系統都需要各自的x86控制系統。我們使用虛擬化技術來創建虛擬機,然后虛擬機'連接到'外部集群板,而不是購置許多PC,哪怕是最便宜的PC。"

SiCortex的開發部門使用免費版本的VMware Server,運行在功能較強大的機架服務器上(配備雙核或四核x86處理器、4GB內存和300GB硬盤),這些服務器可以運行四至八個充當控制系統的虛擬機。Moskowitz說:"因為控制系統上的負載非常小,這種辦法的效果非常好,資本開支也比較低。我們大約25名工程師中有一半以上的人在使用這些虛擬化系統。"

Moskowitz表示,控制系統虛擬化的一個主要好處就是易于測試。他說:"想要一個實驗系統?你只要克隆一個標準的虛擬機,就可以使用了。虛擬化工具有價值的另一個原因就是易于配置;開發人員只要用最新軟件構建一個虛擬機――只要構建一次;以后你想要多少個虛擬機,就可以克隆多少個。"

Mike Brescia在一家記錄及恢復實時環境數據的公司工作;他說:"除了把系統作為虛擬設備來提供外,我們公司的開發人員還使用虛擬化技術,在比較少的硬件設備上搭建不同的測試環境,比如Windows和Linux環境。"Brescia表示,克隆一個干凈的計算機系統用于測試要比拷貝磁盤鏡像、使用Clonezilla克隆工具簡單得多。他補充說:"運行虛擬機不需要拆掉、清除整個系統;我們只需要小心,別往主機機器上裝入過多的資源。"

設計和營銷公司Eli Kirk的高級Web開發人員Connor Boyack表示,該公司的15名Web開發人員必須兼顧許多Web瀏覽器和操作系統的需要。Boyack在Mac OS X Leopard操作系統上使用Parallels版本4,并且運行各自安裝了Windows XP、OpenSUSE 11和Windows 7測試版等操作系統的虛擬機。Boyack說:"創建實用、而且外觀一致的網站需要進行大量的瀏覽器測試;這樣一來,虛擬化技術必不可少。虛擬化技術讓我可以使用多個操作系統和多個瀏覽器,讓它們可以無縫合作(前提是Windows XP運行要順暢)。"

SmartLogic Solutions公司的開發人員Nick Gauthier也認為,能夠同時測試許多不同場景、確保有一致的用戶體驗,這是一大優勢。"另一個優勢就是,如果用戶有抱怨,可以啟動某個特定的版本和瀏覽器。我們再沒有必要說'哦,我不運行這個瀏覽器,我用的是Linux操作系統;'現在我們可以說'稍等片刻;我發現問題了,我馬上解決。'"

Eric Floer是開發及銷售遠程備份設備的新興公司3X Systems的首席技術官,他說:"我們使用虛擬化技術測試平臺上的軟件以及我們支持的應用程序(以便保證質量);如果客戶出現了問題需要支持,還可以用來重現客戶環境。虛擬化讓我們可以迅速構建及拆掉環境,而且只要使用數量極少的物理硬件就可以做到。"對一家小規模的新興公司而言,這種使用極少資本開支就能測試許多平臺和環境的能力非常重要。另外,"虛擬化技術大大提高了我們產品的質量和可靠性,"Floehr補充說。

Aamoggemon軟件公司致力于為手持計算機開發程序,原先為Palm OS開發程序,現在還為Symbian OS Series 60和PocketPC開發程序。開發人員Tam Hanna說:"現在我使用虛擬化有好多原因;主要原因是,基于Cygwin/Elipse的開發系統很流行(針對J2ME的Eclipse、Palm的PODS和諾基亞的Carbide)。把這些開發系統全部安裝在一臺機器上會導致它們都出問題。所以,我需要使用虛擬化技術,以便能夠完成我的工作。此外,我想使用虛擬機,確保所有機器上都有同樣的配置設置。"

MarkMail是一家搜索公共郵件列表歸檔的免費服務機構。MarkMail的開發人員John D. Mitchell(其正式頭銜是"狂熱的科學家")聲稱:"我們的團隊在許多方面使用虛擬化技術。關鍵在于,對系統中的每一項服務進行虛擬化處理給了我們很大的靈活性。在開發時,我們對物理資源沒有太多的要求,那樣我們在少數幾個硬件節點上就能運行許多虛擬實例,包括數據庫。"

MarkMail用的是OpenVz,那樣開發人員沙盒中的鏡像與部署環境的完全一樣。Mitchell說:"有了虛擬化技術,測試不同的環境和版本等方面就非常容易;我們總是可以拆掉一個實例,然后從干凈的檢查點重新創建一個實例。"據Mitchell聲稱,使用虛擬化技術可以減少所要購買、租用及管理的硬件數量。"總的來說,我們使用的虛擬實例與硬件節點之比大約是3:1。"

虛擬化的局限

開發人員承認,開發過程中有許多方面是虛擬化技術無能為力的。

3X公司的Floehr強調:"虛擬化無能為力的一個方面就是對我們的產品(基于網絡的備份設備)進行壓力測試(stress testing)。盡管我們可以在虛擬化環境同時測試10個客戶機,但那不是真正的壓力測試,因為10個客戶機只使用4個物理CPU和兩塊網卡來測試;如果在實際環境有10個物理客戶機,這些約束條件就不會存在。"

MarkMail的Mitchell補充說:"虛擬化確實會增加一些復雜性。它總是會增加一些延遲。但是更糟的是,如果改變底層的執行環境――比如從開發環境到測試環境再到生產環境,就無法依賴虛擬機清楚地了解性能方面的特點。"

最后,Mirtchell強調"當前一代的桌面虛擬化產品仍有太多令人頭疼的問題、缺陷以及缺失的功能,"至少開發人員在用于軟件開發方面就遇到了這種情況。

微軟的Mark Friedman說:"如果進行負載測試或規模擴展,就得運行在原始硬件和物理機器上。除非你準備部署在虛擬機上,否則性能方面的特點完全不一樣。性能測量方面的情況也是這樣。"Friedman強調,但隨著時間的推移,這個問題有望得到解決。

Friedman表示,另外,虛擬化行業采用的半虛擬化方法改變了操作系統的一些底層方面,尤其是操作系統的驅動程序。"所以,如果你依賴特定的驅動程序或硬件環境,那就會受到影響。比方說,有一個虛擬網卡,有一個特定的驅動程序。該驅動程序'可識別虛擬化技術'。你就得明白,如果你需要針對一組本地驅動程序進行測試,在虛擬機里看不到驅動程序。所以,這影響了從事驅動程序開發的人員,但對Web開發人員沒有影響。"

Friedman還指出:"如果你有一個多層應用程序需要幾臺機器,把這些機器整合成共享硬件意味著'你可以進行的是功能測試,而不是性能測試。'"

盡管有這樣那樣的問題,虛擬化技術已經為開發人員帶來了切實的好處。微軟的Friedman說:"一旦我們的開發人員學會使用虛擬化技術,這項技術就能提高他們的工作效率。虛擬化技術讓他們可以花更多的時間用在編碼、測試和調試上。它消除了用在構建及準備環境方面的大量時間和延遲,我們并不希望他們把大部分時間用在這方面上。"

【編輯推薦】

  1. 中國虛擬化網絡技術大會
  2. 利用虛擬化技術優化IT環境成為企業目標
  3. NetApp CEO:虛擬化技術推動存儲市場
責任編輯:符甲 來源: IT168
相關推薦

2011-06-23 10:39:43

ibmdw虛擬化敏捷開發

2013-12-04 10:16:41

虛擬化存儲

2022-06-01 08:00:00

開發成本功能

2012-05-24 09:52:07

VMware

2020-12-03 15:54:15

軟件開發工具

2010-06-18 10:27:41

UML軟件開發

2009-02-09 14:03:02

虛擬化技術快訊

2021-02-22 22:05:26

軟件開發應用程序開發

2009-11-12 09:17:07

手機軟件開發

2013-06-18 10:30:42

虛擬化存儲虛擬化

2021-08-31 08:00:00

開發軟件框架

2020-06-24 11:21:47

軟件開發面試

2017-03-17 08:15:17

敏捷軟件開發軟件開發

2024-11-07 12:14:36

2012-06-18 09:34:14

2022-02-16 22:30:51

嵌入式軟件開發工具

2022-08-20 18:28:49

汽車軟件

2009-08-12 18:39:01

軟件開發的生命周期

2020-10-13 09:37:05

指紋跟蹤技術惡意軟件僵尸網絡

2009-07-23 14:58:29

虛擬化軟件應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区高清 | 欧美激情亚洲 | 毛片a| 欧美一级免费 | 日本精品视频一区二区 | 日韩午夜 | 国产精品一区久久久 | 激情五月婷婷综合 | 久久久久国产一区二区 | 国产精品日日做人人爱 | 亚洲国产高清在线观看 | 中文字幕国产 | 国产欧美日韩在线 | 色狠狠一区 | 高清色 | 国产一区二区不卡 | 色综合一区二区 | av综合站| 色爱区综合| 欧美成人免费在线 | av一二三四 | 四虎影视| 波多野结衣二区 | 久久久久一区二区三区四区 | 久久久精品网站 | 久久久久国产精品 | 黄色一级片在线播放 | 中文字幕一区在线观看视频 | 日韩av成人在线 | 久久激情视频 | 亚洲一区二区在线视频 | 国产在线精品一区二区三区 | 日韩精品中文字幕一区二区三区 | 在线午夜 | 国产亚洲一区二区在线观看 | 亚洲a人 | 免费在线观看一区二区三区 | 久久国产一区二区 | 涩涩99 | 欧美一级二级在线观看 | 一区二区三区在线播放 |