对于希望了解如何将自主计算和面向服务的体系结构(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. 自主管理器
为了处理需采用增量方式交付和部署的控制循环的实际可行性,该体系结构正式要求自主计算系统需要拥有执行控制循环子集 的自主管理器。这是因为:
·实现支持子集
·负责部署自主管理器的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专业人员能将更多的时间花在业务特定的需求上,而减少基础结构常规管理所占用的时间。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
如何避免云计算与SOA冲突