对于希望了解如何将自主计算和面向服务的体系结构(Service-Oriented Architecture,SOA)应用到管理系统的架构师和设计人员,本文介绍了自主计算和 SOA 中的关键概念,并演示了如何将其组合来提供自动管理系统,以处理 IT 组织内不断提出挑战的复杂性。了解如何采用增量方式实现可能跨组织边界的 IT 管理流程的自动化,以及如何将独立的自主管理器集成到 IT 管理流程中。
自主计算的目标是实现目前需要 IT 专业人员投入大量精力的常规基础结构配置和管理活动的自动化,从而隐藏管理 IT 系统的复杂性和减少人工干预的需要。IBM 的自主计算体系结构是一个面向服务的体系结构 (SOA),它定义了一组体系结构构建模块,用于构造自主管理系统(请参阅参考资料中的“An architectural blueprint for autonomic computing”)。
SOA 是一种体系结构方法,用于通过以下方法使信息技术与业务需求保持一致:
- 标识业务提供的服务
- 定义这些服务如何通过一组人工或自动活动和任务提供服务
- 确定这些活动和任务应如何通过使用可重用 SOA 服务和服务组件加以实现
在“Elements of Service-Oriented Architecture and Design”中对此方法进行了进一步描述(请参阅参考资料)。
SOA 和自主计算概念的组合提供了一种强大的方法来设计和开发与业务需求保持一致的 IT 管理解决方案。此方法非常灵活、稳健,足够满足不断变化的业务和技术驱动因素的要求,而且能够采用有效的增量方式实现自动化。
要理解 SOA 和自主计算在 IT 系统中扮演的角色,首先需要认识到,IT 管理是一个业务功能,因此应该这样看待它(请参阅参考资料中的“Transforming the 'business of IT'”)。因此,IT 管理系统应设计为可满足“IT 业务”的需求。这是 IT 服务管理(IT Service Management,ITSM)的基本原则,ITSM 是一种基于 IT 信息库(IT Information Library,ITIL)等标准和框架运行 IT 组织的方法。(有关 ITIL 和 ITSM 的更多信息,请参阅参考资料。)
在此上下文中,自主计算的目的在于允许 IT 专业人员实现通常手动执行的活动的自动化,从而提高 IT 管理流程的效率。自主计算体系结构旨在提供采用集成和增量的方式完成此任务的结构。SOA 提供了设计和实现一组技术服务的基础方法,以基于从业务模型映射到技术中的业务设计来实现各种活动的自动化。
自主管理器和自主计算体系结构
自主计算体系结构定义一组构建块,用于以下目的:
- 提供可用于构造自主管理系统的基本元素
- 定义这些元素应如何进行交互,以实现自动化功能
- 标识将支持集成解决方案的标准接口和模型
自主计算体系结构的核心部分是自主管理器;它负责实现系统自我管理的 IT 管理功能的自动化。每个自主管理器可实现一个或多个管理功能的自动化,并根据管理接口定义的行为外部化此功能。自主管理器的四个主要功能如图 1 中所示,即:
- 监视 (Monitor)
- 收集、聚合、相关和筛选管理资源的详细信息,直到其识别到需要进行分析的表象为止。此详细信息可以包括拓扑信息、度量、配置属性设置等等。就逻辑而言,此表象将传递给分析功能。
- 分析 (Analyze)
- 提供观察和分析表象的机制,以确定是否需要进行某个更改。例如,可以对关于事务时间的增加和不可用服务器的表象进行分析,以确定为了避免违反响应时间策略,是否需要更多的服务器。在此情况下,可能会生成“需要为性能下降的业务应用程序再分配三台服务器”的更改请求,以避免响应时间违反和降低不断增加的 Backlog。就逻辑而言,更改请求将传递给计划功能。
- 计划 (Plan)
- 创建或选择一个过程,以允许在管理资源中实现所需的改造。计划功能可以有多种形式,既可能是单个命令,也可能为版本计划的复杂工作流。计划功能将生成相应的版本计划,此计划表示一组管理资源所需的更改集,就逻辑而言,会将更改计划传递给执行功能。
- 执行 (Execute)
- 提供对系统必要更改进行计划和执行的机制。自主管理器生成了与更改请求对应的版本计划后,可能需要采取一定的措施来修改一个或多个管理资源的状态。自主管理器的执行功能负责通过一系列操作执行计划功能生成的过程。更改计划执行的一部分可能会涉及到更新自主管理器所使用的知识。
当可以实现这些函数的自动化时,就可以形成一个智能控制循环,从而实现一组通常由 IT 组织的专业人员执行的活动的自动化。自主管理器使用策略(目标或目的)来控制如何完成这四个功能。
图 1. 自主管理器
soa/figure1.gif" width="461" twffan="done"/>
为了处理需采用增量方式交付和部署的控制循环的实际可行性,该体系结构正式要求自主计算系统需要拥有执行控制循环子集 的自主管理器。这是因为:
- 实现支持子集
- 负责部署自主管理器的 IT 专业人员仅激活了函数的子集。当专业人员的工作职责并不涵盖所有功能,或他们决定不利用所有功能时,就可能出现这种情况。
在参考资料的“Can you CHOP up autonomic computing?”中对部分自主管理器的需求进行了更为详细的描述。
SOA
正如在“Service-oriented Architecture and Integration”中所述(请参阅参考资料),存在多种 SOA 方法:
- 自顶向下方法,从建模业务及其提供的服务着手。
- 自底向上方法,从建模现有资产和标识可以如何将其作为可重用服务公开着手。
尽管在本文中将重点讨论自顶向下 SOA 方法,但这两种方法都可以应用到自主计算中。(有关使用 SOA 向可管理资源提供标准接口的更多信息,请参阅参考资料中的“Web Services Distributed Management (WSDM)”。该文是自底向上方法的一个不错的示例。
图 2 显示了一个 SOA。
图 2. 面向服务的体系结构
服务使用者将使用通过将各种服务结合到一起而创建的应用程序,以支持使用者的业务流程。IT 与业务保持一致是通过将提供的服务的顶级粒度和功能与业务流程中的活动和任务匹配来实现的。
服务是由服务组件提供的,服务组件可能是独立组件,也可能是通过对其他服务组件提供的服务进行组合而得到的。服务组件也提供了利用现有操作系统中的功能的方法,从而将其集成到 SOA 上下文中的解决方案内。
一组跨多个关键领域的注意事项——安全、数据体系结构、集成和控制——在整个体系结构中都需要加以注意。
为了实现现有资产和从业务服务自顶向下进行的分解之间的最佳匹配,可以采用面向服务的建模和体系结构(service-oriented modeling and architecture,SOMA)之类的方法(请参阅参考资料)。对于 SOMA,服务的自顶向下标识的起点是业务的以下方面的模型:
- 组织组件
- 其提供的服务
- 用于交付这些服务的流程
其他服务是通过对现有资产采用自底向上的方法标识的。将执行分析来标识不匹配或缺少的服务,并将服务分组为合理的服务组件以便实现。
通过遵循上述方法和相应的控制模型(请参阅参考资料中的“A case for SOA governance”),可以开发跨组织边界集成一组功能的 SOA 解决方案。这些功能将服务交付给组织的客户,并允许组织的不同部分采用与交付服务相同的方式保持独立性。这就提高了灵活性,并提供必要的协作,以满足组织的总体目标。
将 SOA 和自主计算体系结构应用于 IT 流程
IT 管理方面的 SOA 方法是从 IT 的业务模型开始着手的,如图 3 中所示。此模型标识以下内容:
- IT 组织的逻辑组件,如更改计划或更改实现
- 这些组件向 IT 组织的客户和 IT 组织的其他部分提供的服务
- 组织用于运行其业务的流程
正如前面提到的,IT 信息库 (ITIL) 提供了 IT 管理流程的标准。IBM 已开发了一系列适合各个行业的“组件业务模型”(请参阅参考资料),其中包括一个与 ITIL 兼容的 IT 业务模型。
图 3. IT 业务的组件业务模型和流程定义
IT 服务和流程可以随后分解为活动和任务的工作流,以用于进行实现。“IBM Tivoli 的 Unified Process”(请参阅参考资料)包含一组与 ITIL 流程定义兼容的工作流。
就 SOA 方法而言,IT 组织提供的 IT 服务是由 IT 组织外的最终用户使用的,如供整个组织内的某个业务线使用。图 4 演示了这样的一个示例。
图 4. 使用 SOA 模型实现 IT 服务的自动化
IT 服务可通过 IT 组织提供的自服务门户直接使用,或者可以将其集成到该业务线的业务应用程序中。例如,HR 部门中用于雇佣员工的应用程序可以使用 IT 服务发出关于用户 ID 和密码的请求。
使用 SOA 实现了自动化的 IT 服务是由服务组件实现的,这些服务组件实现 IT 组织内的 IT 服务和流程工作流。因此,IT 人员执行的活动和管理工具执行的自动化任务之间得到了协调。
可能无法实现某些 IT 服务的自动化,在这种情况下,最终用户可能直接与 IT 人员进行交互,以启动服务。
图 5 显示了使用 SOA 实现 IT 服务自动化的下一级别。IT 服务和流程工作流中所选的任务映射到自主管理器的监视、分析、计划或执行功能。这就提供了这些自动任务的服务组件。自主管理器通常将通过使用现有管理工具的功能来实现。
图 5. 自动任务和自主管理器
在现实中,IT 组织通常并不是单个单体单元;它具有内部组织边界,而这些内部组织单元可以使用定义的服务彼此进行交互。这就使得情况更为复杂了,如图 6 中所示。
图 6. 通过使用内部 IT 服务实现外部 IT 服务
在 IT 流程上下文中的自主管理器
在这一部分,我们将描述在 IT 流程上下文中使用自主管理器的两个体系结构模式:增量流程自动化和通过共享数据的流程集成。
模式:增量流程自动化
- 问题
- 流程集成和自动化流程允许 IT 专业人员将活动委托给自动化功能,并实现专业人员之间的工作流的自动化。
如何对可能跨越组织边界的 IT 管理流程采用增量方式实现自动化?
流程自动化的目标在于减少专业人员在系统例行管理方面投入的时间,从而让他们将重点放在 IT 管理的业务特定方面。在很多 IT 组织中,监视、分析、计划和执行活动会跨越组织边界。通常,这意味着使用不同的技术和过程。有必要将 IT 组织不同部分的 IT 专业人员所执行的工作“链接”到一起。
- 解决方案
- IT 管理流程是使用流程集成技术进行集成的。这些流程中所选的活动将采用增量的方式委托给自主管理器,如图 7 中所示。
图 7. 部分自主管理器实现的 IT 流程活动自动化
与 IT 管理流程关联的工作流可以实现自动化,这些流通过每个业务组件提供的服务链接到一起,从而实现了跨组织边界的集成。
在每个工作流中,都可以标识实现监视、分析、计划和执行功能的活动。这些活动可以采用增量的方式委托给部分自主管理器,从而实现跨组织边界且由工作流集成的控制循环。随着自动化活动的增加以及 IT 组织对自动化技术的信任程度的提高,不要求人工干预的情况(如审批步骤)会通过更改控制工作流的策略而逐渐增加。
通过清楚地定义特定业务组件提供的服务并使其成为组织边界上的集成点,可以在无需跨组织协议的情况下进行自动化方面的决策(如果所需的服务得到维护且具有跨组织的策略存在)。
通过使用此集成模式,IT 组织可以采用增量的方式将自主功能引入到其管理系统中。他们可以在进行此工作的同时让组织的不同部分的自动化程度和自动化技术的选择保持一定程度的控制。
模式:通过共享数据的流程集成
- 问题
- 各种流程集成场景都会涉及到提供完整控制循环的独立的自主管理器。
如何能将独立的自主管理器集成到 IT 管理流程中?
为了 IT 管理流程能有效地工作,必须以即时的方式保持关键信息(如计划的更改和实际的更)最新(如果是由完全独立的自主管理器启动的)。如果没有此信息,IT 专业人员则无法了解系统的整体性能和状态。更糟糕的是,由于所基于的数据(如策略)不正确,手动启动的操作可能出现错误,或者与自主管理器启动的操作冲突。
- 解决方案
- 独立的自主管理器可以通过共享数据集成到 IT 管理流程中,如图 8 中所示。
对于执行必须在管理流程中对 IT 组织可见的功能的独立自主管理器,它们必须提供必要的数据(如检测到的表象或所需的更改),以允许对 IT 组织中与功能对应的流程进行报告和监视。通过使用应用程序集成技术来从自主管理器提取必要信息,然后使用其来填充知识源,就可以实现此操作。
图 8. 通过共享数据将独立的自主管理器集成到 IT 流程中
这就允许将独立的自主管理器集成到 IT 管理流程中。另一方面,它允许将流程级别的控制循环(会随着时间的推移而全面实现自动化)从普通管理工作流中移出,成为独立的自主管理器。
结束语
在本文中,您了解了如何在组织上下文中组合自主计算体系结构和 SOA,以交付与业务需求保持一致的 IT 管理系统,从而允许将其以增量的方式委托给自动化功能,以便 IT 专业人员能将更多的时间花在业务特定的需求上,而减少基础结构常规管理所占用的时间。
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073