擔憂是否多余 Google App Engine為何被棄?
Carlos Ble是一個來自西班牙開發(fā)者。他所在的公司決定使用Google App Engine(GAE),但是最終放棄了。
這周剛開始的時候,Ble在他的一篇博客中談到了關于公司放棄使用GAE的13個原因。一天之內(nèi),這篇博客已經(jīng)達到了89000次點擊,158個回復。有的評論表示同情,其他的責備Ble,覺得他不應該批判Google,他們認為Ble應該先做更多研究來確定GAE這個平臺是否適合其所在公司的需求。
Google 云和工具的開發(fā)者關系經(jīng)理Patrick Chanezon也進行了評論。出于對Chanezon的尊重,以及為了澄清他的顧慮,Ble對博文內(nèi)容進行了修改,但是還是覺得GAE存在足夠多的問題,于是,他堅持了自己批判性的評論。
下面是Ble列出的5個問題,也是他的團隊所遇到的影響重大問題:
1、它需要Phython 2.5,這是一個非常古老的語言。使用Ubuntu意味著你需要一個具有單獨環(huán)境的virtualenv或chroot,才能很好地與SDK協(xié)調(diào)。好吧,這只是一個小小的挫折。
2、你不能在你自己的域(也就他們所謂的裸域名)下使用HTTP,可靠的連接應該通過yourname.appspot.com:這真是太爛了!
3、任何請求的時間都不能超過30秒,否則的話請求就會停止:天啊,這是最痛苦的事情。當我們上傳數(shù)據(jù)到數(shù)據(jù)庫的時候(一個no-sql引擎),上傳請求會在30秒之后中斷,因此,我們不得不費盡力氣將文件切割,克服各種困難來管理這種情況。由于同樣的規(guī)則,運行后臺任務(cron)也變成一個大工程,但是在網(wǎng)站管理的操作中,許多許多任務都需要超過30秒鐘才能完成。這樣的情形你能想象嗎?
4、每一個從一個服務器發(fā)到其他網(wǎng)址的GET或POST請求,如果沒有在5秒之內(nèi)完成就會失敗。你可以修改配置,但是最多只能是10秒。當你需要中間服務器時,這使得與Twitter和Facebook協(xié)同工作成為天方夜談。這再次加倍了完成看似簡單的人物的難度。
5、你不能使用構(gòu)建于C之上的Phython庫,只能是用Phython寫的庫:就不要再幻想使用那些很棒的庫了。
Ble在9月份的時候?qū)懙?,Google App Engine老是宕機。他說他們面對著500個錯誤代碼,有時候每天有60%的時間網(wǎng)站處于宕機狀態(tài)。也就是說,10次有6次,用戶訪問網(wǎng)站的時候不能登錄或使用。
Ble承認,他應該更加謹慎一些,而不是盲目相信Google。
#p#
“對我們來說,GAE和Wave和Buzz一樣都是失敗的,不同的是,這一次我們付了錢。都怪我太頑固了,因為這個平臺的背后是一家大公司,但是,我現(xiàn)在已經(jīng)總結(jié)出一個重要的教訓:好公司也會犯錯。在開發(fā)實際的功能之前,我沒有作深入的調(diào)查。我應該在投入如此多的資金之前進行深入的了解。我真是瞎了眼!”
一些評論者并不同情Ble的遭遇,他們覺得他應該多做調(diào)查。
但是就在那時,曾經(jīng)寫過關于Google App Enige書籍的Eugene Ciurana進行了評論:
“Carlos,我在幾年前寫了第一本Google App Engine編程的書。書出版后,我會經(jīng)常有機會在一些會議上,做一些關于在App Engine上用Phython和Java進行編程的演講;我意識到我的“Google App Engine HOWTO”已經(jīng)成為一個“讓人們使用慎用GAE的東西”,并且,最終建議人們不要使用GAE來做任何很關鍵任務。我很欣賞你的博客,并且已經(jīng)Tweet了,因為我認為這是一個很重要的、值得借鑒的故事。我所做的大部分工作都是與可擴展性和高可用性有關的。然而,我喜歡把App Engine作為我借鑒的對象,現(xiàn)在只是它很少的一部分,提供無狀態(tài)的TESTful的Web服務,而不是滿狀態(tài)的應用。真正的應用是繼續(xù)放在一個常規(guī)的數(shù)據(jù)中心還是把它放到Amazon/Rackapace等等。關于NoSQL系統(tǒng):很難說是一個數(shù)據(jù)存儲的好例子。App Engine或許已經(jīng)足夠好了,只是你不了解它的警告。好的工具成就好的工作,我建議,你應該定義文檔或者是列式數(shù)據(jù)存儲和檢索需求,試試mongoDB和Hbase。我們正在將這兩個產(chǎn)品用于大企業(yè)客戶,沒有什么問題。祝好!Eugene Ciurana。”
Chanezon在他的評論當中說道,Ble的許多觀點Google都是知道的,他表示公司正在改進。
Chanezon還強調(diào),閱讀Google App Engine文檔很重要,文檔中列出了一些限制。這個服務是專為有高可擴展性需求的應用而設計的,這些應用需要實現(xiàn)快速擴展,以適應大量用戶或數(shù)據(jù)。他指出,Gri.pe就是一個例子。
關于這個問題,你怎么看的呢?Ble的擔心是否合理?
【編輯推薦】