Google App Engine还有哪些替代方案?

Chr*_*org 47 cloud google-app-engine

GAE还有哪些替代方案,因为我已经拥有了一些我希望保留的代码.换句话说,我正在挖掘python.但是,我的用例更多是请求数量较少,CPU使用率较高的用例,而且我担心我可能永远无法继续使用App Engine.我听过很多人谈论亚马逊网络服务和其他类型的云提供商,但我很难看到其他大多数产品提供的应用范围(数据查询,用户身份验证,自动扩展)引擎提供.我有什么选择?

wir*_*res 30

AppScale

AppScale是一个允许用户部署和托管自己的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管理GCE容器,但也可以在其他集群上使用.

Docker上有一些即将推出的PaaS,比如

有趣的东西要关注.


fue*_*sjr 23

我不认为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来分配工作负载.


Acu*_*nus 6

截至 2016 年,如果您愿意将PaaS(平台即服务)和FaaS(功能即服务)为同一个无服务器计算类别,那么您有几个 FaaS 选择。

所有权

AWS Lambda

AWS Lambda 让您无需预置或管理服务器即可运行代码。您只需为您消耗的计算时间付费 - 当您的代码未运行时无需付费。使用 Lambda,您几乎可以为任何类型的应用程序或后端服务运行代码 - 一切都为零管理。只需上传您的代码,Lambda 就会处理运行和扩展具有高可用性的代码所需的一切。您可以将代码设置为从其他 AWS 服务自动触发或直接从任何 Web 或移动应用程序调用它。

AWS Step Functions是对 AWS Lambda 的补充。

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

谷歌云函数

截至 2016 年,它处于 alpha 阶段。

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

Azure 函数

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

打开

无服务器

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

IronFunctions

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


FaaS 与 CaaS(容器即服务)的竞争情况还有待观察。前者似乎更轻巧。两者似乎都适合微服务架构。

我预计功能(如在 FaaS 中)不会结束,多年以后我们将看到进一步的服务抽象,例如仅测试开发,然后是纯语言场景。