问题 对于企业级系统架构,有几点是非常重要的。其中有一点就是及时性。 软件开发是个花时间的过程。而开发出来的软件,一般并不会立刻被打包进发行版当中(除了某几个非常前沿的发行版),而是会经过反复的测试,修改了bug之后才被加入。身为企业发行版,RHEL非常注重稳定性,所以其版本更新当中很少加入软件的大版本升级,而只接受小版本升级,而且经过重重测试。可以说,发行版发布的时候软件是什么版本,之后就一直是那个版本。 CentOS由于其发行的方式,决定了其追赶者的性质。这倒不是什么大问题,因为在企业的系统架构中是严禁随意对软件进行升级的。即使发行版的开发者、测试者和发布者经过了严密的测试,你仍然需要在企业的测试环境中先测试新版本,然后根据日程将升级滚动到生产环境当中。这个过程可以大大减少升级中出现问题的几率。 不过在有些时候,软件升级不仅是好看,而且还是必须的。比如,你的某个服务需要依赖某个软件的较新版本,或者某个软件在最新的升级中修复了原先存在的安全漏洞。 这种时候就需要发行版做出快速的反映,而CentOS的表现实在不尽如人意。有人会说了,你如果真需要安全更新,那么就购买企业级支持。在我看来这是个鱼和熊掌不可兼得的事情。是要花钱更新,还是不花钱不更新,这跟企业整体的预算和盈利情况有关。身为SA,需要在公司的预算之内行动。 我的公司负担不起支持费用,所以我决定耐心等待CentOS进行更新。 对于CentOS,我十分欣赏,也十分感谢所有为CentOS做贡献的人。然而作为SA,我们需要实际些,因为要对企业的系统架构负责。 下图显示了CentOS的每个版本比RHEL晚了多少天: 可以清楚的看出,CentOS 6.0花费的时间远远超过了之前的版本。事实上,最近几个版本的延误情况似乎越来越糟。我个人没在CentOS项目里做过,不清楚这背后的原因。可能跟红帽的新策略有关(51CTO编辑注:虽然CentOS管理组通告说这对他们没影响),可能跟CentOS管理组的内乱有关……谁知道呢。整个开发的流程不够透明,我感到很郁闷,因为我需要了解更多。 结果,我不得不开始考虑其他的发行版。 其他选择 CentOS最大的竞争者就是Scientific Linux,这个发行版由CERN,Fermilab和全球其他的实验室编译打包。这个发行版我还没深入尝试过,不过在尝试之前,建议大家先看看这个发行版都做了哪些定制。 RHEL Derivative上列出了好几个,不过我都还没尝试过。 我现在面临三个选择:付费用RHEL;换个别的发行版并希望它能够稳定发展;继续用CentOS并希望它能够稳定发展。说真的,我也不知道该选哪个。 不过我可以给大家提供一个建议:让你的系统架构尽可能的减少对底层操作系统的依赖性(或者说,让底层操作系统不那么重要)。这并不是说你不再需要给软件打补丁,不过在一个抽象化的系统架构上,你可以轻易的跟某个不再喜欢的OS厂商说再见。 你对此是怎么看的?欢迎分享你的想法! |