级别: 初级 Matt Haynos (mph@us.ibm.com), 程序主管,IBM Grid Strategy and Technology
2005 年 1 月 31 日 自动化和网格计算是 IT 市场中消耗资源的两个重要大户。其中两个最热的主题是自动配置(provisioning)和编排(orchestration),它们主要关心必要软件的加载、管理任务的任务流自动化以及资源分配。换而言之,就是为什么动态分配资源,以及如何动态分配资源。在本文中,我们将介绍自动化和网格计算如何使用这些机制来启用更健壮的网格和随需应变系统。
在业务计算领域中,有两个地方会消耗大量的计算能力:自动化和网格计算。行业杂志中有很多文章都证明了这一点,IT 分析人员的研究报告也表明了这一点。证据集中表明需要一种新型的智能基础设施,它可以对业务需求变更作出动态响应,是一种构成很多供应商战略基础的基础设施:
- IBM 将这些智能设施称为
随需应变业务(on demands business)。
- HP 将其称为
自适应性企业(adaptive enterprise)。
- Forrester Research 将其称为
有机 IT(Organic IT)。
不管大家是怎么称呼它的,但是有一点非常清楚:当前企业所面临的不断变化的业务环境需要一种灵活的、可伸缩的 IT 基础设施。
在本系列的上一篇文章中(参阅“参考资料”),我们解释了网格计算的来源以及它与其他分布式计算范型的不同之处。在本文中,我们将介绍一下网格应用中自动化的重要性,并重点介绍
自动配置 和
编排。
自动化在网格中的角色
在很多具有客户机的情况中,我们发现为了保持网格和虚拟化能力的增长,就必须有效地使用一些自动化和管理原则。这并不奇怪,因为网格本质上就是一种分布式计算的形式。但是新型的基础设施管理技术,比如自动配置和编排,都允许组织采用更加复杂的自动化技术,从而提高 IT 设施的灵活性和响应能力。
这样,在传统系统管理实践中已经成熟的自动化技术就可以成为智能基础设施中的一个重要组件。图 1 展示了这种逐渐成熟的演变过程。
图 1. 网格计算中自动化技术的演变
网格计算的本质在于,在依赖复杂任务负载管理能力或信息虚拟化的企业中,有效并且最佳地利用大量异构的、松耦合的资源。异构和松耦合的资源可以通过一个服务层来表示;这种方法通常称为
面向服务的虚拟化,或者简称
服务虚拟化。
自动化对网格计算的这种特性进行了扩展,以包括其他基础设施管理能力。对于这种扩展有一个逻辑进展,如图 1 所示。这个扩展是无缝的,其中所增加的自动化处理能力不会改变底层的虚拟化视图;自动化的影响对于应用程序和用户来说都是透明的。
因此,以模块化方式,组织可以不断增加自己的自动化处理能力,而不会对任务处理的能力产生很大的影响。
什么是自动化?
定义术语
自动化(automation) 利用了 IT 市场中很多的带宽。与虚拟化类似,它通常有很多种定义法和引用法。
然而,这个词的语义(没有人会感到惊奇)非常简单,就是“自动化执行”。因此,对于 IT 市场来说,自动化就意味着将手工处理过程替换为可以定制和重复的自动化处理过程。
这样做有很多价值:
- 人力资源可以用于价值更高的活动。
- 在某些情况下,自动化对于帮助用户管理一个过程的复杂性是非常必要的(例如工厂的自动化)。
- 最为重要的是,从那些可以自动化处理的过程中消除人员的因素,通常可以获得更加一致的结果,并且可以减少出错机会。
例如,半导体制造过程中的自动化就降低了难以生产的高价值产品的污染和误操作的可能性。IT 设施中系统管理任务的自动化可以降低出现配置错误的可能。记住这些例子,自动化对于 IT 和业务领导来说通常都是强制的。
在 IT 市场中不存在自动化缺点的例子。例如,
销售队伍自动化 就是这个术语的一个流行而又常见的例子。
然而,自动化似乎应该看作是传统的系统管理实践的结果。如果我们将传统的系统管理看作是在 IT 资源和流程管理中建立一些规则,自动化的目的是允许智能软件执行这些规则。
我们将着重介绍自动化解决方案的这个方面,它们的目标是流线型的 IT 操作 —— 在网格计算环境中尤其是如此。
在网格计算解决方案中采用自动化的价值
很多组织都从一个应用程序开始使用网格计算。他们对系统资源的虚拟化和在专用的基础设施中从逻辑上分隔任务负载非常感兴趣。但是他们一开始是熟悉网格和理解他们的基础设施和应用程序设计的需求。
当他们在生产中安装网格解决方案并获得成功时,很多人都开始来了解如何扩展和重复这种成功。这包括进一步检查自己的应用程序组合,以及从基础设施的角度来理解如何对网格进行扩展。
然后企业就可以迅速将精力集中到管理和自动化方面,并发现为了提高网格的能力,他们需要复杂的自动化功能。
“我们不仅需要产品本身,还需要管理工具,需要自动配置工具,需要在我们的环境中支持这些工具的所有生态环境。”
Tony Scott,CTO,General Motors
CIO Magazine
,2004 年 5 月
因此,随着网格的成长,自动化就成为了关键。实际上,为了对整个企业有效地进行虚拟化,就需要自动化。将其一分为二会很困难。IBM 将这种现象称为
随需应变运营环境中的 IT 基础设施管理。虚拟化和自动化实际上是同生共存的。
自动化还会导致管理领域的转变,虚拟化和网格计算正在促进这样一种转变。通常来说,系统管理一直都仅仅局限于对系统和基础设施的管理。然而,随着分布式系统虚拟化和网格计算的持续发展,管理正变得逐渐嵌入到虚拟化过程中。
如果每个用户都开始将自己的基础设施看作是一台虚拟计算机,那么将这台虚拟计算机当作一个单独的实体进行管理就是非常合理的,而不用将其作为一个很多资源的集合进行管理。
另外还有很多层次的虚拟化,例如,从由 VMware 之类的公司提供的系统资源虚拟化,到由 IBM WebSphere ®、DataSynapse 的 GridServer 和 Platform Computing 的 Platform Symphony 之类产品提供的应用服务虚拟化。这些级别的虚拟化为供应商有效地管理虚拟化增加了很大的负载,而不是简化了对 IT 资源旧概念的管理。
另外,网格强制供应商专注于任务的管理,而不是专注于资源的管理。用户希望按照最佳的方式处理任务 —— 这正式他们使用 IT 基础设施的原因。因此对管理进行改进以支持处理任务的能力是非常自然的。
业务的灵活性允许组织对自己的任务制定不同的优先级,并且实时地确定“最佳”方式。这是业务服务管理相关产品和解决方案的核心。
有两个概念工具提供了这种自动化的灵活性,它们分别是自动配置和编排。
自动配置
自动配置可以认为是目前 IT 自动化的核心技术之一。自动配置最初的焦点是在机器上加载必需的软件和可重复系统管理任务的任务流自动化。
这些努力在公司中已经开始取得一些成效:
- 让 IT 基础设施具有一致性。
- 降低了软件配置错误对服务级别的影响。
- 实现了流水线操作的功能。
与分布式计算范型类似,网格计算也可以从中受益。然而,自动配置对于网格计算来说是极为重要的,因为网格的动态性比典型的“电子商务”架构(例如三层架构)更强。让我们来分析一下原因。
由于网格通过任务调度促进了应用程序与其在基础设施中真正执行的地方的分离,所以在适当的时候动态将适当的软件配置到适当的地方这样的能力是很重要的。在最坏的情况下,执行一个任务需要配置一台安装了所有软件的机器,包括基本的操作系统。这样的代价通常是非常昂贵的,但是如果应用程序要运行很长时间,那么就可能值得投资。在大部分情况下,组织可能只希望配置应用软件和执行任务所需要的一些中间件。
图 2. 机器上的软件层
在自动配置时间和应用程序执行时间之间需要一个折中。如果应用程序的执行时间很短,就要求配置必须能够快速完成。如果应用程序的执行时间很长,那么配置必需软件的时间就不是很关键了。
此处的关键是达成一种平衡 —— 即在应用程序的执行时间和软件配置时间之间进行折中。任务调度软件需要与自动配置软件进行交互来计算其间的差异。
在任何情况下,由于程序可以在网格中的任何地方运行,所以自动配置就成为自动化的一个核心部分,而自动化对于网格计算来说非常重要。
进一步来说,网格可以促进配置除软件之外的内容的扩展。由于很多实体都可以进行自动配置,因此自动配置是一个通用的概念:
- 软件许可证可能需要动态配置,从而支持应用程序在网格环境中的执行。
- 存储可能需要进行自动配置,从而适用于网格应用程序。
- IT 基础设施中的访问权限和安全证书可以进行自动配置。
再进一步说,在光纤传输中采用 Dense Wavelength Division Multiplexing(DWDM),使得选择性地自动配置点到点的网络带宽成为可能。在应用到网格基础设施时,这是一个非常重要而又新颖的概念。
总之,由于网格计算的动态特性,我们需要对智能网格软件中的自动配置软件的复杂性和集成进行扩充。这方面的工作早已经开始进行了。自动配置是 IT 市场中的一个热点,现在有很多可用的产品和技术,比较著名的有 IBM(Tivoli® Provisioning Manager)、VERITAS Software(OpForce)和 Opsware(Opsware)。
自动化的配置:编排
如果自动配置就是如何动态分配资源,那么编排就是思考为什么要这样分配。
编排自动在一个企业内的不同应用程序基础设施之间分配有限的资源池。企业通常有多个应用程序基础设施 —— 包括网格 —— 它们可能跨越业务单元或组织,编排允许智能地根据业务策略(例如服务级别协定)自动在这些基础设施之间自动分配企业资源。这对于网格计算来说是一种重要的补充,因为它允许网格变为动态的。
资源在网格基础设施上往返,而自动化的配置通过编排与任务负载调度器协调工作,从而允许这一切发生。动态资源分配还允许网格可以更加无缝地集成到整个企业中。
编排是与网格计算共存的,因为如果调度器以任务负载的形式向网格基础设施下达了指令,那么编排就会以资源的形式提供处理。将二者放在一起,就可以得到一个功能强大的组合。
这种考虑是基础设施管理中一个重要的变化 —— 基础设施开始适应于任务负载,而不是其他方法。开发者不再需要受制于机器架构或物理基础设施之类的限制。
这个概念还有益于虚拟化,因为软件开发者不再需要为特定的机器开发应用程序了,现在是为虚拟基础设施开发应用程序了,而基础设施可以通过自动化的配置动态进行修改。
在理解自动化的配置在网格环境中的作用时需要考虑一些问题。首先,网格应用程序通常都是资源密集型的,因此访问其他资源就具有逻辑优势。它们总可以使用这些资源。问题成了何时/如何向企业设置中现有的网格基础设施分配资源。在 Tivoli Intelligent Orchestrator 中,这是通过
目标分析器 实现的。
目标分析器本质上是与应用程序基础设施一起,报告在很多资源的给定分配下违反一个目标(例如服务级别协定)的概率。Tivoli Intelligent Orchestrator 使用这些信息来确定将资源分配给谁。在网格环境中,典型的加载矩阵(例如资源的平均 CPU 利用率)都不使用,因为在网格基础设施中,资源利用率通常都相当高,实际上表现出来的都是正常操作。因此,更加重要的是考虑资源利用率的较小偏差,这在网格基础设施中更有必要。
还有一些复杂的容量规划算法,它们可以用来判断何时分配附加资源。
也许判断何时为网格分配资源的最简单算法是一天之内的时间。在金融服务业这通常非常典型。例如,专用于开市操作的资源可以在闭市之后重新进行配置和部署,在第二天开始之前再重新进行分配。
结束语
在本文中,我们简要介绍了自动化对于网格计算的重要性,以及自动化是如何成为网格计算解决方案架构中的一个关键元素的。本文的重点是自动配置(provisioning)和编排(orchestration)的价值。
在下一篇文章中,我们将介绍负载调度器和自动配置软件之间的关键交互,并简要介绍一种渐进的方法来在网格基础设施中实现完全自治的资源分配。
参考资料
关于作者  | 
|  | Matt Haynos 是 IBM Grid Strategy and Technology 团队的程序主管,这个团队的总部位于纽约 Somers。他在该团队中负责多项工作,包括与构建 IBM 网格计算业务相关的广泛构想。他在 IBM 的应用程序开发、程序指导和业务开发领域拥有多个技术和管理职位。他拥有罗彻斯特大学的计算机科学/应用数学和认知科学的学士学位,以及佛蒙特大学的计算机科学硕士学位。他与妻子及两个儿子居住在美国康涅狄格州。 |
对本文的评价
|