4月28日外電頭條:Google已為企業級云計算做好準備
原創【51CTO.com快譯】正如51CTO.com曾報道過的,Google App Engine(GAE)的最新升級已經開始支持Java,并且添加了一系列專門瞄準企業業務的新功能;此后,Google還發布了一款Eclipse插件,可以對Google App Engine的Java開發提供強力支持。這再次證明了Google對云計算企業應用市場的濃厚興趣。我們來看一下GAE有什么新的功能,還有哪些地方沒有做到?
雖然互聯網巨頭Google已經提供了一系列企業軟件產品,從搜索到SaaS服務,但企業軟件市場依然對Google的產品不太買賬,而另外幾家大公司,比如微軟、IBM、Oracle和SAP早已在市場中站穩了腳跟。例如微軟,在2008年末接受51CTO.com獨家專訪時,微軟互連系統部門全球副總裁Robert Wahbe表示,云計算是未來推動微軟發展最大的動力之一,微軟也將其新推出的云平臺Azure視作微軟最重要的產品之一。而對IBM,據51CTO.com報道,就在上周,IBM宣布計劃今年推出數項云計算服務。
但是,隨著人們對云計算的興趣日益提高,Google可能會迎來一個理想的開端。如果他們能夠成功的把自己獨有的技術優勢和強大的網絡計算能力轉換為企業業務模式,為企業降低成本,提高敏捷度,并成功地過度到下一代計算。
對于Google來說,好消息是上面說的四大企業中只有微軟一家已經發布了可靠的云平臺Azure,盡管IBM和Oracle也肯定會很快推出自己的云產品,但是,如果Google能夠搶在他們之前向企業提供出真正需要的云計算服務,那么它的前景將會很好。
原先的GAE主要是一個以消費者網絡應用為重點的云計算產品,相比較功能的多少,Google更關注于它的性能是否穩定,以及高擴展性。它將云計算精簡到一個新的水平,同時保持了運行的迅速。以前的GAE需要使用Python語言,專有的數據庫,以及請求/響應的應用模型。
Google在保持優點的同時,為GAE做了最新的升級,帶來了許多企業需要的新功能和新技術,使新的云計算平臺得到更廣泛的用途。我們將看到這些新舉措將讓Google比以前更貼近企業,但是還有些很明顯的工作要做。
接下來,讓我們從企業的角度來看看新的GAE具體提供了哪些新功能,以及作為一個真正的完整企業級產品,GAE有哪些地方還并不完善。
GAE的新功能
支持Java虛擬機。現在,你可以在GAE中運行Java 5和Java 6的代碼,只要它不破壞Google的服務器。鑒于大多數企業都已經應用了標準化的.NET或Java環境,這個升級是條大新聞,因為以前GAE只支持Python。這大大減少了企業進入GAE的障礙,因為代碼不用完全重寫了。另一個關鍵的新區別是Google決定直接支持Java字節碼,而不只在源代碼級做到兼容。這等于為GAE帶來了無窮的新功能,例如依賴注入dependency injection,面向方面編程(AOP),和表達式語言運行時(expression language runtimes)等許多現在流行的Java平臺上的實用功能。這也意味著幾乎任何編程語言都能夠在GAE的Java虛擬機上運行。Google已經為GAE測試過Groovy、JavaScript、Python、Ruby、Scala和Scheme等幾乎全部時下流行的開發語言。
訪問企業內部資源。GAE提供了新的安全數據連接器(Secure Data Connector,SDC),為企業在GAE中使用自己的數據、網絡服務和SOA提供了一個安全的隧道,而不需要將數據移動到云中。SDC要求Google Apps Premier版本,在防火墻內為GAE應用和企業數據之間提供了一個完全加密保障。通過SDC,GAE可以比以前更直接更安全的廣泛訪問企業數據。
數據庫導入。某些類型特別是高性能的應用要求企業數據轉移到Google的云中。新的GAE數據庫導入工具可以使企業將數據大量從本地導入GAE。這將使企業能夠在需要時更容易更迅速的將產品數據集遷移到GAE。
支持批量工作。GAE原先只提供單獨的請求/響應模型,就像Web本身的HTTP GET/POST方法等。這使GAE的計算平臺只是在網絡出現外部訪問要求時才會工作,而后臺處理工作則受到限制。因此在之前企業必須在GAE之外自己建立批量工作。而現在,GAE內置了Cron支持,可以同時支持請求/響應模型和后臺處理,滿足了強大的企業級應用需要,因為后臺處理常用于完成比如備份、生成報告、異步處理等重要的任務。
GAE依然缺乏的功能
GAE新增加的功能非常重要,當然也會收到企業的歡迎。但我們認為,在許多企業已經發展出許多自己的具體技術需求下,GAE尚未能提供足夠的功能滿足他們的需要。
消息隊列。當處理大量數據或眾多事件時,應用程序需要擁有在無法全部處理時存儲信息的消息隊列方法。雖然云計算平臺在理論上具有足夠的彈性來處理所有消息,但現實的物理情況(也許有成本考慮)是在處理大量信息和重型任務時,應用程序會出現問題。Amazon提供的云服務已經通過SQS具有了消息隊列功能,建議GAE也考慮一下。
服務器端push和實時事件。許多類型的商業應用都不能經濟有效地使用polling來查看數據是否發生了變化,或者重要事件的發生。雖然Google將服務器端的超時反應時間縮短到30秒,但在關鍵事件發生時GAE仍然缺乏有效的方式快速通知外部系統。而實時事件的處理也是非常重要的,尤其是對于呼叫中心、財政系統、醫療系統這樣的需要快速將業務數據傳輸到網絡客戶端的應用。
SQL數據庫支持。GAE內置的Datastore據說是基于BigTable的,而不是SQL。雖然它為Petabyte級海量數據設計,但具有局限性,無法發揮高性能。SQL數據庫是今天的企業支柱,可以說如果不支持SQL,將使許多應用無法移到Google的云中。同樣的,在對SQL的支持方面Amazon又提前了一步。Google堅持使用其獨特的數據庫可能會提高GAE的性能和可擴展性,但不應該建立在犧牲通用的應用模型和開發者的習慣的基礎之上。
企業友好的管理和監測工具。Tivoli、Patrol和其他一些IT管理工具是如今企業管理本地IT資源和數據中心的主要手段,企業也需要一個統一的管理方法來管理云計算資源。GAE將原始的數據以XML的形式顯示出來,但把集成工作留給了企業。這似乎是在幫助第三方管理工具供應商,而Google本應自己解決這一問題,如果真心想打動企業們,Google應該更深入的了解他們的需求和資源,抓住機會做得更好。
下面給各位讀者附上Google App Engine對Java的支持簡表。如果大家想了解更多的詳細情況,請參閱51CTO.com此前發布的文章《Google App Engine對Java支持情況一覽》;感興趣的讀者,也可以通過《使用Java開發Google APP Engine初試》了解基本的GAE開發技巧。
附表:Google App Engine對Java的支持:
優點 |
缺點 |
* 無須征求允許的自動縮放能力 * 小型應用免費試用層 * 集成Eclipse和GWT的一整套工具 |
* 必須按照Google要求的方式儲存數據 * 缺少一些類文件 * 每一步都受到嚴格的配額限制 |
【51CTO.com譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】
原文:Google's cloud gets ready for the enterprise 作者:Dion Hinchcliffe
【推薦閱讀】