Jul 242013
 

国内公有云厂商很多,大部分都提供测试,不过你登陆后,看来相似的功能,估计测试的兴趣也降低很多,我一般也不喜欢去测试磁盘IO。

昨晚听说青云,跑去网站注册一个账号测试看看,发现真的是比较有特色,值得去研究一下,默认有10块钱充值,省点用,应该够你测试,最大的特色就在于他的网络,真的是有点SDN的味道。

同事跟踪了一下接口调用,感觉他是自己写的,而不是使用Openstack或者桉树。

整理一下和Openstack有所不同的地方,也有利于改进。还有一点值得关注的就是青云不提供所谓的客服,让客户全部通过工单系统提交问题,别看那么简单,希望可以坚持下去。

总结

把总结放在文章开头,这样方便大家查看,下面基本也是青云的亮点,和别的国内的云计算厂商不一样的地方。

青云对国内云计算做了一个很大的贡献就是:让所有打算进入公有云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的厂商都希望实现,可惜都没很好的解决。

wanglo

按需计费和价格

这个其实说了很久,不过到了具体自己做产品,基本都做妥协,提供两种收费,按需和包月,甚至更加变态的,带宽按需,机器包月这种。

能够完全坚定去做按需的,需要的不仅仅还是技术,还有领导的定力。把两种收费混合在一起,有很多负面的东西,你是看不到的。给用户造成很大的困惑。在国外,我是从来没看到任何一家公司采用类似的模式。

关于产品的定价,阿里用淘宝的模式来搞,今天促销,明天打折。这其实是把市场做烂。我用国外的linode,aws,rackspace的产品,我对他们产品的价格预期是逐步下降,这样我才放心把东西放上去跑。但是国内的云主机,你基本可以肯定日后价格一定是上升,因为他当前是赔钱的。

希望青云目前的价格是可以保本,这样日后就有很多的提升的空间。当然要做到这点,还是很困难的。做云计算,真的是在挣小钱。一个例子:一台服务器,放10个虚拟机保本,12个你就挣钱,8个你就赔钱。还有青云提出按秒来计费,这个感觉是有点夸张,好像也没这个必要。

DEVOPS

没有客服,完全是开发,运维主导。这本来应该是云计算的公司的标配。不过在国内开始变样,客服比技术多好几倍。

技术人员的成本,是可以通过规模来降低,但是客服的成本,你基本是没法压缩的。尤其国内这种,通过qq群,电话,你就更没法玩。

其实我很同意这种完全通过工单系统去提交问题。而且必须一开始阶段,就需要推行。否则你日后会很麻烦。

做公有云,你要尝试自己制定游戏规则,教育用户。而不能用户怎么想就怎么做,这样会死人的。

UI

现在做互联网产品,都会很强调所谓的用户体验,基本啥时候提这个都没错。公有云的产品,很多人也套这个路子。改进UI,让用户用起来更加方便,这是无可厚非,这也是长期需要做的事情。

不过很多领导习惯的是,一上来就开始评论UI如何,用户体验如何。我估计他们都是没用过亚马逊是aws,没接触过aws的所谓用户体验。在云里,用户体验没有想象中那么大。你真的会发现,领导关心的问题,并不是用户关心的。那么这个时候,那个更重要,正确呢?

你的Dashboard的用户数量,其实是不多的。用户使用的时间也是不多,我们不可能像做互联网产品那样投入那么大的代价去做UI。用户关心的是啥呢?讲一个我自己的故事,我很辛苦的创新了一个功能,加入到后台,告诉用户,用户的反馈是:把网络稳定一点就行了,不需要这些功能。

青云的UI,其实还是花费了很多的力气去做。不过我用起来的时候,有些设计,不太符合我的使用习惯。补充一下,这个应该是我的问题,原来在虚拟机的右键是有全部的功能。底下有图。

例如虚拟机操作,你需要选择虚拟机,才能从上面的操作下拉菜单去操作

快照5

我用起来,其实感觉很不方便。但是他为啥这样设计呢。我猜测对于真正用户来说,这些操作都是很少操作,所以放在上面,可以很好避免误操作。不过对于我这个测试人员来说,就有点不方便,因为测试,我要反复去操作虚拟机。

