移动应用程序的后端服务器提供商

Eth*_*ong 20 google-app-engine amazon-ec2

我的移动应用需要一个后端服务器 - 我需要能够编写服务器端逻辑,所以我不需要下载整个数据库.我正在使用JavaScript + HTML5来移动应用.

Amazon EC2或Google App Engine能够做到吗?还有其他选择吗?

Jas*_*ker 34

完全披露: 我在AppEngine上为谷歌工作,但我试图保持公正. 我也应该(一如既往)注意到我是在发表自己的意见,而不是公司的意见.

从理论上讲,没有理由说你真的需要使用任何类型的后端服务提供商.您可以在任何地方使用静态IP地址和域名连接服务器.在实践中,没有人愿意处理自己做这些事情的麻烦.

另一方面,您还有另一个问题需要回答:消除成本的麻烦是什么?经验告诉我,成本往往缺乏控制.为了尽可能减少麻烦,你必须避免做出选择.选择较少意味着您可以减少控制.

所以要回答的问题是:你需要多少控制权,以及你愿意处理多少麻烦?

如果您需要高水平的控制,并且愿意处理大量的麻烦,您可能需要"具有静态IP的盒子"选项.

AWS减少了设置boxen的麻烦,但减少了对软件运行硬件的控制.除非您有非常奇怪的硬件要求,否则几乎可以肯定.

Google App Engine消除了必须配置软件的麻烦,但减少了对软件运行的软件堆栈的控制.你有什么特殊的软件要求吗?例如,您是否特别需要在特定版本的Linux上运行?您是否需要特殊要求使用Redis而不仅仅是memcache /数据库组合?如果没有,那么你也可以接受.

大多数后端即服务提供商完全消除了编写后端的麻烦,但代价是取消了对后端的控制.支持的身份验证方法是否足够适合您?后端是否允许您根据需要准确访问数据?如果是这样,这可能是您可以接受的.

现在,这是我的公正性结束地方.就个人而言,我觉得App Engine处于一个最佳位置.它可以为您提供足够的控制,而无需管理应用程序的每个细节.如果您需要更多控制权,我建议您查看AWS.如果您希望自动为您编写后端,并且可以控制较少,我建议您查看BaaS.


小智 11

阮经天,

StackMob有一个你可以尝试的免费软件包.您可以使用JS SDK编写HTML5应用程序并将内容保存到StackMob服务器.同时,您可以通过将自定义代码片段(java/scala/clojure)上载到StackMob来编写后端服务器端逻辑.它的设计使得此代码自动成为REST API,以便您可以从任何地方点击它来执行逻辑服务器端并获得JSON作为回报.您可以免费在StackMob上托管HTML5,并将自己的域指向它.

Erick - StackMob工程师


Ste*_*pel 7

关于明确命名的两个提供者(+ 1),Daan的答案是正确的.

如果您想节省一些麻烦和/或获得一些指导,您可能希望了解一个专门针对移动应用后端网段的专用平台即服务(PaaS)提供商.在此期间可能还有十几个,但从我的头脑中我现在回想起这三个(所有商业,但通常是某种免费等级,让你开始和/或永远甚至用于开发目的) - 没有特定顺序:

通过这种方法实现的主要好处是处理平台而不是基础设施本身,它抽象出许多(如果不是全部)需要专门的系统管理技能的主题(通常不会伤害对团队的了解)无论如何,请参阅DevOps).

值得注意的主要缺点是最终避免供应商锁定,即根据您的需求,您可能希望能够将应用程序后端迁移到另一个提供商,如果可能的话,这当前并不总是很简单.另一方面,如果您只是想快速入门和/或开发原型,这可能不是您现在关注的问题.

其中大部分将使用AWSJoyent基础设施即服务(IaaS)提供商作为后端btw.

祝好运!


Dav*_* W. 5

Steffan的答案符合核心要点,除了简单地为您处理基础架构/ DevOps方面之外,使用后端即服务(BaaS)平台还有一些额外的好处.(完全披露:我是Kinvey的工程师,后端即服务提供商).

  • 其中许多服务都提供RESTful API来直接访问您的数据.您不必花时间自己动手(并再次重新发明轮子),而是通常会将自己的数据API编入其中并准备就绪.

  • BaaS提供商通常提供代码库以简化与API的连接.

  • 它通常不仅仅是应用程序数据.例如,在Kinvey,我们也提供大文件(blob)存储.如果您有任何图像,视频等,则可以零设置存储它们.

  • 一些提供商还提供有关API使用情况的分析 - 另一个您无需重新发明的轮子

  • 与其他提供商建立合作伙伴关系:例如,Kinvey通过Urban Airship提供推送通知

总而言之,看看BaaS是否适合您的需求可能是有意义的.