近期有需求将我们的应用部署到公有云的服务平台上,于是找了几家公有云服务做了一下调研,
首先对比一下他们提供的功能:
功能 | SAE | 搜狐云景 | 百度云 |
版本控制工具 | svn | GIT,和百度云的比起来,用应用名称贴心多了。 | SVN+GIT,库名竟然是乱码(例如:appidrv71t5aq96),如果多个应用,真心分不清 |
文档 | 一般,需要自己琢磨尝试 | 按照文档基本可以完成 | 文档设计比较贴心,在每一个页面的旁边都有相关的文档链接 |
语言环境 | PHP,Java,Python | Java,PHP,Python,Ruby,Lua,NodeJs | NodeJS,Python,Java,PHP |
日志 | - | 支持操作日志,access日志和应用日志,还可以ssh,文档太简陋了,按照文档去登陆还是比较有难度的 | 支持 access,stdout,stderr,appconf,supervisord,jetty,ssh还没有完全开放,需要按需申请 |
监控 | - | 比较全面,如果系统出现故障,可以很方便的查问题,且比较的实时 | 只有QPS,请求数,平均相应时间,流出流量的统计,没有CPU,内存,IO的监控 |
代码发布 | - | 比较成熟,通过上传zip包来发布,可以比较方便的管理历史版本, | 非常方便,一键发布,但是如果要回滚就会比较麻烦,因为是基于master进行发布了,而且没有找到管理历史版本的地方 |
计费 |
mysql:0.05元/GB·天 机器,2.4元/天 (JAVA标准版) |
mysql:0.1元/GB/天 服务:根据申请容量和时间计费,详见: |
mysql:0.8元/2G/天 机器:0.1/2G/64M/天 服务:按照带宽算的,详见: http://developer.baidu.com/wiki/index.php?title=docs/cplat/bcs/pricing |
服务 | SAE | 搜狐云景 | 百度云 |
MYSQL | Y | Y | Y |
LOG | Y | ||
memcached | Y | Y | Y |
Storage | Y | Y | Y |
Redis | Y | ||
CDN | Y | Y | Y |
MongoDB | Y | ||
图片处理 | Y | ||
Redis | Y | ||
任务调度 | Y | Y |
下面来简单的实践一下
搜狐云景:
一分钟的时间完成了所有的注册,还送了100元的电子券,下面开始创建应用
过程很流畅,按照http://cloudscape.sohu.com/doc/introduce/helloworld 这个文档来就行了,
应用创建完成如下:
创建完应用后,系统会根据你输入的domain生成一个域名:
还可以根据自已应用实际情况,设置调度规则,例如,我测试在17-18点之间,自动扩容为2个实例:
然后:
在这里点击开启:
再去查看实例数,已经变成了两个实例了。
第二个实例的状态是黄色的,表示正在启动中。
然后,我模拟故障的情况,把第二个实例删除,等了一分钟后,再刷新,实例又变成了两个。
为了测试在没有调度配置的情况下,会不会根据访问量情况(当前没有访问量),自动的分配合理的实例数,我把调度规则删除了,等了一分钟后,看到实例数确实是由两个变成了一个了。
看来确实在弹性方面做的很到位的,这个功能着实很赞。
再看看日志情况:
提供了操作日志,access日志和应用日志的查询,可以按照时间和关键字查询,还可以按照日志的基本做过滤:Debug Info Warning Error Critical
另外还提供了强大的ssh功能,可以很方便的到实例上面去调试和操作,操作也很方便,
首先需要在:
http://cloudscape.sohu.com/user/sshkeys,添加SSH Key
然后在实例页面,打开SSH功能,然后点管理,出现下面的提示:
按照提示即可登录,日志在/opt/logs目录下。
监控:
提供了非常全面的监控,根据这些图可以很方便的了解应用任何一个时刻的运行情况,
百度云BAE
使用提供的文档 http://developer.baidu.com/wiki/index.php?title=docs/cplat/bae/start 很流畅的就创建好了一个java-jetty的应用:
根据自己选择的代码控制工具,提交代码,提供有点击复制功能,可以很方便的下载代码。
下下来后,发现已经自动生成了一个简单的例子:
自动有一个app.conf 和 root.war,根据文档说明,如果是jetty的应用是root.war,如果是tomcat就是ROOT.war
现在就可以开发自己的应用了,开发完后,打包到root.war 里面,然后提交.
提交后到"应用引擎"页面就会看到新版本:
此时就可以“快捷发布”,然后点击域名列的“点击查看”就可以看到新的修改了。
可能是因为没有付费,执行单元只能用默认的256M内存2G磁盘5M/s的带宽,且只能有一个执行单元
想了解一下app.conf的配置情况,但是根据模板里面给的配置向导http://developer.baidu.com/wiki/index.php?title=docs/cplat/rt/manage/conf
真心是找不到,不知道是不是系统升级后,文档没有更新的原因。这个问题先到这里,等解决了再来补充。
监控:提供有QPS,平均响应时间,总请求数,流出流量,监控的粒度是分钟级的,但是我访问完过了一个多小时了,一个请求量也没有看到,这个地方确实是有些问题。
别的监控情况也全部都是空的,我就不贴了。
再看看日志:
提供的日志有access,stdout,stderr,appconf,supervisord,jetty 这几种。这些日志可以在管理页面上,直接查询到,但是没有关键词过滤功能,如果使用关键词过滤
可以使用ssh远程登录上去,到原始日志里面做过滤,不过需要修改app.conf文件,还要提交开通端口服务申请,才能登的上去,毕竟是一个有风险的功能,所以使用的门槛还是比较高的,已经提交 了申请了,先写到这里,等批下来后,再做后续的补充。
SAE
创建应用时,需要使用注册的密码怎么都过不去,找同事试了也是不行,貌似是他们的一个bug,已联系了SAE的管理员,等回复后,再来更新。