有许多社区对Linux发行版适用于生产服务器环境感到满意,但是这种感觉似乎没有宗教信仰,很less提供支持性证据。
假设我们试图select一个Linux发行版进行标准化(因为我们有兴趣使自己的环境尽可能保持同质化),那么什么样的标准很重要,以及如何确定不同的发行版如何满足这些标准?
我目前在使用Linux十多年的环境中工作。 办公室里的每个人都在桌面和服务器上使用不同的发行版。 因此,分配的select倾向于围绕许多事物而不是特定的顺序:
这些只是我头上的一些事情,关于select每个系统的原因。 在这个决定中,我没有看到任何一个人指导一个发行版或者更喜欢一个发行版。 多元化和select可以是很好的,并为您提供一些非常好的select,以便快速启动一个项目,但这也是可以挂你的绞索。 确保你提前想到你将需要什么。 规划系统的需求以及系统何时升级或退役。 不要以为你永远是维护它的人。
我将分享我作为一个技术专家在几个不同领域的经验…
(注意:这是一个关于红帽的故事,以及我如何在专业上成长)
我在2000 – 2002年开始专业从事Linux的工作。 这是在红帽和红帽专业版(6.x,7.x,8.0)的广泛采用期间。 这些可以免费下载以及盒装套装。 他们很容易在电脑零售店find。
对我来说,这有利于吸引业余爱好者和家庭用户使用与企业中出现的产品相同的产品。 我目前的工作是将客户服务器系统从商业联合(HP-UX,AIX和SCO)转移到红帽平台。
节省的成本是相当可观的! 用4万美元的康柏ProLiant英特尔服务器取代价值10万美元的HP9000 PA-RISC服务器,在成本和性能方面是绝对的胜利。
那么,为什么红帽?
红帽是第一个进入这个市场,获得关键业务,供应商和硬件支持。 看到大型应用程序供应商使用红帽作为目标平台来达成交易。 像我这样的爱好者用户可以轻松地将家中的技能转移到我们的工作环境中。 社区正在成长。 Slashdot , Freshmeat和LAMP堆栈统治! 这对于Linux来说是个好时机。
至此,我负责将Linux发行版的开发和评估作为专有ERP软件解决scheme的平台。 我坚持与红帽。 每隔一段时间,我都会尝试使用另一个发行版( Mandrake , SuSE , Debian , Gentoo ),但会发现与打包,硬件支持(服务器或外设), (社区规模)或其他交易断路器有关的问题。
举个例子:我使用的是配有Digi串行扩展PCI-X卡和Esker VSIfax制作传真软件的 Compaq / HP ProLiant硬件。 后两者只有驱动程序支持红帽操作系统。 在某些情况下,软件仅以二进制或RPMforms交付,不能在其他Linux变体上轻松使用。
信息技术世界的势头很重要
没有人希望成为推荐失败的解决scheme或最终成为孤儿的项目的人,所以你坚持安全的select。 我正在pipe理一个需要可靠工作的技术栈,并且有几层支持。 在这一点上select一个不同的分布就可以了。 是。 不负责任的。
红帽的蜜月在2003年结束了我的软件的专业版本中断 。 红帽企业Linux是替代品,并带来了相当多的包袱…成本(昂贵的订阅模式),可访问性(缩小用户群和社区)以及对未来的普遍困惑…
我开始寻找替代品,重新评估Gentoo,Debian和SuSE。 我无法在我们的技术堆栈的所有组件上获得正确的支持。 我不得不坚持使用红帽生态系统……由于与红帽企业Linux相关的巨大成本转移,最终我运行了一个经过高度修改的Red Hat 8.0,这个Red Hat 8.0已经超过了其使用期限。 直到RHEL克隆成熟( Whitebox Linux ,后来, CentOS ),我才准备好了离开我的标准。
红帽衍生产品的主要优势在于与已付费的RHEL版本二进制兼容。 甚至可以在RHEL和CentOS之间执行就地转换,反之亦然。 我继续使用类似RHEL的系统,直到我下一个职业生涯…
后来我发现自己处于高频金融交易行业,在那里我负责关键自动交易系统的研发和Linux工程。 通过仔细的testing和调整,这个世界的重点是速度 。 同样,硬件支持是关键。 我有特定的网卡 , 专门的硬件 ,服务器硬件或应用程序库,只有经过RHEL或类似RHEL系统的authentication。 即使在其他Linux变体可以编译的情况下,也会出现社区因素。 当我需要研究一个问题的时候,在红帽Bugzilla的报告中,往往是一个可以追溯到笔记或者评论的问题,或者有时候我只是提交一个补丁或者下一个版本的请求。
当我开始深入研究低延迟networking和内核调优时,我开始分析股票RHEL内核和RHEL MRG实时内核。 我注意到在发布版本中有多less工作…对一个vanilla kernel.org内核有200多个补丁。 阅读评论和提交笔记。 你可能会暴露一些小的东西像sysctl
参数,或者更适合的理性默认值。 红帽支付人们补丁,testing和解决这些问题。 我没有看到来自其他Linux发行版的相同承诺…添加这样一个事实,即企业平台保证有真正的安全性,bug修复和backport支持多年 。
于是我最终搬到了另一个几乎全是Gentoo的服务器和桌面上的金融公司……这对我来说是一场灾难。 来自Red Hat和CentOS的世界,我遇到了Gentoo安装程序中的大量稳定性和pipe理问题。 版本控制是最大的问题,但社区支持的减less以及缺乏真正的testing也是令人担忧的问题。 我开始将RHEL引入到环境中,因为我们的一些第三方软件需要它…
但有一个问题…我的开发人员习惯了Gentoo,并且具有相对简单的核心库和应用程序版本的升级path。 他们无法适应红帽企业Linux标准化的固定主要版本。 开发和发布过程中存在的问题是为什么GLIBC 2.7无法移植到RHEL 5.x上,或者为什么某些编译器或库版本不可用。 当被告知主要版本的RHEL / CentOS之间的升级基本上需要完全重build时 ,他们对该解决scheme失去了很大的信心。
在这一点上,我意识到,对于那些想要在stream血/领先的开发者来说,红帽正在变得太慢。 RHEL 6.x是一个非常需要和受欢迎的升级版本,但是一旦我开始采访采用DevOps原则的创业公司和公司,这个主题就变得更加明显了。
今天…
越来越多的开发人员和Linux用户来自非红帽非SuSE非企业Linux环境。
所以有冲突…这些用户不明白为什么他们会被限制在应用程序或库版本。 老学校行政人员仍在适应新的范式 。 似乎扎根于宗教的争论实际上只是人们如何发展其各自技能的function。
我今天看到了一份DevOps Linux高级工程师的招聘广告,内容是:
必须熟练使用基于Debian的Linux发行版(Ubuntu和各种版本,红帽可以通过 ,但不是首选)
所以我想这两种方法都有效…我已经离开了工作机会,因为我将要pipe理的800个CentOS服务器将被转换为Ubuntu。 当然,Linux是Linux的……但是我并不觉得自己会有效……我已经摸索到了Debian的安装,并希望基于RPM的发行版正在被使用。 关于各种平台的优点,我曾经有过激烈的争论(通常把Gentoo放在列表底部)。
那么什么是适合你的环境? 这取决于。 我一直在系统工程师推动决策的公司,以及开发者都是王者的组织。 我认为最好的安排是开发者和支持系统的人们在平台上达成一致。 但除此之外,请考虑长期支持,可用性,社区以及以最合适的方式适应您的应用程序堆栈的内容。
有才华的开发人员应该能够在类似RHEL或Debian的环境中工作。 而且,开发平台应该反映生产环境。 你从那里走