乍一看,人們可能會(huì)斷言,基于云計(jì)算技術(shù)的出現(xiàn),真的不應(yīng)該對(duì)任何一個(gè)Java開發(fā)人員有影響。畢竟,開發(fā)人員編寫的代碼,尤其是服務(wù)器端,企業(yè)Java開發(fā)人員,對(duì)于這些代碼將要在哪里部署應(yīng)該是不知道的。一個(gè)使用Spring模型開發(fā)的Web應(yīng)用程序無(wú)論是部署到JBoss服務(wù)器,一個(gè)Tomcat實(shí)例上,還是部署到WebSphere Liberty Profile服務(wù)器上,應(yīng)用程序開發(fā)人員是真的不關(guān)心。作為一個(gè)開發(fā)人員編寫的Java代碼只要通過(guò)了所有所需的單元測(cè)試,一切萬(wàn)事大吉。然后,開發(fā)人員可以把代碼扔在經(jīng)營(yíng)的隔間墻,讓他們處理復(fù)雜的基于云計(jì)算的部署和運(yùn)行時(shí)管理。
因此,如果云不一定影響應(yīng)用程序的編碼方式,云計(jì)算的出現(xiàn)在哪些方面影響應(yīng)用程序開發(fā)人員呢?“云計(jì)算影響應(yīng)用程序開發(fā)最大的兩個(gè)方面是,開發(fā)人員使用的工具和實(shí)現(xiàn)應(yīng)用程序體系結(jié)構(gòu)的方法,”Dominion Digital公司的管理顧問(wèn)Ryan Shriver說(shuō)。“源代碼控制,持續(xù)集成和自動(dòng)化測(cè)試工具在云計(jì)算出現(xiàn)之前很長(zhǎng)一段時(shí)間一直流傳。但現(xiàn)在,這些工具正變得比以往任何時(shí)候都更容易使用。找到其中一臺(tái)服務(wù)器并在上面安裝,而不是下載版本控制,搞清楚如何添加用戶和所有這樣的東西,我現(xiàn)在可以上線,免費(fèi)注冊(cè),邀請(qǐng)我的朋友,上傳我的代碼然后離開。”
使用這些基于云的工具,最終的結(jié)果是什么呢?也許他們并不真正改變開發(fā)人員編寫代碼的方式,但他們確實(shí)幫助簡(jiǎn)化了加載過(guò)程,并且團(tuán)隊(duì)變得更有效率,因?yàn)椴辉傩枰獙iT的人做代碼集成或在部署之前運(yùn)行測(cè)試套件。最終,開發(fā)者有更多的授權(quán),也更適應(yīng)過(guò)程,其結(jié)果是更加有生產(chǎn)力。當(dāng)然,同時(shí)的基于云的運(yùn)行方式的存在可能不會(huì)改變你編寫一個(gè)Servlet或者寫一個(gè)JPA實(shí)體,實(shí)際上你的運(yùn)行環(huán)境可擴(kuò)展彈性可能實(shí)際的解決一些更復(fù)雜的編程的問(wèn)題。“如果你有權(quán)使用這些可以擴(kuò)大或縮小彈性的資源,你將對(duì)于如何解決某些問(wèn)題會(huì)有不同的想法。”Ryan說(shuō)。這可能意味著使用Hadoop來(lái)處理結(jié)果,或大數(shù)據(jù)的數(shù)據(jù)管理方式,甚至僅僅是減少對(duì)你要放入HttpSession的數(shù)據(jù)圖表有多大的擔(dān)心,但對(duì)于一個(gè)給定的業(yè)務(wù)問(wèn)題,無(wú)論基于云計(jì)算的技術(shù)是否合適,事實(shí)都是,企業(yè)開發(fā)人員需要知道基于云的解決方案提供的能力和在合適的時(shí)間如何使用和申請(qǐng)他們的知識(shí)。
事實(shí)上,對(duì)于許多開發(fā)人員,一個(gè)PaaS提供商的引進(jìn)或轉(zhuǎn)移到利用IaaS方式,不一定改變他們?nèi)粘>幋a的職責(zé),但是,這并不意味著他們隔離于云計(jì)算領(lǐng)域的各種新興技術(shù)。從他們使用的工具來(lái)看,他們?nèi)绾螌?shí)現(xiàn)設(shè)計(jì)和開發(fā)復(fù)雜的企業(yè)解決方案,云計(jì)算確實(shí)改變了應(yīng)用程序的開發(fā)。