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比较优秀 ...
随机推荐
- HierarchyView的实现原理和Android设备无法使用HierarchyView的解决方法
声明:由于本人一直用eng版的真机调试,所以此方法没有用过,记录在这里,有机会验证 ---------------------------------------------------------- ...
- JQuery的二维码插件
jquery.qrcode.js 只有能重新生成的二维码才是安全的,大牛做了插件,满足我们吃糖的需求: 用法(除了翻译git上的readme我一下子想不到还能写点什么) 引用 <script t ...
- Java语言基础(四) String和StringBuffer的区别
Java提供了两个字符串类:String和StringBuffer. String提供了数值不可变的字符串,而StringBuffer提供的字符串对象可以进行修改. 当知道字符数据要改变的时候就可以使 ...
- 在 ActionBar 添加刷新按钮
在以前版本的 Gmail 应用中,ActionBar 上有个刷新菜单,点击一下刷新菜单变成一个转圈的刷新标示动画图片. 之前实现该功能的时候都是使用一个类库 RefreshActionItem来实现的 ...
- Android sqlite数据库存取图片信息
Android sqlite数据库存取图片信息 存储图片:bitmap private byte[] getIconData(Bitmap bitmap){ int size = bitmap.get ...
- Java Web项目的一般目录结构解析(eclipse)
以上为项目名为TestProject的目录结构截图,下面主要解析WebContent下各个目录的用途: css:存放项目所需要的css文件. images:存放项目所需要的图片文件. js:存放项目所 ...
- jqGrid简单介绍
一.要引用的文件 要使用jqGrid,首先页面上要引入如下css与js文件. 1.css <link href="/css/ui.jqgrid.css" rel=" ...
- LoadRunner监控Windows和Linux常见问题
LoadRunner 加载监听服务器的步骤如下: 1.在 LoadRunner Controller 下,将工作面板切换到 Run状态,Available Graphs 栏 ,System Resou ...
- JavaScript XML 兼容处理,序列化和反序列化以及回调事件
浏览器中XML DOM的支持 IE中通过ActiveXObject实现了XML的支持,存在一下几个版本:Microsoft.XmlDom,MSXML2.DOMDocument,MSXML2.DOMDo ...
- sql2005如何附加数据库
1.首先把mdf(数据库主文件)和ldf(数据库日志文件)放到C:\Program Files (x86)\Microsoft SQL Server\MSSQL.1\MSSQL\Data 2.登陆sq ...