1.1.1 非标准环境的挑战
重要的是要考虑到,拥有技术资产(无论是Linux还是其他)的企业所经历的许多挑战并不是这样开始的。事实上,在增长的早期阶段,许多系统和过程是完全可持续的,在下一节中,我们将把这一环境增长的早期阶段视为理解大规模增长带来的挑战的先兆。
1.非标准环境的早期发展
在数量多得惊人的公司中,Linux环境在没有任何形式的标准化的情况下开始出现。通常,它们会随着时间的推移有机地成长。部署一开始规模很小,可能只涉及少数核心功能,随着时间的推移和需求的增长,环境也会随之增长。熟练的系统管理员通常会根据每台服务器手动进行更改,部署新的服务,并根据业务需求的规定增加服务器资产。
对于大多数公司来说,这种有机增长是阻力最小的途径,项目期限通常很紧,此外预算和资源都很稀缺。因此,当有一个行之有效的Linux资源可用时,可以使用它完成几乎所有需要的任务,从简单的维护任务到调试复杂的应用程序栈。它节省了在架构上花费的大量时间和金钱,并且很好地利用了现有员工的技能,因为可以让他们来解决眼前的问题并进行部署,而不是在架构设计上花费时间。因此,这是有意义的,作者在几家公司甚至是知名的跨国公司都经历过这种情况。
2.非标准环境的影响
让我们从技术角度更深入地了解这一点。Linux有很多种风格,有许多应用程序(在高层次上)执行相同的功能,有许多方法可以解决给定的问题。例如,如果你想编写完成某个任务的脚本,你是用shell脚本、Perl、Python还是Ruby编写的?对于某些任务,所有这些都可以达到预期的最终结果。不同的人有不同的处理问题的首选方法和不同的首选技术解决方案,人们经常发现,构建Linux环境所使用的技术是当时最新的,或者是负责它的人最喜欢的。这本身并没有什么问题,一开始,它不会引起任何问题。
如果说有机增长带来了一个根本问题,那就是规模。在环境规模相对较小的情况下,手动进行更改并始终使用最新和最先进的技术是非常好的,而且经常会带来有趣的挑战,因此可以让技术人员保持积极性和成就感。对于那些从事技术工作的人来说,保持技术水平是至关重要的,因此能够在日常工作中使用最新的技术往往是一个激励因素。
3.扩展非标准环境
当服务器数量达到数百台时,整个有机过程就会崩溃,更不用说数千台(甚至更多)。管理环境曾经是一个有趣的挑战,现在变得费力、乏味,甚至变为沉重的负担。新团队成员的学习曲线十分陡峭。新员工可能会发现自己身处一个完全不同的环境,有许多不同的技术需要学习,可能还要经过长时间的培训才能真正上手工作。长期服务的团队成员可能最终成为知识孤岛,如果他们离开,带来的损失可能会导致出现业务连续性问题。随着非标准环境以一种不受控制的方式增长,问题和中断变得越来越多,而故障排除则成为一项漫长的工作,在试图达成99.99%的服务正常运行时间协议时,这并不理想,因为每一秒的停机时间都很严重!因此,在下一节中,我们将研究如何用SOE解决这些挑战。