GAE、SAE与BAE的对比分析

本文主要从以下几个方面对GAE、SAE和BAE的优劣进行分析。

数据库

GAE 目前使用 Datasotre 存取数据,最近也提供了云 SQL(MySQL),但申请比较困难。此外,GAE免费提供给用户500M的存储空间和每个月500万次的访问流量,除了部署大型社交行网站(如人人,新浪微博等)不够之外,对于普通的web网站已足够。

SAE 不支持 InnoDB(可申请支持,但申请有点难度),BAE 默认支持。

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

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

应用配置

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

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

综上,GAE的应用配置最完善,国内的SAE和BAE的应用配置由于开发时间短和技术不成熟而显得稚嫩。

计费与配额

GAE 目前的计费模型主要是按 API 调用计数,流量分为 In/Out 配额。每天会定时刷新免费配额。存储空间超过500M或每个月的访问500万次访问数量则需要购买配额。总体来说,相对于国内云来说谷歌的免费配额更大。

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

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

综上,GAE 的计费一目了然,主要就是 API 调用次数,但提供的免费访问配额较大;SAE 的计费比较复杂,不同服务有不同的计费策略;BAE 还没有明确的计费模型,但只是因为BAE开发的时间短,很多技术和服务细节还不完善,相信便很快便进入收费模式。

域名绑定

域名绑定就是把域名解析到服务器IP,然后在服务器上设置该域名有权限访问的过程。

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

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

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

平台服务

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

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

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

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

综合评价

GAE 提供了比较完整的服务平台,覆盖了应用的生命周期,最近也提供了云 MySQL服务以吸引更多开发者。GAE相对于国内云SAE和BAE来说开源性更好,技术更成熟,平台更稳定,易用性更强,但GFW的存在使‘被墙’的问题始终是GAE的一大劣势。

 

相比GAE,国内SAE 与 BAE 主要还是面向应用部署托管,普通应用修改后易迁移部署到 BAE 或SAE。新应用开发可以选择和平台绑死(依赖平台服务)或按照普通应用开发。使用配置工具来上传、更新应用配置其实是非常好的方式,但目前 SAE、BAE都没有提供客户端配置工具,这增加了使用者的维护工作量,也使得开发者的开发难度相对较大。

SAE相对BAE来说开发时间更长,技术要比BAE完善,对于国内开发者来说SAE的最大优点是速度快,但缺点也还存在,比如访问不稳定,说明文档少,对API的支持和说明极其简陋等,而且,由于SAE刚开发的时候是从支持php+sql入手,故目前对python的支持不是很好。而对于BAE来说,最大的优点是具有百度的巨大平台和搜索引擎,但其开发时间短,目前支持的服务有限,相比于SAE来说要差一些。

GAE、SAE和BAE的对比分析相关推荐

  1. GAE、SAE与BAE的对比分析

    GAE.SAE与BAE的对比分析 本文主要从以下几个方面对GAE.SAE和BAE的优劣进行分析. 数据库 GAE 目前使用 Datasotre 存取数据,最近也提供了云 SQL(MySQL),但申请比 ...

  2. GAE SAE BAE 对比分析

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 目前,云 ...

  3. JDBC与数据库连接工具对比分析

    JDBC 使用步骤: 注册数据库驱动 通过DriverManager获取数据库连接 通过Connection对象获取Statement对象 使用Statement执行SQL语句 操作ResultSet ...

  4. Apache 流框架 Flink,Spark Streaming,Storm对比分析(一)

    https://bigdata.163.com/product/article/5 Apache 流框架 Flink,Spark Streaming,Storm对比分析(一) 转载于:https:// ...

  5. php遍历数组哪个效率高,PHP遍历数组的三种方法及效率对比分析

    PHP遍历数组的三种方法及效率对比分析 发布于 2015-03-04 21:55:27 | 129 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertext ...

  6. R语言决策树、bagging、随机森林模型在训练集以及测试集的预测结果(accuray、F1、偏差Deviance)对比分析、计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况

    R语言决策树.bagging.随机森林模型在训练集以及测试集的预测结果(accuray.F1.偏差Deviance)对比分析.计算训练集和测试集的预测结果的差值来分析模型的过拟合(overfit)情况 ...

  7. python计算多个模型在不同数据集上的预测概率、获取每个数据集上的最优模型、多个最优模型的ROC曲线进行对比分析

    pytyon计算多个模型在不同数据集上的预测概率.获取每个数据集上的最佳模型.多个最优模型的ROC曲线进行对比分析 目录

  8. R语言e1071包中的支持向量机:仿真数据(螺旋线性不可分数据集)、简单线性核的支持向量机SVM(模型在测试集上的表现、可视化模型预测的结果、添加超平面区域与原始数据标签进行对比分析)、如何改进核函数

    R语言e1071包中的支持向量机:仿真数据(螺旋线性不可分数据集).简单线性核的支持向量机SVM(模型在测试集上的表现.可视化模型预测的结果.添加超平面区域与原始数据标签进行对比分析).如何改进核函数 ...

  9. R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题、可视化模型预测的结果、添加超平面区域渲染并与原始数据标签进行对比分析

    R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题.可视化模型预测的结果.添加超平面区域渲染并与原始数据标签进行对比分析 目录

最新文章

  1. qt调用linux 进程,Linux 下qt 程序打包发布(使用linuxdelpoyqt ,shell 脚本)
  2. STM32开发 -- 地球坐标系(WGS84),火星坐标系(GCJ02), 百度坐标系(BD09)坐标转换
  3. matlab如何输出D-H表,MATLAB结果怎么输出表格形式的数据?
  4. Entity Framework 6.3 和 EF Core 3.0 路线图
  5. 让读者快速了解RocketMQ消息中间件需要解决哪些问题
  6. STL各容器成员对比表
  7. csdn博客中插入公式
  8. 京东笔试题:如何实现 MySQL 删除重复记录并且只保留一条?
  9. JAVA面试技巧之项目介绍
  10. 5304—K3 Cloud 自定义webAPI
  11. 公链生态周报:BI指数周涨幅超4%,以太坊POS代码即将完成 | 链塔智库
  12. win2008 r2 hyper-v虚拟机的安装使用图文教程
  13. 6.misc类设备与蜂鸣器驱动
  14. 创业者的噩梦 - 怎么就侵权了
  15. 做外贸的你不能犯的十大邮件错误
  16. 2022年创新药行业研究报告
  17. list 根据某个字段分组
  18. 牧师与魔鬼 -- version2 动作分离
  19. eggjs框架学习心得
  20. 新公司没开多久就倒闭

热门文章

  1. 进制转换总结详解 二进制 十六进制
  2. js校验用户身份证省市区年龄性别
  3. 3DPDF是个什么东西?
  4. 世界各国谷歌(Google)网址大全
  5. 因果推断笔记——工具变量、内生性以及DeepIV(六)
  6. 网件netgear WNDR4300v2 循环重启 变砖 修复
  7. 通过ssh协议从github上下载代码
  8. [UE4]Fog Of War(战争迷雾)教程
  9. 面试官:生成订单30分钟未支付,则自动取消,该怎么实现?
  10. 从零开始搭建实时用户画像