如果要獲得更多可用的開發(fā)空間,Intersimone表示他正在考慮采用由CohesiveFT公司提供的云容器以及虛擬專有網(wǎng)絡。它們能夠為公共云及私有云根據(jù)具體需求提供擴展、故障切換、災難恢復及突發(fā)情況備份等服務。
其它可能會影響開發(fā)及測試的因素包括網(wǎng)絡延遲、網(wǎng)絡帶寬等,這類情況在世界上的某些國家中尤為常見。Embaracdero公司的研究及開發(fā)中心遍布斯科茨谷、加利福尼亞州、加州蒙特里、多倫多、圣彼得堡、佛羅里達州及羅馬尼亞的雅西,此外還在世界范圍內分布著大大小小的團隊及個人研發(fā)中心。
考慮到Embarcadero公司上述復雜的地理分布狀況,開發(fā)環(huán)境也就“更難保證程序的構建、檢查以及自動測試執(zhí)行的同步完成,”Intersimone說。為了解決這一問題,開發(fā)人員決定在本地主機上進行開發(fā)工作,并正如代碼核對一樣,在虛擬服務器上將開發(fā)成果發(fā)布出來。而Embarcadero公司所要做的是借助Subversion(一款開源工具,用以控制源代碼)來確保所有這些工作成果能夠及時準確地與私有云中的版本進行同步。
“當一個階段性成果被構建完成,它將自動由驗證體系進行運行測試,”Intersimone說?!叭缓髮⑼ㄖl(fā)布到整個開發(fā)團隊中,并且該成果將被立即上傳到我們開發(fā)中心的虛擬機中去,以接受進一步的自動測試。”當自動及人工檢測全部完成后,電子郵件會通知到每位開發(fā)人員?!吧鲜鏊胁襟E在應用程序的開發(fā)過程中不斷循環(huán),”他說道。
云開發(fā)難題六:在云環(huán)境中運行容易造成資源浪費
另一個潛在的問題是應用云技術會浪費資金。開發(fā)人員很容易就會忘記或者是忽視掉應該把不使用的虛擬機關閉?!拔乙呀?jīng)聽到了一些客戶的聲音,如果讓開發(fā)人員放開了去使用虛擬機資源,遇上周末的時候他們往往就把那些運行著任務的設備直接扔下了,”來自Gartner公司的Knipp說?!叭绻@些設備只是自己企業(yè)內部所購買并部署的私有服務器,倒也沒什么大不了的,只是耗電而已。但當他們所使用的是計時租賃的公共云服務時,那就絕對是對金錢的極大浪費?!?/P>
Knipp說他希望這一問題會成為推動各企業(yè)部署私有云設備的動力。
盡管讓開發(fā)人員使用私有云進行工作幾乎不會導致過于高昂的支出,但是“在自架服務器上,私有IaaS(基礎設施即服務)環(huán)境中,開發(fā)人員能夠盡情玩轉虛擬機而不必將其關閉,”Knipp說道?!斑@種習慣性行為會導致大量有效資源被虛開著的虛擬機所占用,進而使得整個企業(yè)機構不得不購買多于所需的硬件設備來應對這一局面?!?/P>
云開發(fā)難題七:云許可中那些莫名其妙的部署限制條款
在與云開發(fā)相關的非技術類問題中,影響最大的莫過于應用許可限制了。兩年前Kelly Service這一國家級臨時機構決定將Salesforce.com的Force.com作為平臺載體,以使用其自主研發(fā)的應用程序來幫助進行云環(huán)境下的軟件開發(fā)。
云開發(fā)帶來了種種益處,例如縮短應用程序開發(fā)周期以及降低開發(fā)成本,Joe Drouin說,他是Kelly Services的CIO。但該公司也在應用許可方面遇到了一些意料之外的麻煩,尤其是在反饋哪類用戶將會使用這款軟件以及其所能負載的訪問對象數(shù)量上。最終,在開發(fā)的“某些層面上我們驚訝地得知了自己能做或不能做哪些事情,有些條款實在是讓人費解,”Drouin說。
云開發(fā)難題八:高集成度架構使故障排查更難實施
將新應用程序與現(xiàn)有的程序整合起來可以說是開發(fā)過程中的關鍵性步驟,而云技術的引入從集成角度來說帶來了更多的挑戰(zhàn),Drouin說道:“利用云計算時,企業(yè)用戶一般都不具備可以將其云服務供應商的基礎設施進行開放式接入、應用和整合的平臺?!?/P>
Kelly公司在基于云的應用程序與其內部部署系統(tǒng)以及多個云應用程序之間的協(xié)作性能問題方面交出了令人滿意的答卷。這類問題真的很難解決,因為公司通常來說只能對自己的基礎設施進行排查,Drouin說道。
為了盡量減少高度整合所帶來的問題,Kelly的開發(fā)人員們盡可能嘗試利用云供應商的API(即應用程序編程接口)來解決問題;這種方案相當容易,因為多數(shù)云服務供應商都會公開其API,Drouin說。
云開發(fā)難題九:云技術迅猛發(fā)展,前進步伐難以跟上
IT服務供應商Avanade使用的是部分歸屬于微軟的Azure云平臺,并利用微軟提供的開發(fā)工具來對企業(yè)內部及客戶端的業(yè)務進行開發(fā)和測試。