这半年,我折腾过好几个自动化部署工具, cobbler, FAI, Crowbar, Maas.
Crowbar和Maas,比较类似, 他们都是通过pxe启动一个内存linux,实现初始化. 为啥这样设计呢? 其实没看到任何的资料介绍.
Crowbar当初设计是为了用于Dell的硬件, Maas,设计为了部署Ubuntu 的os,相对来说,都是有点封闭,哪怕是开源。
Razor,好像推出才3个月的工具,不过现在好像进步很快。EMC和Puppet联合开发,感觉比Dell的Crowbar好很多。
http://nickapedia.com/2012/06/25/razor-oss-2-public-release-of-mk/
这样我就明白为啥机器要pxe启动一个内存的os的目的。
我在思考一个问题,当初Dell设计Crowbar的时候,为啥没有考虑做成一个Chef的插件呢?如果是这样,那现在Crowbar的情况,估计就大大不同的。Dell现在在Crowbar投入很大,但是没啥产出,并且还面临一个比较尴尬的局面:无法形成生态链,没多少人愿意陪你玩。自己辛辛苦苦写出来的东西,免费都没有人用。
EMC非常聪明,他需要做一个免费部署工具给用户用,但是他不希望是一个长期投入,所以联合Puppet。这样风险就大大降低。
Ubuntu的Maas,其实问题就更多。投入很大的力量去定制cobbler,加一个logo,就号称是Maas,在国人看来,也是有点山寨。并且还自己搞了一个JUJU类似的东西。到底puppet和juju有啥区别还是类似的东西,估计Canonical自己的员工,也说不清,好像也没几个人感兴趣,从邮件列表里也可以知道。
昨天刚看到juju邮件列表,提到Orchestra,未来很快就要去掉juju的支持,因为没几个人玩,我本来一直都比较欣赏Orchestra的理念,不重复造轮。不过现在看来,ubuntu是希望自己搞一套。
面对Crowbar(cobbler+chef),Maas(cobbler+juju), Puppet+Razor 这3个,你选择谁呢?