BAE、SAE 与 GAE 对比

  |   8 评论   |   25,063 浏览

从数据库、应用配置、计费、域名绑定、平台服务对比了 BAE、SAE 以及 GAE 的优劣,最后给出云平台选型的建议。

数据库

SAE 不支持 InnoDB(可申请支持),BAE 默认支持。

BAE 不支持数据库连接池(c3p0、BoneCP 已测不支持),数据库连接不能长时间保持。

GAE 使用 Datasotre 存取数据,最近也提供了云 SQL(MySQL),但申请比较困难,配额/性能笔者未测试过。

另外,SAE 显式给出了主从库的访问方式,应用可以比较灵活地设计存取策略,例如读写分离。并且 SAE 是每个应用都拥有自己的数据库,而 BAE 是所有应用共用一个库。

应用配置

BAE 的 duapp-web.xml 基本是抄袭 GAE 的 appengine-web.xml,元素基本一致。

比较奇葩的是 BAE 静态资源配置默认所有后缀为静态文件类型(例如 .html)的请求路径都默认假设为静态资源,需要在 duapp-web.xml 中指定排除。

计费与配额

SAE 按应用天计费“豆豆”,服务也按流量计费、CPU 时间、调用次数计费。注册或活动送配额,否则需要购买。

BAE 目前还没有详细的计费,只限定了应用数。公测结束后应该会细化计费模型。

GAE 目前的计费模型主要是按 API 调用计数,流量分为 In/Out 配额。每天会定时刷新免费配额。

综上,GAE 的计费一目了然,主要就是 API 调用次数;SAE 的计费比较复杂,不同服务有不同的计费策略;BAE 还没有明确的计费模型。

域名绑定

GAE 开通企业套件后随便绑,企业套件有免费版。

SAE 需要确认通过域名备案才能绑定,并且绑定后的流量计费翻倍。

SAE 目前可以随便绑,但没备案的话绑定域名的请求走海外中转,流量计费翻倍(原二级域名请求计费不变)。

BAE 目前可以随便绑,但没备案的后果自负。

平台服务

SAE 提供了 SDK 包,包含了开发需要的本地服务实现。

BAE 则分别提供了服务 Jar,调用方式按不同服务而异。

GAE 提供了完整的 SDK 包,包含了开发需要的本地运行环境和配置客户端。

综上,GAE 提供了完整的平台化服务,覆盖了从开发到上线运维的一系列工具;SAE 则提供了部分工具,平台化不完整,增加了开发、运维难度;BAE 则是分别提供不同服务给开发,没有统一的 SDK 与调用方式。

另外,值得一提的是 BAE 虽然服务没有整合到一个 SDK 中,但其分散的服务也比较适合应用自己选择。 其中云消息(消息服务)以及云触发(数据变更通知)是 GAE/SAE 没有提供的服务,某些业务场景应该会非常适用。

结论

SAE 与 BAE 主要还是面向应用部署托管,普通应用修改后易迁移部署到 BAE 或 SAE。

新应用开发可以选择和平台绑死(依赖平台服务)或按照普通应用开发。

使用配置工具来上传、更新应用配置其实是非常好的方式,但目前 SAE/J、BAE/J 都没有提供客户端配置工具,这增加了使用者的维护工作量。

GAE 提供了比较完整的服务平台,覆盖了应用的生命周期,最近也提供了云 MySQL 服务以吸引更多开发者。

需要根据应用类型来考虑平台选型,例如 GAE 基本以 API 计数的配额就不适合做社交应用,‘墙’的问题也需要考虑解决方案。

---- EOF ----
点击加入开源技术 Q 群 242561391,让学习和分享成为一种习惯!

评论

  • 123 回复»

    [em08][em08][em1081][em08]

  • 风亦兮 回复»

    BAE不备案域名绑定,有神马后果 ...

  • kobe 回复»

    写的不错,可惜真对比了一小部分

  • 88250 @沉寂 回复»

    哦,谢谢指正 ;-p

  • 沉寂 回复»

    SAE通过海外合作伙伴为您提供域名绑定。


    新浪的原文如下:


    绑定域名以后,通过独立域名请求将访问海外数据中心,产生的流量将是原二级域名(yyapp1.sinaapp.com)流量的二倍,通过yyapp1.sinaapp.com访问的流量不变。


    建议您绑定独立域名后,静态资源仍通过yyapp1.sinaapp.com访问。


    如果您的域名已经备案,可以向saemail@sina.cn索取已备案域名绑定申请表,已备案域名绑定后将直接访问国内数据中心,流量费用和原二级域名一致。

  • 沉寂 回复»

    @D 就纠正一个错误

    SAE 需要确认通过域名备案才能绑定,并且绑定后的流量计费翻倍。


    SAE不需要域名备案也可以绑定,是通过海外中转,如果已经备案,和发邮件跟新浪申请 费用跟新浪提供的二级域名是一样的

  • 大叔 回复»

    老大发文章必须顶[em01]

  • Ansen 回复»

    d啥时候开通了 BAE。。

发表评论

validate