什么替代方案都没有再鉴于我已经有了一个良好的代码的工作,我想保留。换句话说,我挖蟒蛇。但是,我使用的情况下更是一个低的请求数量,更高的占用类型使用的情况下,我担心,我不可能留的应用程序的发动机,直到永远。我听到很多人谈到亚马逊的网服务和其他种类的云提供者,但我有一个很难看到那里大多数的这些其他服务提供服务的范围(数据查询、用户认证、自动扩展)的应用程序的发动机提供。什么是我的选择在这里?

有帮助吗?

解决方案

我认为GAE目前还没有另一种替代方法(关于代码可移植性),因为GAE属于自己的类。当然,GAE是云计算,但我将GAE视为云计算的一个子集。亚马逊的EC2也是云计算(以及Joyent Accelerators,Slicehost Slices),但显然它们也是两种不同的野兽。所以现在你需要根据自己的需要重新思考架构。

GAE的直接好处在于它基本上免维护,因为它与基础设施(可扩展的Web服务器和数据库管理)相关。 GAE更适合那些只想专注于他们的应用程序而不是底层系统的开发人员。在某种程度上,您可以考虑开发人员友好。现在还应该说,这些其他云计算解决方案也试图通过提供VM映像/模板让您只需要担心您的应用程序。最终,您的需求将决定您应采取的方法。

现在考虑到这一切,我们还可以构建可满足我们需求的混合解决方案和解决方案。例如,GAE似乎不直接适合您描述的特定应用程序需求。换句话说,GAE提供相对较多的请求,较少的cpu周期(不确定付费版本是否会有所不同)。

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

其他提示

AppScale

AppScale是一个平台,允许用户部署和他们自己的谷歌的应用程序的发动机应用程序。它执行自动通过亚马逊EC2和桉树以及Xen和脑.已经开发并维持通过 AppScale系统.它支持蟒蛇,走,PHP and Java谷歌的应用程序的发动机的平台。

http://github.com/AppScale/appscale

在平均时间...

...这是一2015年,它似乎容器的方式向前迈进。替代办法再是新出现的:

谷歌已经释放了 , 容器的调度开发的软件通过他们 管理GCE容器, 但可以用于其他集群。

有一些 即将举行的PaaS 在Docker如

有趣的东西要保持关注。

替代品:  1. AppScale  2. Heroku

参考: Google AppEngine的替代方案?

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

  

Heroku是一个多语言云应用程序平台。有了Heroku,你   根本不需要考虑服务器。您可以使用编写应用程序   现代开发实践在您的编程语言中   选择,用SQL和NoSQL数据库等附加资源来支持它,   Memcached和许多其他人。您使用Heroku管理您的应用程序   命令行工具,您使用Git修订控件部署代码   系统,都在Heroku基础设施上运行。

https://www.heroku.com/about

截至2016年,如果您愿意将 PaaS (平台即服务)归为一类)和 FaaS (作为服务)在同一个无服务器计算类别,那么你有一些FaaS选项。

专有

AWS Lambda

  

AWS Lambda允许您在不配置或管理服务器的情况下运行代码。您只需为您消耗的计算时间付费 - 当您的代码未运行时不收取任何费用。使用Lambda,您可以运行几乎任何类型的应用程序或后端服务的代码 - 所有这些都是零管理。只需上传您的代码,Lambda就会负责运行所需的一切,并以高可用性扩展您的代码。您可以将代码设置为自动从其他AWS服务触发,或直接从任何Web或移动应用程序调用它。

AWS步骤功能是对AWS Lambda的补充。

  

AWS Step Functions可以使用可视化工作流程轻松协调分布式应用程序和微服务的组件。从各个组件构建应用程序,每个组件执行一个离散功能,可以快速扩展和更改应用程序步骤函数是协调组件和逐步执行应用程序功能的可靠方法。 Step Functions提供了一个图形控制台,可以通过一系列步骤来安排和可视化应用程序的组件。这使得构建和运行多步应用程序变得简单。步骤函数自动触发并跟踪每个步骤,并在出现错误时重试,因此应用程序按顺序执行并按预期执行。步骤函数记录每个步骤的状态,因此当出现问题时,您可以快速诊断和调试问题。您甚至无需编写代码即可更改和添加步骤

Google Cloud Functions

截至2016年,它处于alpha状态。

  

Google Cloud Functions是一种基于事件的轻量级异步计算解决方案,可让您创建响应云事件的小型单一用途功能,而无需管理服务器或运行时环境。 Google云端存储和Google Cloud Pub / Sub中的事件可以异步触发云功能,也可以使用HTTP调用进行同步执行。

Azure功能

  

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

打开

无服务器

  

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

IronFunctions

  

IronFunctions是一个面向任何云的开源无服务器计算平台 - 私有云,公共云或混合云。


FaaS与CaaS(容器即服务)竞争的程度仍然存在。前者看起来更轻巧。两者似乎都适合微服务架构。

我预计函数(如在FaaS中)不是行的末尾,而且多年后我们将看到进一步的服务抽象,例如Ť

亚马逊的弹性计算云或EC2是一个不错的选择。您基本上可以在他们的服务器上运行Linux VM,您可以通过Web界面控制(用于上电和下电),当然还可以通过SSH或通常设置的任何方式进行访问... 因为它是你控制的linux安装,你当然可以运行python。

Microsoft Windows Azure可能值得考虑。我担心我没有使用它,所以不能说它是否有用,你应该记住它现在是CTP。

请在此处查看。

如果您对云感兴趣,并且可能想要为生产和/或测试创建自己的云,那么您必须查看 Eucalyptus 。据称它与EC2代码兼容,但开源。

您可能还想了解一下 AWS Elastic Beanstock - 它与GAE功能,因为它被设计为PaaS,而不是IaaS(即EC2)

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

TyphoonAE 正试图这样做。我还没有对它进行过测试,但是当它仍处于测试阶段时,看起来它似乎至少是在积极开发中。

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

Jelastic最大的优点之一是您不需要对应用程序的代码进行任何更改,除了应用程序功能的更改,但不是因为所选平台要求这样做的原因。参考这个,你实际上并没有浪费你的时间。部署过程完美无瑕,您可以在任何地方部署.war文件。使用GAE需要您根据系统需要修改应用程序。如果您碰巧使用Java并开始寻找更灵活的平台,Jelastic是一个兼容的替代方案。

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

你可以在这里查看:

http://capedwarf.org/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top