云計算提高敏捷軟件開發的六種方式 |
發布時間: 2012/8/25 18:52:01 |
云計算和虛擬化可以讓你創建虛擬機,并使用基于云的服務用于項目管理、問題管理和具有自動化測試的軟件構建。而這又從六個方面鼓勵了敏捷軟件開發。 澳大利亞綜合金融服務領先供應商之一澳洲聯邦銀行(Commonwealth Bank)建立了一個私有云來運行內部應用程序作為服務。這些應用程序使用超過300個Oracle數據庫,這些數據庫都被合并到按需Oracle實例中,而該實例可以由瀏覽器界面內的應用程序開發團隊進行非常迅速的配置。這使開發團隊配置生產質量環境的準備時間從三個月縮減到兩分鐘。 同時,Salesforce.com R&D利用云計算顯著加快了其產品發布周期。該公司每個季度會發布一個主要產品,但每個月、每周甚至每天都需要添加漸進式改進。該公司的云基礎設施幫助其建立了一個單一的統一代碼庫,讓位于不同地理位置的開發團隊都可以使用。這些團隊成功地將敏捷開發和持續集成/交付與云計算結合在一起。 聯邦銀行和Salesforce.com R&D只是兩個例子,向我們展示了敏捷軟件開發團隊如何使用云計算來加快開發操作和實現效率與效益。云計算和虛擬化讓敏捷開發團隊可以無縫地將多個開發、測試和生產環境與其他云服務相結合。 以下云計算和虛擬化幫助提高敏捷軟件開發的六個重要方面: 1.云計算提供無限數量的測試和開發用服務器 在敏捷開發沒有“遇到”虛擬化或云計算之前,開發團隊受限于一臺物理服務器,來滿足其開發和生產服務器的需求。然而,在使用虛擬機或云實例后,開發團隊擁有無限數量的服務器。他們不需要等待物理服務器空閑時才開始或繼續他們的工作。 2.使敏捷開發轉變成真正并行的活動 你可能在使用敏捷開發的同時,在配置服務器實例和安裝必要的底層平臺(例如數據庫軟件)時仍然遭遇延遲現象。正如聯邦銀行將配置Oracle數據庫的時間從三個月縮減到兩分鐘,敏捷開發團隊可以自己快速地配置所需的服務器,而不是等待IT運營來為他們配置。 雖然敏捷開發辦法旨在消除軟件開發過程中的低效率和延遲,在實踐中,它變成一個串行活動,而云計算可以將其變成一個并行活動。這將幫助敏捷軟件開發團隊提高效率和效益。 3.鼓勵創新和實驗 能夠根據需要產生盡可能多的實例可以幫助敏捷開發團隊不斷創新。如果一個功能看起來很不錯,團隊可以迅速產生一個開發實例來編碼并測試它,而不需要等待下一個產品發布。當添加云計算到敏捷開發時,軟件構建更加快速,這也將鼓勵創新和實驗。 4.加強了持續集成和交付 如前所述,云實例和虛擬化能夠大大提高持續集成和交付。構建和自動化測試需要花一段時間。敏捷開發團隊可能隨后需要為在自動化測試期間失敗的測試修復代碼,在所有測試通過之前,他們需要反復這樣修復代碼。 在敏捷開發團隊自己的云環境或者公共云中,擁有大量虛擬機可以提高持續集成和交付的速度。 5.帶來更多開發平臺和外部服務 敏捷開發團隊可能需要使用各種不同的項目管理、問題管理以及自動化測試環境(如果使用持續集成的話)。很多這些服務都在云中作為軟件即服務(SaaS)。 · 敏捷開發可以使用虛擬化、私有云和基礎設施即服務水平的公共云的結合體。這種產品包括Amazon網絡服務、GoGrid、opSource和RackSpace Cloud。 · 然后是使用平臺即服務(PaaS)實例,例如Oracle數據庫云服務、Google App Engine和Salesforce.com平臺force.com,所有這些都包含數據庫和語言環境作為服務。 · 最后,還有一些專門針對敏捷開發的SaaS服務,包括Salesforce.com、Basecamp項目管理門戶和TestFlight,為Apple iOS設備提供托管測試自動化。 6.簡化代碼分支與合并 從理論上講,敏捷開發是假設所有功能都可以被分解成大小相同的區塊。在實踐中,敏捷項目可能會遇到這樣的功能,即其開發工作要比構建甚至發布的時間還要長。在代碼重構工作中,當前版本可能需要小的改進并用于生產過程中,而代碼的重新設計仍然在進行中。在這種情況下,代碼分支是很有必要的。代碼分支和合并設計開發和升級構建的很多版本,而通過虛擬化和云計算,你不需要為這些目的購買或租用額外的物理服務器。 總體而言,虛擬化和云計算消除了測試和開發服務器對物理服務器的依賴,無論它們是只安裝了一個操作系統的虛擬機,還是具有數據庫軟件、語言或代碼庫的完整配置的服務器。如果敏捷團隊打算采用持續集成和交付方法的話,虛擬化和云計算也是必不可少的。此外,虛擬化和云計算通過消除配置中的延誤,讓敏捷開發轉變成并行活動,而不是串行活動。企業可以更好地將創新開發項目與業務目標相結合。 本文出自:億恩科技【www.laynepeng.cn】 |