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