说那么多,其实是想说,用户体验,很可能不同的角色,不同的人群是不一样的。

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,都是非常有挑战性的活。国内基本没有太多的经验。

中国人有做平台的情结。不过周鸿祎曾经忠告过创业者,不要去做平台。平台不是设计出来的,而是演进出来的。我想这个对创业者来说,真的是要慎重啊。在中国做平台的难度,远远高于国外,尤其是创业的公司。到目前还没有一个的成功案例,我也经常用这句话去打击创业者。

测试

密钥登陆

强制采用密钥登陆,这个比较有特色,其实天天喊安全,但是还是用口令登陆,这是一个必须改变的事情。而且注入密钥的方式,还是比较有意思。虚拟机启动后,可以在后台注入密钥,这个如果你需要多个密钥放进去的话,还是比较方便的,值得肯定。

快照1

 

虚拟机配置

这个地方有点特色,不能选择硬盘,硬盘的大小是由模板决定。这个地方设计还是经过思考才能做成这个样子。你还可以自己配置core和内存,算是比较方便。

这个图是非常值得参考和学习,包括Openstack, 不仅仅局限于用flavor创建虚拟机,用户可以自己定义,而且UI实现的非常好,同时还把价格显示。估计很快很多国内厂商都会参考这个。

快照2

软件定义网络

最大的特点在于网络。你可以使用他的默认网络,那么这个时候和Openstack的网络差不多。他还可以自己创建一个网络,类似aws的vpc概念。这种概念,其实我也只是看过,从来没真正动手测试过,今天就按照我的理解

  • 创建一个路由器
  • 路由器绑定一个公网IP
  • 创建一个私有网络
  • 把这个私有网络和路由器连接起来,设置自己的私有网络IP段
  • 把虚拟机放在私有网络里
  • 在路由器上做一个端口映射到虚拟机

结果我真的是成功SSH到我的那个虚拟机上。这种概念说起来容易,真的要做到外面给人家demo,还是很高难度的,至少这真的是目前我看到的唯一一家。其实我在上一家IDC做云计算的时候,2011年的时候,当时也提出过类似的需求,不过如何实现,真的无从下手。

从界面上看,提供Openvpn的功能,我的理解是我通过openvpn连接到路由器上,我就可以直接访问里面的虚拟机,不需要做啥端口映射。这个其实真的是很方便的设计。

Openvpn的功能,已经测试通过,和想象中是一样的,你有多个虚拟机,都是内网的IP,通过在路由器启用vpn的功能,你就可以拨入,拨入后,你就可以访问你的虚拟机。这些虚拟机也是可以访问外网。如果需要外面访问这些虚拟机,简单的作法就是在路由器上做端口映射。

这些功能看上去比较简单,不过真正去实现,其实很困难的。可以这样说,到目前为止,能把这么复杂的事情,让用户不需要看文档就搞定,青云是第一家。如果你去看看亚马逊的vpc,估计你会晕倒过去,你的网络知识,应该还无法搞定这个。

 

防火墙和安全组

在Openstack里称安全组,这里是防火墙,以前的Nova network,安全组只能控制外面访问虚拟机的流量,无法控制虚拟机访问外面,是单向的。

快照3

这个防火墙规则做的还不错,你创建路由器的时候,前面也是有防火墙,也是生效。已经不是以前那种意义上的安全组。

这个其实做的非常不错,真的算是一个防火墙。Openstack的下一个版本,也会集成防火墙在网络里。

硬盘管理

就是给虚拟机添加硬盘,如果真正运营,这其实是一个很挑战的工作,如何控制成本。界面上看,还提供了硬盘读写的统计,具体的情况我没测试。不知道统计的结果和实际使用情况,有没有差距。

提供虚拟机外挂硬盘,看上去简单,不过实际操作是比较麻烦,尤其商用,还有成本。如果通过网络访问存储,性能会有问题,千兆网络。如果是按照传统的方式去做,基本是不可行。

操作日志

这个做的其实不错,分的还很细。

快照4

也是Openstack目前比较欠缺的,操作日志,还没有地方存放。这也是日后需要去解决的问题。

工单系统

有点简陋,做公有云,真的要这样才行,不然客服人员比开发人员还多,那么注定迟早都会出问题。

