摘要:在本文中,专家克莱夫·隆巴顿将企业组织的配置管理系统本身,以及为什么其对于寻求获得发展的企业组织已变得如此重要的原因进行深度剖析。
  在当前这样一个企业组织所依赖的IT平台正变得越来越复杂的世界里,IT专业人员必须改变自己的心态,以便能够跟上快速发展的市场动态。自动化是突破到新的计算方式的另一边的关键,而这一关键的一个主要方面便是配置管理。 配置管理可以被定义为描述了一家企业的硬件和软件的详细记录和更新信息,使企业能够得以成功地提供新的代码和应用程序包,并在其整个生命周期进行管理。
  过去的那些一个IT项目会涉及到采购一两台服务器,并需要对这些服务器进行设置,安装某些特定的软件,以便为一个用户子集创建一个独立的、相对密闭的环境的日子已经一去不复返了。虚拟化的平台成为了现如今的企业组织所关注的重点——而对于这些虚拟化平台的管理便需要同时了解虚拟和物理环境的配置管理系统。能够跨虚拟化平台(包括混合云服务)配置、管理和迁移工作负载,已然成为任何企业组织在当前的重要目标。
  当创建一个新的IT系统时,企业组织应该定义其需要哪些功能。存储、计算、网络带宽、负载平衡器和防火墙只是创建一个新的工作系统所需的某些方面。但是,创建IT系统是相当耗费时间的——而当其准备绪的时候,企业组织的需求可能已经发生了改变。而一个有效的CM系统(configuration management system)则能够收集创建一个工作系统所需的所有方面,并以一种完整的管理方式将这些所有方面分派到一个操作环境,然后监视工作负载,并尽可能以快速且有效地的方式实现打补丁和升级。
  一款良好的配置管理系统将有助于一家企业组织降低管理IT平台的成本。因为人为操作错误的问题得以避免,使得其将能够为平台提供更好的正常运行时间。其还将能够为跨IT平台正在发生的事情提供一个更好和更深入的观察视角,并帮助识别任何问题产生的根源。后,一款强大的CM系统可以为企业组织提供一个关于哪些硬件和软件资产已经到位的的视图,从而避免了许可授权的过度和不足的情况,以及维修费用的浪费。
  硬件和软件
  配置管理主要有两个部分,但这两个部分都应该以一种紧密匹配的方式处理。第一个部分是在硬件层面——无论是物理或虚拟的形式。任何IT平台都依赖于其物理属性,如服务器的类型和数量、存储系统、网络交换机、路由器和综合布线。然而,如果物理硬件此后汇总到了虚拟化的资源池,那么,一款配置管理工具便可以确保其能够基于真正的资源需要而被分配资源,而不是基于估计的资源需要。
  另一个方面是软件的配置管理——而这也是其可以变得更为复杂的一个领域。每家企业组织都将有其核心的商业软件应用程序,如CRM或ERP,而有的企业甚至可能有多个商业软件应用程序实例,且每个商业软件应用程序实例均有不同的补丁和更新级别。这些应用程序都是被安置在数据库和操作系统上,通过中间件将他们整合在一起,以执行分析引擎和其它功能的。所有这些系统部件、以及它们之间的相互关系都需要正确地识别,以便能够使它们得以正确地发挥作用。只有通过合适的配置管理工具的使用才可以使得一款复杂的软件系统得到成功的管理,确保一款需要一个操作系统的应用程序安装恰当的补丁,不被安装不属于其所需要的补丁。
  从历史上看,获得既可以创建脚本,又可以通过设置已知的软件流程(从安装应用程序服务器和数据库到应用程序本身)来运行的系统是可能的。一般来说,仍然有一定程度的人工手动干预是必需的——IP地址、LUN指针和其他设置往往不得不手动应用。
  在新的世界里,工作负载的可移植性则是为重要的。没有人知道某项工作负载何时将需要被迁移——无论是从一个自有IT平台的一个部分迁移到另一部份或是跨混合、私有、公共云平台进行迁移。因此,即使不能完全消除,也必须尽量减少人工干预。
  配置管理工具提供弹性资源
  这便是现代化的配置管理工具发挥其功效的地方所在了。许多这类工具可以基于系统架构师提供的初始数据为虚拟资源评估理想的初始规模大小,以分配给特定的工作负载。 事实上,一些系统旨在根据其测试环境指标、定义的用户群及交易负载来计算一项工作负载所需的资源。即使这样的系统有一点错误,利用动态弹性资源(资源可以根据需求而增长和萎缩)也可以克服。
  一旦定义了资源的规模大小,总体所需的软件包可以创建了。而在现代世界,这样做主要有两种方式——要么是通过虚拟机(VM)要么是通过容器集装箱。
  虽然他们的工作方式非常不同,但虚拟机和容器均需要来自配置管理工具的相同的功能——所需要的软件必须以正确的方式汇集在一起,然后以一种优化资源利用的方式配置到IT平台。在此之后,需要对该工作负载进行监控和管理,并根据需要进行更新和打补丁。
  当寻找配置管理工具时,确保所选择的工具可以同时接受虚拟机和容器这两种工作方法是至关重要的。由于容器集装箱的世界要远比虚拟机的世界更动态,故而任何工具都必须足够灵活能够适应相应的变化。选择一款仅仅只依赖于虚拟机或者只依赖于容器的工具,例如Docker,或将在未来随着新的处理工作负载的手段的到来而导致问题。
  配置管理在DevOps中是必要的
  对于一家旨在采用一种DevOps方法的企业组织而言,由一个强大的配置管理过程提供的功能是必不可少的。DevOps可以被定义为促进开发和运营团队之间更好的沟通的经营理念。正如前面所说的,配置管理工具不仅仅是通过开发和测试生产运行时来管理一款系统。他们还必须在生产环境中监视和管理工作负载,使得易于随着工作负载的可移植性而进行修补和升级。因此,当涉及到企业的DevOps时,一款配置管理工具是相当关键的。从开发到测试再到现场生产运行的整个生命周期的总的控制,需要一款单一的工具,以确保在任何时候一切都是被完全管理的。这也必须包括能够回顾在开发和测试阶段运行正常,但在生产环境中出现问题的代码的能力。
  配置管理工具必须是包罗万象的。企业买家应该看看什么是对于自己的企业好的——由一系列组件的组合所创建而成的一个配置管理系统;或一个包容性的,单一供应商的配置管理平台,只有通过添加点工具来弥补关键能力的差距。在本系列的下一篇文章中,我们将与广大读者朋友们共同探讨配置管理工具可以被用于企业组织的哪些领域,以获得佳的效果,并看看在当前开源环境和商业化的市场上都有哪些可用的配置管理工具。
  编者按:本文是关于配置管理的四部分系列文章的第一部分。敬请期待第二部分,将为您解释为什么企业组织需要,并能够从配置管理中获益。