Google App Engine有哪些替代方法?

GAE有什么替代scheme,因为我已经有了一些我想要保留的代码。 换句话说,我在挖python。 但是,我的用例更多的是请求数量较less,CPU使用types较高的用例,我担心我可能无法永远留在App Engine中。 我听到很多人在谈论amazon web services和其他types的云服务提供商,但是我很难看到这些服务中的大部分提供的服务范围(数据查询,用户身份validation,自动缩放)引擎提供。 我在这里有什么select?

由于GAE属于自己的类,所以我认为GAE现在还没有另外的select(关于代码可移植性)。 当然GAE是云计算,但是我将GAE看作是云计算的一个子集。 亚马逊的EC2也是云计算(以及Joyent Accelerators,Slicehost Slices),但显然它们也是两种不同的怪物。 所以现在你处于一种需要根据你的需要重新思考你的架构的情况。

GAE的直接好处是,它基本上免维护,因为它涉及基础设施(可伸缩的Web服务器和数据库pipe理)。 GAE更适合那些只专注于应用程序而不是底层系统的开发人员。在某种程度上,您可以认为开发人员友好。 现在也应该说,这些其他的云计算解决scheme也试图让您只需提供虚拟机映像/模板就可以尽可能多地担心您的应用程序。 最终你的需求将决定你应该采取的方法。

现在考虑到这一切,我们也可以构build混合解决scheme和解决scheme,以满足我们的需求。 例如,GAE似乎并不适合您描述的这个特定的应用程序需求。 换句话说,GAE提供的请求数量相对较多,CPU周期数量较less(不知道付费版本会有什么不同)。

然而,解决这一挑战的一个方法是构build一个定制的解决scheme,将GAE作为前端,Amazon AWS(EC2,S3和SQS)作为后端。 有人会说你不妨在AWS上构build你的整个堆栈,但是这也可能涉及重写大量现有的代码。 此外,作为一种解决方法,之前的一个stackoverflow文章描述了一种在GAE中模拟后台任务的方法。 此外,您还可以查看HTTP Map / Reduce来分配工作负载。

AppScale

AppScale是一个允许用户部署和托pipe自己的Google App Engine应用程序的平台。 它通过Amazon EC2和Eucalyptus以及Xen和KVM自动执行。 它已经由AppScale Systems开发和维护。 它支持Python,Go,PHP和Java Google App Engine平台。

http://github.com/AppScale/appscale

同时…

…这是2015年的最后一天,容器似乎是前进的道路。 GAE的替代品正在出现:

谷歌已经发布了Kubernetes ,它们开发的容器调度软件来pipe理GCE容器 ,但是也可以用在其他的集群上。

Docker上有一些即将到来的PaaS

有趣的东西,以保持关注。

替代scheme:1. AppScale 2. Heroku 。

参考: 谷歌AppEngine的替代?

亚马逊的弹性计算云或EC2是一个不错的select。 你基本上可以在他们的服务器上运行Linux虚拟机,你可以通过Web界面控制(上下电),当然也可以通过SSH或任何你通常设置的方式进行访问……而且你可以控制Linux安装,如果你愿意,当然可以运行python。

Microsoft Windows Azure可能值得考虑。 恐怕我没有用过它,所以不能说它有什么好处,你应该记住,这是一个CTP的时刻。

看看这里。

有点晚了,但我会给Heroku一个去:

Heroku是一个多语言云应用程序平台。 用Heroku,你根本不需要考虑服务器。 您可以使用现代开发实践以您select的编程语言编写应用程序,并使用附加资源(如SQL和NoSQL数据库,Memcached以及其他许多资源)来备份应用程序。 您可以使用Heroku命令行工具pipe理您的应用程序,并使用Gi​​t版本控制系统部署代码,所有这些都在Heroku基础架构上运行。

https://www.heroku.com/about

现在是2016年。如果您愿意将PaaS (平台即服务)和FaaS (作为服务function)包括在同一个无服务器计算类别中,那么您有几个FaaS选项。

