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.
关于明确命名的两个提供者(+ 1),Daan的答案是正确的.
如果您想节省一些麻烦和/或获得一些指导,您可能希望了解一个专门针对移动应用后端网段的专用平台即服务(PaaS)提供商.在此期间可能还有十几个,但从我的头脑中我现在回想起这三个(所有商业,但通常是某种免费等级,让你开始和/或永远甚至用于开发目的) - 没有特定顺序:
通过这种方法实现的主要好处是处理平台而不是基础设施本身,它抽象出许多(如果不是全部)需要专门的系统管理技能的主题(通常不会伤害对团队的了解)无论如何,请参阅DevOps).
值得注意的主要缺点是最终避免供应商锁定,即根据您的需求,您可能希望能够将应用程序后端迁移到另一个提供商,如果可能的话,这当前并不总是很简单.另一方面,如果您只是想快速入门和/或开发原型,这可能不是您现在关注的问题.
其中大部分将使用AWS或Joyent等基础设施即服务(IaaS)提供商作为后端btw.
祝好运!
Steffan的答案符合核心要点,除了简单地为您处理基础架构/ DevOps方面之外,使用后端即服务(BaaS)平台还有一些额外的好处.(完全披露:我是Kinvey的工程师,后端即服务提供商).
其中许多服务都提供RESTful API来直接访问您的数据.您不必花时间自己动手(并再次重新发明轮子),而是通常会将自己的数据API编入其中并准备就绪.
BaaS提供商通常提供代码库以简化与API的连接.
它通常不仅仅是应用程序数据.例如,在Kinvey,我们也提供大文件(blob)存储.如果您有任何图像,视频等,则可以零设置存储它们.
一些提供商还提供有关API使用情况的分析 - 另一个您无需重新发明的轮子
与其他提供商建立合作伙伴关系:例如,Kinvey通过Urban Airship提供推送通知
总而言之,看看BaaS是否适合您的需求可能是有意义的.
| 归档时间: |
|
| 查看次数: |
20569 次 |
| 最近记录: |