虚拟机操作

虚拟机除了正常的:开机,关机,重启,销毁(删除,这个用词很准确)。

重置功能:就是恢复到刚创建时候的状态,不过没有提供snapshot。

修改配置:关机后,可以修改配置,这也比较合理,因为修改配置,你基本都是需要重启,开机操作修改配置,会导致很多问题。

console功能:可以点开,不过提示无法连接,昨晚我测试,已经没问题。这个估计还是使用的人多,还有浏览器兼容的问题。公有云一般都不敢提供这个功能,不过看界面,做的还是很不错的。

另外他们对硬盘io实现QOS,这个其实做的不错,IO可以做到120M,阿里据说才几兆。

复制功能:那么类似虚拟机clone。

谢谢青云提醒,原来还有右键的功能。不过奇怪为啥右键的功能和上面的菜单有点差异,少了一个复制功能,估计是因为复制是无法批量操作。可以批量操作的才放上面。

快照6

计费

这个其实非常值得称赞的地方,按需计费。我一向很鄙视那种提供两组计费,按需和包月,用户估计都晕倒。而且它的按需收费,价格还很便宜,我从早上测试到现在,才花掉1块多钱,真够可以的。能直接用BGP网络,而不是折腾双线,看来还是很有经验的。

给云计算的产品计费,定价,不是一件好玩的事情,如果一般的公司,不知道要开多少次会议才能完成。尤其这种每个项目都需要计费。

KVM

登陆虚拟机看看他到底使用啥虚拟化,我判断比较简单,装一个puppet,运行facter,看到是KVM。

