中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

虛擬化——互聯(lián)網(wǎng)時代的產(chǎn)品開發(fā)加速器

2019-05-22    來源:infoq.com

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

高技術(shù)高競爭的互聯(lián)網(wǎng)時代,對產(chǎn)品的交付時間逐步變短,而對交付質(zhì)量的要求逐步提高,各種新創(chuàng)意、新產(chǎn)品層出不窮,市場允許的產(chǎn)品推出周期也越來越短,傳統(tǒng)的軟件開發(fā)模型已經(jīng)無法跟上當(dāng)前的需求,高效、便捷、可迭代的產(chǎn)品開發(fā)模式也越來越為人們所關(guān)注,虛擬化技術(shù)正是體現(xiàn)這種開發(fā)模式最重要的工具。

從功能上講,虛擬化的優(yōu)勢一是提高資源的利用率;二是提供多樣化的配置管理;三是提供快照的保存和恢復(fù)功能;四是提供產(chǎn)品動態(tài)擴展的能力,這些也都是互聯(lián)網(wǎng)產(chǎn)品開發(fā)模式所需要的重要特性。

我通過一年前的項目經(jīng)歷和目前應(yīng)用虛擬化技術(shù)后的項目經(jīng)歷的對比,來說說虛擬化技術(shù)如何在開發(fā)、測試、上線部署各個過程中的作用。

簡要介紹一下當(dāng)時跟現(xiàn)在的開發(fā)條件。

一年前我所在的項目組一共有6臺開發(fā)機,2臺測試機,6個開發(fā)人員和2個測試人員,機器由團隊公用,每個開發(fā)人員會被分配一個以自己名字命名的獨立賬號,開發(fā)人員使用這個賬號登錄系統(tǒng)并進行開發(fā)工作。相信這也是大部分公司的標(biāo)準(zhǔn)配置。

現(xiàn)在我所在的項目組有10臺開發(fā)測試機,在功能上沒有做特別的區(qū)分,一共有24名開發(fā)兼測試人員,沒有專門的測試人員。開發(fā)人員通過登錄屬于自己的虛擬機進行開發(fā)工作。

開發(fā)階段的作用

虛擬化在開發(fā)階段的作用有兩個關(guān)鍵點:

第一,快速的環(huán)境搭建

開發(fā)初始,需要一個資源分配的過程,而開發(fā)人員往往無法得到需要的靈活的硬件資源,一般可以得到的是一個賬號,和一個確定操作系統(tǒng)的機器,這有三個原因,首先是硬件資源有限,無法保證每個開發(fā)人員能有一臺獨立的開發(fā)機,只能采用公用機器,通過不同賬號進行隔離的方式;其次由于機器共同使用,多人同時開發(fā),所以無法依照自己的意愿進行環(huán)境調(diào)整;第三是因為服務(wù)器進行操作系統(tǒng)變更的代價很高。如果開發(fā)確實需要定制的環(huán)境,需要變更操作系統(tǒng),在我們以前的團隊里,需要提交單獨的變更單,經(jīng)重重審核后到系統(tǒng)工程師,系統(tǒng)工程師到周五安排下周的操作,所以從提起申請到操作一般要經(jīng)歷一周時間。即使進入實際操作階段,系統(tǒng)重裝耗費的時間也很長,安裝系統(tǒng)的時間占用在30分鐘左右,服務(wù)器系統(tǒng)重啟的時間在8-15分鐘,重新下載和配置軟件的時間在1小時-3小時不等?傮w說來,重建一次系統(tǒng)環(huán)境至少需要半天時間。

在這種情況下,開發(fā)人員在開發(fā)伊始就沒有得到期望的良好開發(fā)環(huán)境,只能在整個開發(fā)過程中帶著鐐銬跳舞。

再來看一下目前的狀況,我們應(yīng)用Xen虛擬化技術(shù),很好的解決了這些問題。開發(fā)人員在開發(fā)進行之初,提交需要的環(huán)境配置列表,配置管理人員按照開發(fā)的請求,從鏡像庫里選擇對應(yīng)的虛擬機鏡像,再找一臺合適的物理機由該鏡像生成虛擬機,交付給開發(fā)人員使用,雖然硬件資源依然有限,但由于虛擬機所占的物理資源較少,可以保障每個開發(fā)人員都擁有自己獨立操控的環(huán)境。而整個虛擬機的創(chuàng)建時間在1-5分鐘即可完成。

由于擁有的是獨立的一臺虛擬機,其資源跟其他的開發(fā)人員完全隔離,開發(fā)人員可以自主進行系統(tǒng)配置。在需要的時候也可以隨時進行重裝請求,重裝操作非常簡單,刪除虛擬機,從鏡像庫生成一臺新的虛擬機即可,原先需要一周多提供的初始系統(tǒng)現(xiàn)在在1-5分鐘即可完成。

