国内公有云厂商很多,大部分都提供测试,不过你登陆后,看来相似的功能,估计测试的兴趣也降低很多,我一般也不喜欢去测试磁盘IO。
昨晚听说青云,跑去网站注册一个账号测试看看,发现真的是比较有特色,值得去研究一下,默认有10块钱充值,省点用,应该够你测试,最大的特色就在于他的网络,真的是有点SDN的味道。
同事跟踪了一下接口调用,感觉他是自己写的,而不是使用Openstack或者桉树。
整理一下和Openstack有所不同的地方,也有利于改进。还有一点值得关注的就是青云不提供所谓的客服,让客户全部通过工单系统提交问题,别看那么简单,希望可以坚持下去。
Contents
总结
把总结放在文章开头,这样方便大家查看,下面基本也是青云的亮点,和别的国内的云计算厂商不一样的地方。
青云对国内云计算做了一个很大的贡献就是:让所有打算进入公有云IAAS的公司深刻认识到做IAAS是一个很高技术含量的活。让任何一个团队去评估青云的系统,估计都很难有信心半年搞出一个demo出来,难点就在网络。理论上Openstack的网络,也有类似的功能,不过真的去改造,实现类似的功能,还是一个非常有挑战性的工作,Openstack上的实现,可以参考https://wiki.openstack.org/wiki/Neutron/VPNaaS/HowToInstall 。
从多个渠道对青云的了解和反馈,那么下面几点总结
- 青云做的的确很好:无论是对手还是同行,大家基本都是这个反馈,其实也就意味着目前青云在国内的IAAS方面是处于第一的位置。 有个笑话:据说现在做IAAS的找投资的时候,VC都需要回答一个问题:和青云比,你们产品有啥优势。反正我没想好怎么回答。
- 青云的网络做的很好:其实没几个人明白啥是SDN,估计以后国内认识了解SDN,都要从青云开始,搞不好哪天青云成了SDN的代名词。
- 罗马不是1日建成的:大家知道和听说青云,应该就今年年初,半年的时间是不可能完成这么庞大的工作量。从别的渠道了解到,他们的老大可是至少5年以上的积累,才做到今天的程度。
- 世界没有神话:青云使用了基本目前所知的各种新技术,要把下面的这些组件都变得稳定,真的不敢想象要趟过多少坑。运气不会都是那么好,一定会有你无法解决的bug,而这些bug,就只能你自己解决。别说创业公司,就算是很强悍的技术团队,都不见得敢碰下面某个问题,而青云全部都去做。
- 分布式文件系统,解决虚拟机的高可用的问题
- 使用agent,通过agent注入密钥,进行监控,很好解决虚拟机的监控不准确的问题。
- 最新版本的Libvirt,Qemu版本,实现各种高级的功能
- Ubuntu 12.04,自己定制内核,估计最高的版本
- SDN 或者openflow这些,就更不用说
- 虚拟机提供console功能,就是vnc。这个功能应该是很消耗资源。
- 全部功能API接口:青云马上8月底就对外开发API接口。我不是开发,不过我估计API的接口的开发和维护,很可能会占你的工作量的一半以上,这一定不是好玩的事情。
SDN 虚拟数据中心
这应该是最大的亮点,不仅仅是实现了这个功能,并且把复杂的功能简化,让用户不需要太多的网络知识也可以理解和使用。其实无论公有云,私有云,其实都比较需要这个功能。我现在在内网就整天饱受IP地址冲突的问题,开发环境的网络规划的问题,有了这个基本啥问题都解决。
业界经常提到所谓的大二层,不过有几个真的用过,明白的呢?我反正是没接触过。能把实验室的东西,至少放到外面给人家demo,也是一件非常了不起的工作。
8月31日,青云加上的网络拓扑图的显示,网络显得更加直观。这个图生成,是很有技术含量,以前各个做IAAS的厂商都希望实现,可惜都没很好的解决。
按需计费和价格
这个其实说了很久,不过到了具体自己做产品,基本都做妥协,提供两种收费,按需和包月,甚至更加变态的,带宽按需,机器包月这种。
能够完全坚定去做按需的,需要的不仅仅还是技术,还有领导的定力。把两种收费混合在一起,有很多负面的东西,你是看不到的。给用户造成很大的困惑。在国外,我是从来没看到任何一家公司采用类似的模式。
关于产品的定价,阿里用淘宝的模式来搞,今天促销,明天打折。这其实是把市场做烂。我用国外的linode,aws,rackspace的产品,我对他们产品的价格预期是逐步下降,这样我才放心把东西放上去跑。但是国内的云主机,你基本可以肯定日后价格一定是上升,因为他当前是赔钱的。
希望青云目前的价格是可以保本,这样日后就有很多的提升的空间。当然要做到这点,还是很困难的。做云计算,真的是在挣小钱。一个例子:一台服务器,放10个虚拟机保本,12个你就挣钱,8个你就赔钱。还有青云提出按秒来计费,这个感觉是有点夸张,好像也没这个必要。
DEVOPS
没有客服,完全是开发,运维主导。这本来应该是云计算的公司的标配。不过在国内开始变样,客服比技术多好几倍。
技术人员的成本,是可以通过规模来降低,但是客服的成本,你基本是没法压缩的。尤其国内这种,通过qq群,电话,你就更没法玩。
其实我很同意这种完全通过工单系统去提交问题。而且必须一开始阶段,就需要推行。否则你日后会很麻烦。
做公有云,你要尝试自己制定游戏规则,教育用户。而不能用户怎么想就怎么做,这样会死人的。
UI
现在做互联网产品,都会很强调所谓的用户体验,基本啥时候提这个都没错。公有云的产品,很多人也套这个路子。改进UI,让用户用起来更加方便,这是无可厚非,这也是长期需要做的事情。
不过很多领导习惯的是,一上来就开始评论UI如何,用户体验如何。我估计他们都是没用过亚马逊是aws,没接触过aws的所谓用户体验。在云里,用户体验没有想象中那么大。你真的会发现,领导关心的问题,并不是用户关心的。那么这个时候,那个更重要,正确呢?
你的Dashboard的用户数量,其实是不多的。用户使用的时间也是不多,我们不可能像做互联网产品那样投入那么大的代价去做UI。用户关心的是啥呢?讲一个我自己的故事,我很辛苦的创新了一个功能,加入到后台,告诉用户,用户的反馈是:把网络稳定一点就行了,不需要这些功能。
青云的UI,其实还是花费了很多的力气去做。不过我用起来的时候,有些设计,不太符合我的使用习惯。补充一下,这个应该是我的问题,原来在虚拟机的右键是有全部的功能。底下有图。
例如虚拟机操作,你需要选择虚拟机,才能从上面的操作下拉菜单去操作
我用起来,其实感觉很不方便。但是他为啥这样设计呢。我猜测对于真正用户来说,这些操作都是很少操作,所以放在上面,可以很好避免误操作。不过对于我这个测试人员来说,就有点不方便,因为测试,我要反复去操作虚拟机。
说那么多,其实是想说,用户体验,很可能不同的角色,不同的人群是不一样的。
Feature 功能
其实青云上线提供的功能,可以说已经是非常多,尤其一些功能,别的厂商都不敢提供,例如虚拟机的vnc的功能,这个据说会消耗大量的资源。
做公有云的产品,还是要简单为主,尤其是起步阶段,那么多的功能,起步的时候,哪怕你再多的经验,估计都会疲于奔命去修复各种bug。
API文档
为啥大家都认为AWS是云计算厂商,linode是vps厂商,都是提供虚拟机,难道是因为linode只提供虚拟机吗?其实一个区别在于你是否能提供全部功能的API文档。简单点说,你提供的Dashboard,是不是基于你公开的API接口去实现。
这个基本是国内的弱项。可以这样说,国内基本还没有一个厂商提供完整的API接口。,某厂商说:需要api,请发邮件联系,不知道是做的太牛逼还是太简陋,不拿出来见人。有些是有API接口,不过仅仅是部分,对开发者来说,没任何意义。底下有回复,青云的Dashoard是完全基于开发的api来做,如果真的是这样,那么他们的野心就真的不小,肯定不是想挣点vps的钱。
https://docs.qingcloud.com/api/
看接口的命名,感觉很AWS化,估计青云内部应该是有AWS的高人,否则很难把产品做成这样。
下一月会提供,这其实是重头戏。API对外提供调用,这是一个很高的技术活。如何防止别人滥用,如何负载均衡,HA,都是非常有挑战性的活。国内基本没有太多的经验。
中国人有做平台的情结。不过周鸿祎曾经忠告过创业者,不要去做平台。平台不是设计出来的,而是演进出来的。我想这个对创业者来说,真的是要慎重啊。在中国做平台的难度,远远高于国外,尤其是创业的公司。到目前还没有一个的成功案例,我也经常用这句话去打击创业者。
测试
密钥登陆
强制采用密钥登陆,这个比较有特色,其实天天喊安全,但是还是用口令登陆,这是一个必须改变的事情。而且注入密钥的方式,还是比较有意思。虚拟机启动后,可以在后台注入密钥,这个如果你需要多个密钥放进去的话,还是比较方便的,值得肯定。
虚拟机配置
这个地方有点特色,不能选择硬盘,硬盘的大小是由模板决定。这个地方设计还是经过思考才能做成这个样子。你还可以自己配置core和内存,算是比较方便。
这个图是非常值得参考和学习,包括Openstack, 不仅仅局限于用flavor创建虚拟机,用户可以自己定义,而且UI实现的非常好,同时还把价格显示。估计很快很多国内厂商都会参考这个。
软件定义网络
最大的特点在于网络。你可以使用他的默认网络,那么这个时候和Openstack的网络差不多。他还可以自己创建一个网络,类似aws的vpc概念。这种概念,其实我也只是看过,从来没真正动手测试过,今天就按照我的理解
- 创建一个路由器
- 路由器绑定一个公网IP
- 创建一个私有网络
- 把这个私有网络和路由器连接起来,设置自己的私有网络IP段
- 把虚拟机放在私有网络里
- 在路由器上做一个端口映射到虚拟机
结果我真的是成功SSH到我的那个虚拟机上。这种概念说起来容易,真的要做到外面给人家demo,还是很高难度的,至少这真的是目前我看到的唯一一家。其实我在上一家IDC做云计算的时候,2011年的时候,当时也提出过类似的需求,不过如何实现,真的无从下手。
从界面上看,提供Openvpn的功能,我的理解是我通过openvpn连接到路由器上,我就可以直接访问里面的虚拟机,不需要做啥端口映射。这个其实真的是很方便的设计。
Openvpn的功能,已经测试通过,和想象中是一样的,你有多个虚拟机,都是内网的IP,通过在路由器启用vpn的功能,你就可以拨入,拨入后,你就可以访问你的虚拟机。这些虚拟机也是可以访问外网。如果需要外面访问这些虚拟机,简单的作法就是在路由器上做端口映射。
这些功能看上去比较简单,不过真正去实现,其实很困难的。可以这样说,到目前为止,能把这么复杂的事情,让用户不需要看文档就搞定,青云是第一家。如果你去看看亚马逊的vpc,估计你会晕倒过去,你的网络知识,应该还无法搞定这个。
防火墙和安全组
在Openstack里称安全组,这里是防火墙,以前的Nova network,安全组只能控制外面访问虚拟机的流量,无法控制虚拟机访问外面,是单向的。
这个防火墙规则做的还不错,你创建路由器的时候,前面也是有防火墙,也是生效。已经不是以前那种意义上的安全组。
这个其实做的非常不错,真的算是一个防火墙。Openstack的下一个版本,也会集成防火墙在网络里。
硬盘管理
就是给虚拟机添加硬盘,如果真正运营,这其实是一个很挑战的工作,如何控制成本。界面上看,还提供了硬盘读写的统计,具体的情况我没测试。不知道统计的结果和实际使用情况,有没有差距。
提供虚拟机外挂硬盘,看上去简单,不过实际操作是比较麻烦,尤其商用,还有成本。如果通过网络访问存储,性能会有问题,千兆网络。如果是按照传统的方式去做,基本是不可行。
操作日志
这个做的其实不错,分的还很细。
也是Openstack目前比较欠缺的,操作日志,还没有地方存放。这也是日后需要去解决的问题。
工单系统
有点简陋,做公有云,真的要这样才行,不然客服人员比开发人员还多,那么注定迟早都会出问题。
虚拟机操作
虚拟机除了正常的:开机,关机,重启,销毁(删除,这个用词很准确)。
重置功能:就是恢复到刚创建时候的状态,不过没有提供snapshot。
修改配置:关机后,可以修改配置,这也比较合理,因为修改配置,你基本都是需要重启,开机操作修改配置,会导致很多问题。
console功能:可以点开,不过提示无法连接,昨晚我测试,已经没问题。这个估计还是使用的人多,还有浏览器兼容的问题。公有云一般都不敢提供这个功能,不过看界面,做的还是很不错的。
另外他们对硬盘io实现QOS,这个其实做的不错,IO可以做到120M,阿里据说才几兆。
复制功能:那么类似虚拟机clone。
谢谢青云提醒,原来还有右键的功能。不过奇怪为啥右键的功能和上面的菜单有点差异,少了一个复制功能,估计是因为复制是无法批量操作。可以批量操作的才放上面。
计费
这个其实非常值得称赞的地方,按需计费。我一向很鄙视那种提供两组计费,按需和包月,用户估计都晕倒。而且它的按需收费,价格还很便宜,我从早上测试到现在,才花掉1块多钱,真够可以的。能直接用BGP网络,而不是折腾双线,看来还是很有经验的。
给云计算的产品计费,定价,不是一件好玩的事情,如果一般的公司,不知道要开多少次会议才能完成。尤其这种每个项目都需要计费。
KVM
登陆虚拟机看看他到底使用啥虚拟化,我判断比较简单,装一个puppet,运行facter,看到是KVM。
有朋友测试硬盘的IO,认为是使用了SSD,不过青云官方澄清是:SAS硬盘。不过从IO的结果,目前还很难相信是使用SAS硬盘,这个就日后慢慢论证。
首先非常感谢耐心评测。
文中提到的两个问题:
1,openvpn 那个我给你发了邮件。
2,关于 console 无法连接的问题,请问你本地使用的笔记本电脑(or PC)的操作系统和浏览器版本分别是什么?这些信息有助于我们定位问题在哪里。
谢谢!!
如果你定位是浏览器的问题,我明天换浏览器测试,这个还是比较简单的。openvpn,等你邮件,我明天好好测试。
咦,openvpn client 的邮件 我下午 4:32pm 就发给你的 shake.chen@gmail.com 了,没收到?我刚刚又重发了一次,你查一下。或者看看是不是被过滤到 Spam 文件夹之类的地方了。
收到,谢谢,已经测试通过。包括vpn和vnc。测试文档也更新。
多么牛x的评测报告!!
仅有两点需要澄清一下:
1,UI 这里: qingcloud UI 里是支持 鼠标右键 操作的,你不必选定虚机去管理,直接在虚机身上点右键,就可以操作各种功能了。
2,API 这里:目前的 qingcloud UI 完全是基于 API 调用的,即,qingcloud UI 是 API 的第一个用户!
^o^
已经更新。能做到目前的 qingcloud UI 完全是基于 API 调用的,即,qingcloud UI 是 API 的第一个用户!
非常不容易啊。
有私有云版本就好了
玩了一下,跟openstack差不多,所以上手很容易
路过,常看陈老师博客.
国外厂商的计费方式实际上是非常复杂的,国内做云计算的也有采用的类似,多种计费方式叠加的方案,实际上对于客户厂商来讲是件好事。
Amazon 为例
Amazon的instance 有三种收费方式: reserve instance, on-demand instance, spot instance
reserve 类似于包月,其实是包年
on-demand 是按需
spot 是竞价
Aamzon的流量是额外计费的 Amazon 各个region之间,和internet之间计费方式都不相同
变态至于 S3 存储 put get 请求数量都是要叠加收费的,甚至于各个区都不一样,Cloudfront https 每个证书都要额外收钱。
我觉得云计算这块 网络是一大难点
另外 计费/账单系统 也够喝一壶的了
难得有人那么了解aws的计费。aws的计费机制是非常复杂,aws的账单,估计没几个人能读懂。对于一个初创企业,不能搞那么复杂。AWS的复杂,是长期演变而来。我们如果还没几个客户的情况下,就把计费搞的和中国移动那样,一堆套餐,那就真的很痛苦。
公司使用Amazon的好多产品 EC2/VPC/S3/CloudFront/DirectConnect/ELB/……,所以了解一些,公司的业务基本就是建立在Amazon之上的 SaaS,貌似现在好多初创公司都这么做。
当然不仅仅是Amazon,Azure Internap Openstack 也有在用,不过坦白来讲Amazon值得我们学习的太多了,国内的厂商以及开源产品 (桉树 openstack 等等) 不是一时半刻可以追的上的。
楼主说的这个是国内做的很好的了。
很多人对AWS的理解就是一个虚拟机和网盘。没有用过 EC2/VPC/S3/CloudFront/DirectConnect/ELB,你是无法理解AWS的价值。
AWS是有多种的计费,reserve instance, on-demand instance, spot instance,但是这些收费模式,还是按需,而不是我们的所谓的包月。是按照你的使用量来计费,只是说,你用的时间长,用1年,我给你的价格便宜点,但原则还是按使用量收费。
请教下,“虚拟机启动后,可以在后台注入密钥”,这个是什么思路?怎么实现的,先谢过~
对,修正下,应该是后台注入公钥,这个不知道怎么实现的,望告知~
虚拟机里有agent,这样不但可以注入秘钥,监控啥问题都解决。基本想做啥都可以实现。
我申请了centos 64位机器,我没找到虚拟机上的agent进程,而且用netstat看机器的端口只有22端口。
所以怀疑注入密钥和监控,是通过外部虚拟机管理平台,类似libvirt实现的。
如果您确定是虚拟机内部驻留程序,能否找下进程,说下是哪个进程
如果是agent,那用户删了agent呢。。(这个是后话了。。)
你真有研究精神。说一下我的了解
虚拟机在启动的时候,注入秘钥,这是没问题。但是在虚拟机运行的时候,你就只能通过agent才能注入,我是没查过到底哪个进程是agent。国外Rightscale,也是通过类似这种方式,使用它们专用的虚拟机模板,可以直接修改root的密码,也是通过agent方式实现。
监控,目前通过libvirt是很难实现,而且非常不准确。目前知道唯一的解决办法就是通过agent,才能获得准确的数据。你可以看看青云的监控,不通过agent,是不可能实现的。
如果青云不使用agent,就实现秘钥的注入和准确的监控,那么就真的是神话了。
ps awux | grep agent
你就可以看到agent的进程。
嗯。多谢!
IBM 在国内应该快要出云了应该和 微软一样的模式
IBM的UI也不错的 嘿嘿 功能性绝对强
IBM的企业基因,就决定他很难做出互联网产品出来。
前几天在北京展会上知道这个,昨天试用了一下,还不错。 现在就是需要等待稳定,以及取得市场的承认了。不然 还我真不敢把生产线放到青云…… 测试环境倒是可以考虑
是否稳定,是靠自己的测试结果去验证。
上午试用了下,体验感觉很棒。
可惜预充值现在是2元了。
有点遗憾是,创建虚拟机时必须绑定网络,完成后无法修改虚拟机关联的网络。
问下博主,是否目前大部分云平台都存在这个问题?是否存在比较好的解决方案?
在青云中,虚机的网络是可以修改的,不过可能藏的有点儿深。
你点击主机,打开详情页,里面有一个 关联资源 的项目,你就可以 离开 or 加入 各个网络了。
陈老师好,
看了您的测试报告,收获良多。
问一点问题,我现在也在研究iaas,基于openstack。监控这块比较关注,目前是靠植入agent,靠传统监控方案监控的。目前也有做openstack的开发人员认为我们的方案太落后,想通过对ceilometer的加强来进行监控。但是ceilometer也是通过libvirt来实现对单个虚拟机的监控。
按照您的理解,哪种方案是更优的呢?感谢!
用agent,其实在多租户的环境下,会出很多问题。尤其现在的网络,例如虚拟机的IP相同的情况下。看你如何使用。
Qing Cloud SDN(Software Defined Network) 和亚马逊的VPC有什么区别?性能方面怎么样,麻烦详细回答
AWS下的vpc,我是没搞明白怎么使用。你可以测试一下青云的,性能青云应该是目前世界领先,体会一下吧。希望你可以压力测试发现性能的问题,顺便告诉我。
陈老师:
你好,我想问问青云开发语言是什么?c/c++ 还是python等
python
这是去年的情况,看完之后感触较多!
目前Openstack技术搞的风声水起的,能具体分析一下它们之前的不同么?
比如网络这一块,openstack 的neutron已经有SDN味道了,也可以查看网络拓扑,不明白有多大区别?
差距还是很大很大的。青云的vpc才能算是真正的vpc。在openstack下,还没有真正的vpc。
个人感觉,青云的VPC和亚马逊的VPC还是不一样的。
青云没有明确的VPC概念或者区域,当然这不重要,重要的其实就是1.网络是不是隔离,2.能不能和其他私有云或者企业已经存在的云下数据中心通信。
目前是使用私有网络+Router+VPN搞的,还有端口转发(类似AWS的DNAT)
openstack实际也可以完成类似的能力 tenant+network+Router+VPN,openstack目前没有看到端口转发的能力,有所欠缺。
稍大规模的情况个人感觉VPN才是关键,DNAT有点鸡肋,青云页面上看目前是GRE VPN和openvpn后续也会提供ipsec vpn。openstack目前只有ipsec vpn。
青云的优势是真快,不知道如果做到的。openstack的性能还需优化
像青云这个按秒计费方案是怎么的一个逻辑,或者是设计方法呢??底层是通过什么做到呢?
你创建一个虚拟机,他先扣你一个小时的费用,每个小时检测一次。如果你只使用1分钟,那么就会退你钱。
陈兄,有个涉及云底层实现的问题,不知道您是否有所研究,就是在云上建虚机分配资源的时候(特别是分配CPU和内存)是否可以跨物理机,比如用物理机1的4个CPU CORE加上物理机2的2个CPU CORE建立一个6 CORE的虚拟机,对KVM了解不深,在网络上翻了很久没能找到满意的答案,大部分人说是不可以,如果不可以公有云如何解决分配产生的资源碎片问题,例如物理机1上剩余了过少量的内存如何能够不被浪费?多谢!
目前的虚拟化,是不能跨物理机器的。你提到的资源碎片的问题,是很现实的问题。这个问题可以通过运营过程解决。事先规划好。例如我把1core,1G内存的虚拟机全部都放到一台机器上,这台机器的cpu和内存是刚好消耗完。在国外的公有云,修改配置,其实是需要做迁移,原因就是因为这个。
沙克兄,青云API文档的最新地址为:https://docs.qingcloud.com/api