云計算和虛擬化可以讓你創(chuàng)建虛擬機(jī),并使用基于云的服務(wù)用于項目管理、問題管理和具有自動化測試的軟件構(gòu)建。而這又從六個方面鼓勵了敏捷軟件開發(fā)。
澳大利亞綜合金融服務(wù)領(lǐng)先供應(yīng)商之一澳洲聯(lián)邦銀行(Commonwealth Bank)建立了一個私有云來運(yùn)行內(nèi)部應(yīng)用程序作為服務(wù)。這些應(yīng)用程序使用超過300個Oracle數(shù)據(jù)庫,這些數(shù)據(jù)庫都被合并到按需Oracle實例中,而該實例可以由瀏覽器界面內(nèi)的應(yīng)用程序開發(fā)團(tuán)隊進(jìn)行非常迅速的配置。這使開發(fā)團(tuán)隊配置生產(chǎn)質(zhì)量環(huán)境的準(zhǔn)備時間從三個月縮減到兩分鐘。
同時,Salesforce.com R&D利用云計算顯著加快了其產(chǎn)品發(fā)布周期。該公司每個季度會發(fā)布一個主要產(chǎn)品,但每個月、每周甚至每天都需要添加漸進(jìn)式改進(jìn)。該公司的云基礎(chǔ)設(shè)施幫助其建立了一個單一的統(tǒng)一代碼庫,讓位于不同地理位置的開發(fā)團(tuán)隊都可以使用。這些團(tuán)隊成功地將敏捷開發(fā)和持續(xù)集成/交付與云計算結(jié)合在一起。
聯(lián)邦銀行和Salesforce.com R&D只是兩個例子,向我們展示了敏捷軟件開發(fā)團(tuán)隊如何使用云計算來加快開發(fā)操作和實現(xiàn)效率與效益。云計算和虛擬化讓敏捷開發(fā)團(tuán)隊可以無縫地將多個開發(fā)、測試和生產(chǎn)環(huán)境與其他云服務(wù)相結(jié)合。
以下云計算和虛擬化幫助提高敏捷軟件開發(fā)的六個重要方面:
1.云計算提供無限數(shù)量的測試和開發(fā)用服務(wù)器
在敏捷開發(fā)沒有“遇到”虛擬化或云計算之前,開發(fā)團(tuán)隊受限于一臺物理服務(wù)器,來滿足其開發(fā)和生產(chǎn)服務(wù)器的需求。然而,在使用虛擬機(jī)或云實例后,開發(fā)團(tuán)隊擁有無限數(shù)量的服務(wù)器。他們不需要等待物理服務(wù)器空閑時才開始或繼續(xù)他們的工作。
2.使敏捷開發(fā)轉(zhuǎn)變成真正并行的活動
你可能在使用敏捷開發(fā)的同時,在配置服務(wù)器實例和安裝必要的底層平臺(例如數(shù)據(jù)庫軟件)時仍然遭遇延遲現(xiàn)象。正如聯(lián)邦銀行將配置Oracle數(shù)據(jù)庫的時間從三個月縮減到兩分鐘,敏捷開發(fā)團(tuán)隊可以自己快速地配置所需的服務(wù)器,而不是等待IT運(yùn)營來為他們配置。
雖然敏捷開發(fā)辦法旨在消除軟件開發(fā)過程中的低效率和延遲,在實踐中,它變成一個串行活動,而云計算可以將其變成一個并行活動。這將幫助敏捷軟件開發(fā)團(tuán)隊提高效率和效益。
3.鼓勵創(chuàng)新和實驗
能夠根據(jù)需要產(chǎn)生盡可能多的實例可以幫助敏捷開發(fā)團(tuán)隊不斷創(chuàng)新。如果一個功能看起來很不錯,團(tuán)隊可以迅速產(chǎn)生一個開發(fā)實例來編碼并測試它,而不需要等待下一個產(chǎn)品發(fā)布。當(dāng)添加云計算到敏捷開發(fā)時,軟件構(gòu)建更加快速,這也將鼓勵創(chuàng)新和實驗。
4.加強(qiáng)了持續(xù)集成和交付
如前所述,云實例和虛擬化能夠大大提高持續(xù)集成和交付。構(gòu)建和自動化測試需要花一段時間。敏捷開發(fā)團(tuán)隊可能隨后需要為在自動化測試期間失敗的測試修復(fù)代碼,在所有測試通過之前,他們需要反復(fù)這樣修復(fù)代碼。
在敏捷開發(fā)團(tuán)隊自己的云環(huán)境或者公共云中,擁有大量虛擬機(jī)可以提高持續(xù)集成和交付的速度。
5.帶來更多開發(fā)平臺和外部服務(wù)
敏捷開發(fā)團(tuán)隊可能需要使用各種不同的項目管理、問題管理以及自動化測試環(huán)境(如果使用持續(xù)集成的話)。很多這些服務(wù)都在云中作為軟件即服務(wù)(SaaS)。
敏捷開發(fā)可以使用虛擬化、私有云和基礎(chǔ)設(shè)施即服務(wù)水平的公共云的結(jié)合體。這種產(chǎn)品包括Amazon網(wǎng)絡(luò)服務(wù)、GoGrid、opSource和RackSpace Cloud。
然后是使用平臺即服務(wù)(PaaS)實例,例如Oracle數(shù)據(jù)庫云服務(wù)、Google App Engine和Salesforce.com平臺force.com,所有這些都包含數(shù)據(jù)庫和語言環(huán)境作為服務(wù)。