圖一:目前一個開發(fā)人員的的開發(fā)測試機

第二,獨立的運行環(huán)境

在以前的配置下,由于系統(tǒng)被多人共用,或者已歷經(jīng)開發(fā)多個項目的時候,很多系統(tǒng)環(huán)境參數(shù)已經(jīng)經(jīng)過了多輪配置,導(dǎo)致整個開發(fā)環(huán)境暗流洶涌,隱藏著諸多沖突因素。同時,由于多個賬號同時使用,分屬于不同賬號的模塊之間也會產(chǎn)生沖突,最常見的如端口沖突,這往往通過開發(fā)人員之間協(xié)調(diào)好彼此模塊使用的端口號解決,但也不可避免的遺留下一些問題,比如我們遇到過一次故障,就是開發(fā)在提交產(chǎn)品時忘了修改內(nèi)部某個模塊的通信端口導(dǎo)致的。還有一次開發(fā)人員在程序出錯之后花費了大量時間精力查找原因,最后悲催的發(fā)現(xiàn)是另一個開發(fā)人員在系統(tǒng)上做了某個工具庫的升級。此外,由于某個開發(fā)人員的程序問題把機器跑死從而導(dǎo)致其他程序無法運行的問題更是家常便飯。

遷移到虛擬化的環(huán)境下,共享開發(fā)環(huán)境的問題也迎刃而解。由于虛擬機自身的獨立性,每臺虛擬機都是一整套完整而隔離的系統(tǒng),虛擬機之間有充分的隔離,開發(fā)人員不用再擔(dān)心端口問題,系統(tǒng)參數(shù)問題等,用自己的機器自然對系統(tǒng)的一切變化均了然于心,當(dāng)出現(xiàn)bug時,開發(fā)人員也可以把時間精力集中在程序功能的調(diào)試上。

測試階段的作用

開發(fā)完成后進入到測試階段,虛擬化的重要性更加顯現(xiàn),虛擬化在測試中的重要性體現(xiàn)在四個方面:

第一,靈活的環(huán)境選擇

測試人員首先需要有一套良好的測試環(huán)境。在以往的測試中,需要由測試人員提出環(huán)境申請,在測試機器上重裝系統(tǒng),按照測試要求配置好系統(tǒng)參數(shù)。在物理機上操作,一般1天左右,測試人員可以拿到自己需要的環(huán)境。但由于測試的多樣性,如果說開發(fā)階段一天時間準(zhǔn)備好環(huán)境還能接受的話,對于測試來說這是非常難以容忍的,因為測試更強調(diào)環(huán)境的多樣性。例如我們的產(chǎn)品需要同時提供對Windows環(huán)境,Linux環(huán)境的支持,以及對Windows和Linux的各個不同的發(fā)行版的支持。這種情況下,每次產(chǎn)品測試都是一個痛苦的過程,系統(tǒng)工程師需要根據(jù)測試進度隨時重裝系統(tǒng),以便提供出不同環(huán)境配置的機器,而測試則等待系統(tǒng)工程師提供好環(huán)境后才能進行下一個環(huán)境的測試。

即使環(huán)境已經(jīng)提供,每個環(huán)境里還需要加上不同的應(yīng)用組合,比如前端產(chǎn)品需要測試對主流瀏覽器的支持情況,瀏覽器包括IE,firefox,chrome,safari,opera等等,對于每款瀏覽器還需要考慮不同版本,如IE6,IE7,IE8等。更可怕的是,同類型的很多瀏覽器不能同時裝在一個系統(tǒng)里,IE系列即是如此,這種情況導(dǎo)致了測試環(huán)境的變更極其頻繁,系統(tǒng)工程師往往不堪重負,測試工程師則抱怨需要的系統(tǒng)環(huán)境遲遲不能提供。

在我們當(dāng)前的項目組里,該問題已經(jīng)不復(fù)存在。虛擬化系統(tǒng)里早已創(chuàng)建好對應(yīng)于多個不同操作系統(tǒng)的模板,例如CentOS 5.4,Ubuntu 10.04,Windows 2003 Server,Windows 2008 Server,Windows xp,Windows 7等等,在測試需要的時候可以由模板迅速生成對應(yīng)的虛擬機,每個虛擬機的生成時間在1-5分鐘。同時,對應(yīng)不同的應(yīng)用和環(huán)境的組合,也單獨生成一個模板,比如Windows 2003 server+IIS的模板,Windows xp + IE8的模板,需要時輕輕點擊生成虛擬機,一套可用環(huán)境就出現(xiàn)了。模板的形式見圖二和圖三。

圖二:截取的Windows部分鏡像

圖三:截取的Linux部分鏡像

標(biāo)簽: 加速器 產(chǎn)品 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:增強應(yīng)用“可用性”的10條設(shè)計原則

下一篇:中型項目管理中所涉及到的一些文檔整理