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