應用程序基于云技術的開發(fā)及測試目前正日益普及,越來越多的企業(yè)開始公布其基于公共云或是私有云的計算計劃。云技術開發(fā)通常包括整合開發(fā)環(huán)境,應用程序開發(fā)周期管理組件(例如測試及質量管理、源代碼及配置管理和持續(xù)提交請求工具等)以及應用安全性測試部分。
盡管技術人員和開發(fā)人員在以云技術為基礎的開發(fā)方面已經很有經驗,并堅信這類技術對開發(fā)環(huán)境的益處顯而易見——例如節(jié)約成本并可讓產品更快投入市場——但他們同樣提出警告,稱其中存在無數挑戰(zhàn)及意外狀況。
云技術在開發(fā)中究竟能普及到何種程度目前尚不明朗。但業(yè)內人士給出的分析結果表明,這一普及度無疑是在上升當中。在2011年2月的研究報告中,Gartner公司表示那些參加了該公司專題研討會的客戶們普遍認為,云計算項目對他們而言“越來越具有吸引力”,并打算以此來加強開發(fā)能力及優(yōu)化現(xiàn)有的自定義網頁應用程序維護手段。
“我更多地看到了其原型及并行分支的發(fā)展情況,但其在負載及性能測試領域的巨大塑造空間也極具前景,”Eric Knipp說,他是Gartner公司的首席分析師。
如果大家正在首次尋求云技術開發(fā)的起步方式,那么下面所列出的九項建議涵蓋了那些大家可能面臨的種種障礙,并指出如何從已經走過這段坎坷道路的成功開發(fā)商那里學到應對這些問題的方案。
云開發(fā)難題一:云技術并不總像“真實世界”那樣簡單
開發(fā)人員可能會發(fā)現(xiàn)他們在開發(fā)產品時,將其配置復制到云平臺上是個很難操作的過程。例如,對于一個利用云技術開發(fā),并打算在完成后基于本地主機運行的應用程序來說,大家可能需要對所有關于本地與云服務器端不同運行環(huán)境的遺留問題進行檢測,而沒法簡單地將配置復制一下就指望能夠解決問題。Knipp說:“這意味著開發(fā)人員可能不得不耗費更多的精力來尋找一款合適的測試工具來對自己的產品進行檢測及核對?!?/P>
服務器虛擬化技術可以在這方面幫上忙,Knipp說道,而開發(fā)人員可以利用到目前市場上已經存在的、用以解決復數化/并行類開發(fā)問題的產品。就拿iTKO公司來說吧,它出品了一款名為Lisa的軟件套裝,幫助企業(yè)將自己開發(fā)的應用程序真正應用到云中。
那些習慣于在非云環(huán)境下開發(fā)程序的開發(fā)人員也可能會遇到麻煩,比如他們正打算在本地主機上制作一款將運行于云環(huán)境下的應用程序。舉例來說,Greg Taylor,他在俄亥俄州建立了一套音樂教育協(xié)會網上登記申請系統(tǒng),沒想到,為了這樣一款簡單的應用,他卻不得不深入了解數據庫結構及用戶們與他所制作的程序的交互過程。
這個應用程序所處理的內容是全州范圍內各音樂學院的藝術表演登記,使用MySQL數據庫作為后端,并利用Alpha軟件公司出品的Alpha Five 10.5來制作前端?!拔疫^去一直在使用FileMaker Pro,這款產品對于數據庫結構方面的要求一向是非常寬松的,”Taylor說?!熬退闶窃O計本身很糟糕,仍然能夠獲得不錯的成功工作效率。
但基于MySQL的開發(fā)工作迫使Taylor將其預案系統(tǒng)組織起來,以便網頁應用程序能夠發(fā)揮出最佳的性能表現(xiàn)。每當需要添加更多區(qū)域都依靠返回表格結構來實現(xiàn)是非常耗時的,因為它涉及到不同開發(fā)工具之間的切換作業(yè)。這時就可以利用Navicat來應對MySQL,而Alpha Five則用來處理網頁頁面的實際設計,他說。由前一款工具負責創(chuàng)建數據庫主體結構,后一款工具為用戶提供互動頁面,以便輸入及編輯數據庫中的各項信息。
“這可能并不是關于開發(fā)人員費盡心思來改變既有數據庫的問題,”Taylor說道?!耙话銇碚f開發(fā)人員可以利用Alpha Five輕松地制作用戶訪問的網頁。但對于我來說,我需要同時開發(fā)數據庫和網頁,這樣一來我必須要謹慎安排開發(fā)計劃,因為開發(fā)工具之間的切換是非常實際的問題?!?/P>
為了避免這種長期存在的切換問題,Taylor不得不改變了自己的數據庫開發(fā)方式:“通過制作一幅清晰的ERD(即實體關系圖),我將開發(fā)流程變得更為直觀,這對網頁應用程序制作是非常有益的,并使我的整體開發(fā)時間大大縮短?!?/P>
在某些情況下,云環(huán)境下的開發(fā)工具在使用時也是很類似于本地開發(fā)的——至少類似于一些過時的本地開發(fā)方式。Jeff Hensley,DaVita公司(一家在腎透析方面非常權威的專業(yè)醫(yī)護公司)人力資源信息部門的高級分析師,對于開發(fā)人員們需要在云開發(fā)環(huán)境中用到命令行工具,XML以及SQL表示極為驚訝?!斑@些陳舊的開發(fā)工具讓我感覺回到了DOS時代,”他同時對未來做出了預計,認為古董級的開發(fā)方式會導致程序制作周期大大延長。