11家PaaS公有云供应商服务功能要点比较,11家paas供应商


在写Cloud Foundry之前,先预热一下。2014年7月,为企业PaaS云建设,个人对11家PaaS公有云供应商的服务内容进行了调查,共享出来,供进行PaaS项目建设的同仁参考。所有调查内容为2014年7月的状态,受限于项目建设目标,调查的范围主要是运行环境和MySQL数据库服务。

调查范围

Pivotal Web Services(based on CF)
搜狐云景
IBM Bluemix(based on CF)
百度开放云(based on CF)
Google App Engine
SinaAppEngine
华为云服务
腾讯弹性Web服务
阿里云引擎ACE
AWS Elastic Beanstalk
京东云擎(based on CF)

主要结论

  • 无论是否基于Cloud Foundry,除了华为这个假PaaS外,11家公有云运营商提供的PaaS模式均为:以运行环境(包括软件负载均衡、运行在虚拟机上的代码运行容器、其他代码运行需要的框架/接口等)为主体,将关系数据库、文件存储、消息中间件、NoSQL数据库、分布式计算和存储平台、以及其他以API形式提供的服务能力等作为扩展服务向外提供
  • 扩展服务通过相应技术平台所需的参数提供给用户,由用户自行在PaaS服务主体或其他场所进行使用
  • PaaS平台(如CF)是无法替代IaaS平台(如BMC CLM)的,二者将分别独立运行、共享门户提供服务
  • PaaS平台通常包括版本管理(SVN和GIT),以完成对于应用的生命周期管理
  • PaaS平台(如CF)仅对其主体(即运行环境)提供健全的监控等管理措施,其他扩展服务(如MySql)的架构、运维等并不是其关注范围
  • 关于MySQL数据库服务,通常包括共享和独享两种,共享为同一基础设施平台下的分用户服务,独享为单独基础设施平台上的单独实例服务,理想情况下应提供透明读写分离、异地复制、数据保护等数据库服务
  • 公有云供应商提供的单位运行环境和数据库通常都很小,所以他们的共享数据库环境很容易构建,买个满配580(4T内存)就能支持几万个数据库用户,私有云的共享数据库平台就得考虑一下自动扩容的问题了
  • 运行环境弹性基本均包括水平和垂直两种,但是垂直是对所有运行环境均修改
  • 对于项目人员管理和项目多环境管理可参照Pivotal Web Services
  • 按策略进行弹性的功能可参照搜狐云景

服务要点-重复功能没有一一列出

Pivotal Web Services(based on CF)

Pivotal Web Services的界面
- 没有按照策略的应用弹性,只有手动的cf_scale
- 对每个项目/应用划分工作空间,这个功能对私有云很必要
- 对每个项目/应用划分域,需要企业域名多一级后全部划分给CF使用
- MySQL数据库是扩展服务,而且是第三方的(ClearDB,运行于Azure上的数据库公有云)
- 有eclipse插件,可以做GUI所有的事情和绝大部分CLI的事情
- 支持项目人员管理功能

搜狐云景

  • 提供水平和垂直弹性,有弹性策略
    这里写图片描述
    这里写图片描述
  • 数据库为独享的数据库群集,不透明的读写分离,估计只有两个节点,提供简单管理工具,配额按照数据容量调整,都是droplist,而不是textbox
    这里写图片描述

IBM Bluemix(based on CF)

从文档上看,基本就是个CF,没做啥特别的东西,力气都放在was和db2集成上了。

百度开放云

  • MySql数据库为透明读写分离,多机房冗余,可以用任意MySql客户端连接,分为共享和独享,没有数据备份的选项
  • BAE作为狭义PaaS也不包括数据库,也就是说数据库是单独提供的扩展服务
  • 应用是按照执行单元手动扩展的(支持水平和垂直,但是垂直是对所有的执行单元全部进行扩展),每个执行单元都是一个单独的虚拟机。没有策略驱动的弹性扩容
    这里写图片描述
  • MySql数据库服务分为共有和私有,共有就是共用一个MySql实例,私有就是自己的MySql实例,但是连接方式是一致的,都是域名、用户名、密码,只能修改大小和字符集,有简单的MySql客户端,支持数据导入导出等,自动读写分离,多机房自动冗余备份
    这里写图片描述
  • 负载均衡功能是默认隐含在BAE中的
  • Source code支持svn和git
  • 支持项目人员管理功能
  • 发布就是上传war包(CLI&GUI),没有集成开发环境插件,没有SDK
  • 有本地开发环境

Google App Engine

  • Eclipse插件,支持在本地运行调试程序,直接从Eclipse里部署到GAE中
  • SDK包是本地运行环境及其他Google提供的服务API,不包括用于使用App Engine资源的API
  • GAE作为狭义PaaS中不包含数据库,只包含运行环境(中间件及相应插件),关系数据库是用提供IP、user、password的方式提供给用户,然后自行配置到GAE中的应用中
  • 负载均衡功能是默认隐含在GAE中的
  • GAE的应用是分成模块的,每个模块有自己的版本管理和多个实例
  • 应用弹性是在实例级别的,分为自动(复杂策略、根据不同的因子去动态决定实例生成)、基本(在应用配置文件中指定最大值,会根据应用压力自动扩大最大值)和手动(在应用配置文件中指定固定个数,需重新注册改变)
  • Source code管理基于git,可连接到github
  • MySQL关系数据库服务按容量计费,可设置参数如下(初始化申请和之后的手动弹性变化),数据库是有异地复制的,推测应该也是分为共享和独享两种,可用MySQL的任何客户端进行连接:
    这里写图片描述
    这里写图片描述

SinaAppEngine

  • 基于策略的弹性
    这里写图片描述
  • 不透明读写分离的MySQL数据库
    这里写图片描述

华为云服务

它的PAAS是假的。。。
这里写图片描述

腾讯弹性Web服务

  • 仅支持PHP的运行环境,设置的是实例上限
    这里写图片描述
  • 数据库按容量和访问次数计费
    这里写图片描述

阿里云引擎ACE

  • 支持自动弹性的运行环境
    这里写图片描述
  • 基于阿里MySQL技术的数据库服务
    这里写图片描述

AWS Elastic Beanstalk

处于Beta阶段的服务,基本功能与上述公有云运营商提供的一致。

京东云擎(based on CF)

  • JAE应用属性
    这里写图片描述
  • 基于策略和手动的弹性
    这里写图片描述
  • 共享的数据库服务,多用户共用同一实例
    这里写图片描述

相关内容