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