BAE、SAE 与 GAE 对比
从数据库、应用配置、计费、域名绑定、平台服务对比了 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 计数的配额就不适合做社交应用,‘墙’的问题也需要考虑解决方案。
BAE、SAE 与 GAE 对比的更多相关文章
- 【阿里云产品公测】ACE、BAE及SAE云引擎对比评测
作者:阿里云用户bailimei 先前我已发布一篇关于ACE的评测,在跟朋友聊天的时候我们讨论了目前市面上的三款云引擎产品,这三家的云引擎我都有在用,今天有时间顺便写篇关于阿里云ACE.百度BAE和新 ...
- AugularJS, Responsive, phonegap, BAE, SAE,GAE, Paas
http://freewind.me/blog/20121226/1167.html http://88250.b3log.org/bae-sae-gae http://www.ruanyifeng. ...
- 云计算平台简介(App Engine)
云计算平台简介(App Engine) 1 简介 App Engine: 应用程序引擎,是托管网络应用程序的云计算平台. 1.1 什么是云 云计算通常简称为“云”,是一种通过 Inter ...
- Java 社区平台 - Sym 1.7.0 发布
English | 中文 简介 Symphony([ˈsɪmfəni],n.交响乐)是一个现代化的社区平台,因为它: 实现了面向内容讨论的论坛 包含了面向用户分享.交友.游戏的社交网络 集成了聚合独立 ...
- 详细说明php的4中开源框架(TP,CI,Laravel,Yii)
ThinkPHP简称TP,TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需要一个入口文件,一起搞定,简单高效.中文文档齐全,入门超级简单.自带模板引擎,具有独特的数据验证和 ...
- Java 社区论坛 - Sym 1.5.0 发布
简介 Sym 是一个用 Java 写的实时论坛,欢迎来 体验!(如果你需要搭建一个企业内网论坛,请使用 SymX) 非常详细的 Sym 功能点脑图 如果你在搭建或者二次开发时碰到问题,欢迎加 Q 群 ...
- Java 实时论坛 - Sym 1.4.0 发布
简介 Sym 是一个用 Java 写的实时论坛,欢迎来体验! 如果你需要搭建一个企业内网论坛,请使用 SymX. 作者 Sym 的主要作者是 Daniel 与 Vanessa,所有贡献者可以在这里看到 ...
- Java 实时论坛 - Sym 1.3.0 发布
简介 Sym 是一个用 Java 写的实时论坛,欢迎来体验! 初衷 Sym 的诞生是有如下几点原因: 我们想实现一种新的网络社区体验,独立博客+社区互动 大多数论坛用户体验不够现代化,想做一个和聊 Q ...
- .NET Core资料精选:架构篇
.NET 6.0 马上就要发布,高性能云原生开发框架.希望有更多的小伙伴加入大.NET阵营.这是本系列的第三篇文章:架构篇,喜欢的园友速度学起来啊. 本系列文章,主要分享一些.NET Core比较优秀 ...
随机推荐
- JavaScript H5 Canvas
Canvas 由于浏览器对HTML5标准支持不一致,所以,通常在<canvas>内部添加一些说明性HTML代码,如果浏览器支持Canvas,它将忽略<canvas>内部的HTM ...
- 在python 中有时候我们用数组
在python 中有时候我们用数组操作数据可以极大的提升数据的处理效率, 类似于R的向量化操作,是的数据的操作趋于简单化,在python 中是使用numpy模块可以进行数组和矢量计算. 下面来看下简单 ...
- php根据经纬度计算距离和方向--摘录自http://haotushu.sinaapp.com/post-520.html
define('EARTH_RADIUS', 6367000);//需定义的静态变量 function getRadian($d) { return $d * M_PI / 180; } functi ...
- 【C语言】中的版本规范(C89 C99等)
C语言中的版本 一.相关基础知识 ISO:国际标准化组织(International Organization for Standardization,ISO)简称ISO,是一个全球性的非政府组织,是 ...
- windows server 2012服务器IIS基本配置
- Hust 1231 Coin
题目链接 题意: 亮亮有N个有瑕疵的硬币,有瑕疵意味着抛一枚硬币正面向上的概率 不等于 反面向上的概率 也即概率不等于0.5. 现在亮亮一次抛N个硬币 , 恰好有K个硬币正面向上 ,接着他又想抛一次 ...
- javascript日用代码集合(一)
获取url参数 function get_url_param(name){ var reg = new RegExp("(^|&)" + name + "=([^ ...
- BZOJ 3992 序列统计
Description 小C有一个集合\(S\),里面的元素都是小于\(M\)的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为\(N\)的数列,数列中的每个数都属于集合\(S\). 小C用 ...
- BZOJ 3676 回文串
Description 考虑一个只包含小写拉丁字母的字符串\(s\).我们定义\(s\)的一个子串\(t\)的"出现值"为\(t\)在\(s\)中的出现次数乘以\(t\)的长度.请 ...
- 【andorid】Attribute is missing the Android namespac
初学安卓,错误颇多 出现这个问题,是因为xml节点属性单词拼写错了,比如android我写成了adnorid,当然就错误了.