我最近不得不在Google AppEngine上实现一个项目.一开始我很怀疑.但Appengine有一些非常好的方法:
没有服务器设置.一切都开箱即用.Gzip,图书馆等
一键式部署.在Mac上启动GAE启动器,然后单击"部署".完成.
成本低
易于生产记录
但是,如果我在考虑专业项目,有些事我不喜欢
blobstore.这只是......很奇怪.而且不可替代
所有1 MB的限制
感觉您的代码只能在AppEngine上运行.(BigTable的)
你知道AppEngine有哪些类似的替代品吗?我不是指像EC2这样的服务.
您可以查看AppScale
它是AppEngine的开源实现,您可以在自己的计算机上部署,并提供大量数据库供您选择.
我认为Heroku是一个很好的选择.
它可以运行大多数GAE现有应用程序,因为它支持django,但也包括:
它支持Ruby(w或w/o Rails),Java(w或w/o Spring),Node.js,Clojure,......
它具有强大的CLI支持(用于发布,创建应用程序,扩展,日志,ps,...的git推送)
它支持MySql和PostgreSQL(以及MongoDB,Amazon RDS等)
它为每个应用程序提供每月750小时的免费等级(约1台机器始终可用).
它有一组插件,用于提供云服务作为应用程序的资源
它有一个附加程序来开发自己的附加组件.
真的,这是一个很好的选择.
如果您希望您的应用程序没有绑定到GAE,最好的方法是使用众所周知的语言和众所周知的持久性提供程序.例如,Ruby + PostgreSQL可以是非常便携的组合.Django也是,但没有BigTable ......
AppScale和TyphoonAE都是App Engine平台的第三方实现.TyphoonAE针对的是中小规模,而AppScale则针对大规模的事情.
至于备份blobstore,这是非常可行的:只需使用内置的处理程序来提供blob,并且与remote_api一起使用,你可以很好地下载你的blob.
我几乎不想在谷歌相关问题中提到微软,但我完全与供应商无关.因此,我将提供Microsoft的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实例会使您即使在完全空闲的时间内也会收到帐单.这是完全典型的,但事实上谷歌并没有这样,这让我每次都选择AppEngine.我的预算太紧,不能让我花钱闲置CPU时间.