2010-08-09 33 views
29

我最近不得不在Google AppEngine上實現一個項目。一開始我很懷疑。但Appengine有一些非常好的方法:Google AppEngine的替代方案?

  • 沒有服務器設置。一切都在開箱即用。 Gzip,圖書館等
  • 一鍵式部署。啓動Mac上的GAE啓動器,然後單擊部署。完成。
  • 成本低廉
  • 容易在生產測井

但也有一些事情,如果我在考慮專業的項目

  • Blob存儲區中,我不喜歡。這只是...怪異的。並且不支持
  • 所有1 MB限制
  • 感覺您的代碼只能在AppEngine上運行。 (BigTable)

您知道有任何類似的AppEngine替代品嗎?我不是指像EC2這樣的服務。

+0

究竟是什麼讓你煩惱blobstore?正如Nick在他的回答中提到的那樣,它是「不可逆轉的」。 – 2010-08-11 15:31:22

+0

我想建議使用取決於您的範圍使用parse.com或mongolab後端,而不是昂貴的谷歌數據存儲,然後,你可以根據需要無縫擴展與mongolab(https://mongolab.com/) – 2015-08-13 09:42:12

+0

Duplicate https://stackoverflow.com/questions/153721/what-alternatives-are-there-to-google-app-engine – 2016-11-13 21:32:29

回答

15

我覺得Heroku是一個偉大的選擇。

它可以運行大部分GAE現有的應用程序,因爲它支持Django的,但也:

  • 它支持Ruby(W或W/O型導軌),爪哇(W或W/O型彈簧),節點.js,Clojure,...
  • 它支持強大的CLI(git推送發佈,創建應用程序,縮放,日誌,ps,...)
  • 它支持MySql和PostgreSQL(等等, ,MongoDB,亞馬遜RDS等)
  • 它有一個免費的750個小時每個應用程序的時間(約1機器總是up)。
  • 它有一個用於提供雲服務作爲應用程序資源的插件集合
  • 它有一個附加程序來開發自己的附加組件。

真的,這是一個很好的選擇。

如果您希望您的應用程序未綁定到GAE,最好的方法是使用着名的lang和着名的持久性提供程序。例如,Ruby + PostgreSQL可能是一個非常便攜的組合。 Django也是如此,但沒有BigTable ...

+1

Heroku是否適用於WebRTC? – YumYumYum 2014-02-06 07:31:55

+0

heroku截至目前還沒有開放班的可靠性。我想建議您的需要的Openshift – 2015-08-13 09:40:16

32

你可以看看AppScale

它的一個開源實現AppEngine上的,你可以部署在自己的機器,用的數據庫可供選擇的主機。

+1

這比接受的答案更有意義。如果我的應用程序是使用應用程序引擎後端以python編寫的,那麼Heroku支持Ruby的事實對我來說毫無意義。 – rutherford 2012-12-13 00:06:49

15

AppScaleTyphoonAE都是App Engine平臺的第三方實現。 TyphoonAE瞄準的是中小規模,而AppScale針對的是大規模的事情。

就備份blobstore而言,這是非常可行的:只需使用內置處理程序來爲blob提供服務,並且與remote_api一起使用,您可以輕鬆下載blob。

+0

它們不適用於RED HAT ENTERPRISE LINUX 6.4和Amazon EC2。你有任何解決方案? – YumYumYum 2013-08-18 20:04:34

+5

@YumYumYum「他們不工作」非常無益。他們爲什麼不工作? – 2013-08-20 11:50:26

+0

在CentOS 6中,我正在安裝它,它說:「獲取源代碼..../build_script.sh:第23行:apt-get:命令未找到」 – YumYumYum 2014-02-06 07:41:43

6

我幾乎不願意在與Google有關的問題中提到微軟,但我完全與供應商無關。因此,我將提供微軟的Azure作爲一個平臺,它提供了許多與AppEngine類似的平臺,但它們可能適合作爲您的問題的良好答案。

Azure和AppEngine的相似之處在於它們都可以讓您構建易於擴展的應用程序。 Azure爲您提供了Microsoft的標準Web工具包選項:C#,VB.NET,ASP.NET ASP.NET MVC,同時也提供PHP。它有一個NoSQL,像AppEngine這樣的文檔數據庫,但也爲您提供了選擇更加標準的SQL Server實例的選項。儘管我自己並沒有使用它,但看起來AppEngine for Business現在也提供了SQL。

Azure爲您提供了一個可以長時間運行的後臺進程的方法。 AppEngine並不盡我所知。

從我的角度來看,AppEngine擁有巨大的優勢,只有在實際正在處理請求時纔會收取費用。 Azure實例會導致您甚至在完全閒置的時間內收取費用。這完全是典型的,但Google不這樣做使我每次都選擇AppEngine。我的預算過於緊張,無法花費閒置的CPU時間。

+0

順便說一下,Docker容器呢?當請求被實際處理時,它們能夠被解僱嗎?或者這太慢而不可行? – 2016-11-13 21:47:15

+1

我應該注意,我的帖子中的大量信息現在已經過時,至少在AppEngine的功能方面。我真的希望我對Docker有更多的瞭解,但據我所知,旋轉一個新的容器實例不會發生得如此之快,以至於它會爲Web請求提供可接受的響應時間。另一方面,從滿足需求的角度來看,這可能是可行的。可以構建智能負載平衡器來創建新實例以滿足日益增長的需求,對嗎? – 2016-11-14 14:36:02

1

有一個非關係數據庫的django端口,可與app引擎或mongodb一起使用。

谷歌Django的非相對

文檔是有點稀疏雖然