IAAS 云平台 Apache CloudStack 2016 年展望
这篇文章在上周末(10号),就完成了草稿,拖延着一直没定稿。这次“拖延症”的发作,似乎让我在等待一个“大事件的发生”。
果不其然,昨天(13号)Citrix 网站发布了一条重磅消息: "向 Accelerite 出售 CloudPlatform产品线" 。对Citrix 产品线有了解的朋友都知道,CloudPlatform 是 CloudStack 的闭源商业版本。这次出售行为意味着 CloudStack 会彻底从 Citrix 的背影中走了出来。https://www.citrix.com/blogs/2016/01/11/a-new-home-accelerite-to-acquire-cloudplatform/
对于这次收购,CloudStack 社区反响平平。连 Sebastien 发的一封 “Thoughts on Citrix announcement yesterday” 邮件,也迅速的被随后的GitHub 代码提交 "Pull Request"刷屏到后面去了。
这种情景,让我意识到了两种情况:第一种是社区活跃度已经下降的非常厉害了,CloudStack 已经淡出了大家的视野;第二种情况是CloudStack社区的开发者内心早已把CloudStack 和 Citrix 分开了,商业决策行为无法对社区产生影响。事实上,这两种因素都有。Sebastien 在邮件中提到,Citrix 对于这次的出售行为并没有“告知”社区,而 Accelerite 公司也没有人联系过社区 。
"我飞上了青天,才发现自己从此无依无靠" , 这句歌词或多或少唱出了CloudStack社区的一些现状。
在国内,一个不争的事实是2015年是CloudStack最沉寂的一年。 CloudStack中国社区竟然才只有两篇文章,而且都不是介绍CloudStack产品本身的,比起 2012,2013 年的盛况,不免让人唏嘘。 对比OpenStack基金会的成功运作 ,真希望Citrix这次的出售行为会间接刺激社区做出某种改变,注入新的改变力量。按照协议规定,会在2016年Q1完成这次收购,此后CloudPlatform将会属于Accelerite 这家有8000名员工的公司运作。
展望 2016 年,CloudStack 会有哪些改变呢?
我认为会在一下三个方面做出改变:
一、 版本发布周期缩短,升级更容易
在 CloudStack 的 Apache 社区主页上 http://cloudstack.apache.org/ ,出现了从来没有过的一幕:页面右侧显示了 4.7.0 is out 的下载提示,而左侧显示的是 4.6.0 released 发布公告。这种情况,只是社区巨大变革的冰山一角。更为深刻的变化是CloudStack代码提交发布方式的变化。
CloudStack 4.7 之前的开发方式是,当要添加新的功能时,会新开一个 branch ; 等新功能稳定后,在合并回 master 主干上;然后再进行代码测试,等到几轮测试稳定后,确定版本号打标签发布版本。CloudStack 4.7 版之后版本管理方式完全颠倒过来了,代码管理方式不会再按照固定的周期发布新版,采用小步快跑的模式,时刻确保master分支的稳定性,任何代码在进入master之前必须经过完整测试。
这种滚动发布的的优点是强化master主干代码的稳定性,谁提交代码谁负责测试,减少社区的测试成本。这无疑对代码贡献者提出了更高的要求。CloudStack用户长期以来的一个痛点,在生产环境中的系统很害怕升级,以至于国内很多公司内部都锁定一个版本,自己内部打patch,慢慢和社区版本脱机,然后又不得不把社区的新代码手工合并会自己的主干代码中。(BTW,关于自动升级这一点 ZStack 做的一直不错,感兴趣的朋友可以尝试一下)。
二、 支持上层应用 ,拥抱生态链
相比较OpenStack,CloudStack最大的短处是什么?是生态链产品支持的缺乏。CloudStack一直偏安一隅,做着管理好虚拟机的工作。这种定位是人们在2011年对云计算的需求。OpenStack在这方面把CloudStack甩了几条街了,从目前的格局看 CloudStack 是再也追不上了。对手的成功并不能否定CloudStack自身的存在的价值。但是是需要做出改变的时刻了。
在拥抱生态的改变上,可以从两个方向进行:
第一:增加对运行在IAAS上的软件的支持,比如:更容易的部署Hadoop,Spark ,更容易的对Hadoop,Spark集群的管理支持等
第二:增加对Mesos云资源管理平台工具的支持,让CloudStack协助Mesos进行云平台中各种资源的调度使用
从我个人的观察看 ,这两点即使CloudStack社区不做,也会有第三方的商业公司做。
三、 继续简化架构,更容易轻便的部署
CloudStack提供了一份称为"Simulator"的Docker发布版。使用这个版本你可以在没有云环境的情况,模拟查看CloudStack的各种行为,可以看作是一个“演示版”。2016年希望可以实现把CloudStack装进Docker里,更容易的部署,升级CloudStack。
除了Docker以外,运维人员更喜欢Ansible这个工具。把 Ansible 2.0 与CloudStack深度集成也是众望所归。
实际上,更多代码层面上的改变,已经在着手进行了,感兴趣的朋友可以查看社区的 “ House Clean ” 计划。
看到上面的这些可能的变化,你也许会对CloudStack未来的样子感到陌生。我也有同样的感觉。2016年对CloudStack来说仍然是探索的一年,就像一个刚断奶的孩子,要学会走自己的路。而我也会和之前以往,一如既往的关注这个孩子的成长。欢迎与我联系:weibo.com/tianchunfeng 。
【广告时间】 在IAAS虚拟化管理平台上 CloudStack仍然是性价比最好的选择之一。
参考:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/2015+Plan
http://events.linuxfoundation.jp/sites/events/files/slides/vp-acs-tokyo.pdf