有朋友测试硬盘的IO,认为是使用了SSD,不过青云官方澄清是:SAS硬盘。不过从IO的结果,目前还很难相信是使用SAS硬盘,这个就日后慢慢论证。

  40 Responses to “青云QingCloud测试”

  1. 首先非常感谢耐心评测。

    文中提到的两个问题:

    1,openvpn 那个我给你发了邮件。
    2,关于 console 无法连接的问题,请问你本地使用的笔记本电脑(or PC)的操作系统和浏览器版本分别是什么?这些信息有助于我们定位问题在哪里。

    谢谢!!

    • 如果你定位是浏览器的问题,我明天换浏览器测试,这个还是比较简单的。openvpn,等你邮件,我明天好好测试。

  2. 咦,openvpn client 的邮件 我下午 4:32pm 就发给你的 shake.chen@gmail.com 了,没收到?我刚刚又重发了一次,你查一下。或者看看是不是被过滤到 Spam 文件夹之类的地方了。

  3. 多么牛x的评测报告!!

    仅有两点需要澄清一下:

    1,UI 这里: qingcloud UI 里是支持 鼠标右键 操作的,你不必选定虚机去管理,直接在虚机身上点右键,就可以操作各种功能了。
    2,API 这里:目前的 qingcloud UI 完全是基于 API 调用的,即,qingcloud UI 是 API 的第一个用户!

    ^o^

    • 已经更新。能做到目前的 qingcloud UI 完全是基于 API 调用的,即,qingcloud UI 是 API 的第一个用户!
      非常不容易啊。

  4. 有私有云版本就好了

  5. 玩了一下,跟openstack差不多,所以上手很容易

  6. 路过,常看陈老师博客.

    国外厂商的计费方式实际上是非常复杂的,国内做云计算的也有采用的类似,多种计费方式叠加的方案,实际上对于客户厂商来讲是件好事。
    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年,我给你的价格便宜点,但原则还是按使用量收费。

  7. 请教下,“虚拟机启动后,可以在后台注入密钥”,这个是什么思路?怎么实现的,先谢过~

    • 对,修正下,应该是后台注入公钥,这个不知道怎么实现的,望告知~

      • 虚拟机里有agent,这样不但可以注入秘钥,监控啥问题都解决。基本想做啥都可以实现。

        • 我申请了centos 64位机器,我没找到虚拟机上的agent进程,而且用netstat看机器的端口只有22端口。

          所以怀疑注入密钥和监控,是通过外部虚拟机管理平台,类似libvirt实现的。

          如果您确定是虚拟机内部驻留程序,能否找下进程,说下是哪个进程

          如果是agent,那用户删了agent呢。。(这个是后话了。。)

          • 你真有研究精神。说一下我的了解
            虚拟机在启动的时候,注入秘钥,这是没问题。但是在虚拟机运行的时候,你就只能通过agent才能注入,我是没查过到底哪个进程是agent。国外Rightscale,也是通过类似这种方式,使用它们专用的虚拟机模板,可以直接修改root的密码,也是通过agent方式实现。

            监控,目前通过libvirt是很难实现,而且非常不准确。目前知道唯一的解决办法就是通过agent,才能获得准确的数据。你可以看看青云的监控,不通过agent,是不可能实现的。

            如果青云不使用agent,就实现秘钥的注入和准确的监控,那么就真的是神话了。

          • ps awux | grep agent

            你就可以看到agent的进程。

        • 嗯。多谢!

  8. IBM 在国内应该快要出云了应该和 微软一样的模式
    IBM的UI也不错的 嘿嘿 功能性绝对强

  9. 前几天在北京展会上知道这个,昨天试用了一下,还不错。 现在就是需要等待稳定,以及取得市场的承认了。不然 还我真不敢把生产线放到青云…… 测试环境倒是可以考虑

  10. 上午试用了下,体验感觉很棒。
    可惜预充值现在是2元了。
    有点遗憾是,创建虚拟机时必须绑定网络,完成后无法修改虚拟机关联的网络。
    问下博主,是否目前大部分云平台都存在这个问题?是否存在比较好的解决方案?

    • 在青云中,虚机的网络是可以修改的,不过可能藏的有点儿深。

      你点击主机,打开详情页,里面有一个 关联资源 的项目,你就可以 离开 or 加入 各个网络了。

  11. 陈老师好,

    看了您的测试报告,收获良多。
    问一点问题,我现在也在研究iaas,基于openstack。监控这块比较关注,目前是靠植入agent,靠传统监控方案监控的。目前也有做openstack的开发人员认为我们的方案太落后,想通过对ceilometer的加强来进行监控。但是ceilometer也是通过libvirt来实现对单个虚拟机的监控。
    按照您的理解,哪种方案是更优的呢?感谢!

    • 用agent,其实在多租户的环境下,会出很多问题。尤其现在的网络,例如虚拟机的IP相同的情况下。看你如何使用。

  12. Qing Cloud SDN(Software Defined Network) 和亚马逊的VPC有什么区别?性能方面怎么样,麻烦详细回答

    • AWS下的vpc,我是没搞明白怎么使用。你可以测试一下青云的,性能青云应该是目前世界领先,体会一下吧。希望你可以压力测试发现性能的问题,顺便告诉我。

  13. 陈老师:
    你好,我想问问青云开发语言是什么?c/c++ 还是python等

  14. 这是去年的情况,看完之后感触较多!
    目前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的性能还需优化

  15. 像青云这个按秒计费方案是怎么的一个逻辑,或者是设计方法呢??底层是通过什么做到呢?

    • 你创建一个虚拟机,他先扣你一个小时的费用,每个小时检测一次。如果你只使用1分钟,那么就会退你钱。

  16. 陈兄,有个涉及云底层实现的问题,不知道您是否有所研究,就是在云上建虚机分配资源的时候(特别是分配CPU和内存)是否可以跨物理机,比如用物理机1的4个CPU CORE加上物理机2的2个CPU CORE建立一个6 CORE的虚拟机,对KVM了解不深,在网络上翻了很久没能找到满意的答案,大部分人说是不可以,如果不可以公有云如何解决分配产生的资源碎片问题,例如物理机1上剩余了过少量的内存如何能够不被浪费?多谢!

    • 目前的虚拟化,是不能跨物理机器的。你提到的资源碎片的问题,是很现实的问题。这个问题可以通过运营过程解决。事先规划好。例如我把1core,1G内存的虚拟机全部都放到一台机器上,这台机器的cpu和内存是刚好消耗完。在国外的公有云,修改配置,其实是需要做迁移,原因就是因为这个。

  17. 沙克兄,青云API文档的最新地址为:https://docs.qingcloud.com/api

 Leave a Reply

(required)

(required)