就我个人而言,我会认真地避免与专有供应商进行不可逆转的locking,原因很简单,您的运营成本最终可能比竞争对手高出许多。

所有权

AWS Lambda

AWS Lambda允许您在不调配或pipe理服务器的情况下运行代码。 您仅支付您使用的计算时间 – 代码不运行时不收费。 使用Lambda,您可以为几乎任何types的应用程序或后端服务运行代码 – 全部为零pipe理。 只需上传您的代码,Lambda就会负责运行和扩展代码所需的全部function。 您可以将代码设置为从其他AWS服务自动触发,或者直接从任何Web或移动应用程序调用。

AWS步骤function是对AWS Lambda的补充。

AWS Step Functions使得使用可视化工作stream程来协调分布式应用程序和微服务的组件变得容易。 通过构build各个组件的应用程序,每个组件都执行离散function,使您可以快速扩展和更改应用 Step Functions是一种可靠的方式来协调组件并逐步完成应用程序的function。 Step Functions提供了一个graphics化的控制台来安排和显示应用程序的组件,作为一系列步骤。 这使得构build和运行多步骤应用程序变得简单。 步骤函数自动触发并跟踪每一步,并在发生错误时重试,以便您的应用程序按照预期顺序执行。 Step Functionslogging每个步骤的状态,所以当事情出错时,您可以快速诊断和debugging问题。 您可以更改和添加步骤,甚至无需编写代码

Google云端函数

截至2016年11月,这是在阿尔法。

Google Cloud Functions是一种轻量级的基于事件的asynchronous计算解决scheme,允许您创build响应云事件的小型单一用途function,而无需pipe理服务器或运行时环境。 来自Google Cloud Storage和Google Cloud Pub / Sub的事件可以asynchronous触发Cloud Functions,也可以使用HTTP调用进行同步执行。

Azure函数

基于事件的无服务器计算体验,可加速您的开发。 它可以根据需求进行扩展,只支付您消费的资源。

打开

无服务器

无服务器框架允许您将自动扩展,按执行付费和事件驱动的function部署到任何云。 我们目前支持Amazon Web Service的Lambda,并且正在扩展以支持其他云提供商。

IronFunctions

IronFunctions是一个开放源代码的无服务器计算平台,适用于任何私有云,公共云或混合云。


FaaS与CaaS(集装箱即服务)竞争的情况还有待观察。 前者似乎更轻巧。 两者似乎都适用于微服务体系结构。

我预计function(如FaaS)不是终点,多年前我们会看到进一步的服务抽象,例如纯testing开发,然后是纯语言的情景。

如果你对云感兴趣,也许想创build自己的生产和/或testing,你必须看看桉树 。 据称与EC2代码兼容,但开源。

您可能还想看一下AWS Elastic Beanstock–它与GAEfunction更接近,因为它被devise成PaaS,而不是IaaS(即EC2)

我更感兴趣的是看看App Engine如何轻松地与用于CPU密集型请求的另一台服务器相连接。

TyphoonAE正试图做到这一点。 我还没有testing过,但是它还处于testing阶段,看上去至less在积极的发展中。

向云计算的转变发生得如此之快,以至于您没有时间浪费在testing不同的平台上。 如果你对Java感兴趣,我build议你试试Jelastic 。

Jelastic最重要的一点是,除了应用程序function的变化之外,您不需要对应用程序的代码进行任何更改,但不是因为所选平台的要求。 参考这个你不会浪费你的时间。部署过程是完美无瑕的,你可以在任何地方进一步部署你的.war文件。使用GAE需要你根据系统需要修改应用程序。 如果您碰巧与Java合作并开始寻找更灵活的平台,Jelastic是一个兼容的替代scheme。

您也可以使用Red Hat的Cape Dwarf项目,在Wildfly应用服务器(以前的JBoss)之上运行GAE应用程序而不需要修改。

你可以看看这里:

http://capedwarf.org/