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