云计算让SOA治理变复杂

2009-05-26 06:47赵贵根
网络传播 2009年5期
关键词:部署工具环境

赵贵根

“云计算”热正席卷全球。作为一种按需交付服务的商业模式,云计算为企业提供了一种快速部署和应用IT技术的方法。不过,云计算也给IT人员带来了不小的麻烦。他们很长时间以来一直致力于SOA的治理行动,多年来对Web服务环境实施生命周期管理的IT人员刚刚看到一点成绩,而如今需要对这些策略进行修改,以应对部署得越来越多的基于云计算的服务。因为基于云计算的服务很可能根本不在他们的控制范围之内。

从某种程度上,云计算对SOA治理来说是好事情。因为云计算的存在使得治理变得非常关键。

从理论上讲,云几乎具有交付一切服务的能力,从应用到中间件、到应用平台,从存储、到流程处理再到硬件资源,都可以采用订阅的方式按需交付。然而,在云计算的世界里,IT人员如何才能进行有效的管理呢?

云之所以引发了人们对治理的关心,是因为云让我们把信任的边界从企业内部扩展到企业以外。这一变化引发了一个新的问题,那就是把云服务与企业内部的应用整合起来是一个巨大的难题。

换句话说,云让SOA治理复杂化了,如果没有有效的治理,任何人、任何时候,只要他愿意都可以部署一个新的云服务,他也能调用这个服务,或者能把这个服务集成到日趋复杂的消息系统中。

在缺少治理的环境中,相似的云服务的规划和优化将变得异常困难。另外,随随便便就部署的那些云服务也可能破坏业已建立的信任关系,这种信任关系是生产性BOA环境的基础。

简单来说,云服务可能绕过最有效的关于服务治理的实践规范。由于很多IT功能甚至所有IT功能都没有经过IT部门而被外包出去,IT部门就很难依据之前建立的策略来规范这些云服务,包括服务的组合、集成、安全、管理等实际上都脱离了IT人员的监管。

更进一步说,云服务与企业核心SOA环境存在本质上的区别,IT人员往往并不知道哪些最佳治理实践(如果有的话)适合新的环境。而且在大多数公共云或者私有云环境中,也缺乏企业以前部署的用以支持Web服务的很多组件,比如服务注册、服务级别管理代理和控制台。

云环境是无记录、无支持以及非标准化服务的温床。只要设想一下,无需IT部门的批准,使用者就可以访问外部提供的云服务,这一点就不言自明。

另外,外包的云服务很有可能根本就不符合各种Web标准,如XML、SOAP、WSDL、UDDI等,而企业内部的SOA环境都是基于这些标准建立的。

随意使用的公共云服务可能导致对现有IT环境的破坏,更为严重的是它还可能阻碍IT部门对这些不足进行修正。一旦这些不邀自来的客人在企业的日常运营中站稳脚跟,IT部门会发现自己陷入了无休无止的监控,以及强迫它们符合服务的设计、维护、安全以及版本等各种最佳实践。

云计算的另一个问题是人们对云计算的陌生。也许随着云计算的日益普及、并最终成为主流,这一担心会烟消云散,但是毕竟还需要一段时间。

就企业部署云服务来说,最好的方法是有选择性地外包一些特定的应用和基础设施服务,而不是不分青红皂白盲目跟风。因此,在云和SOA治理方面的首要决策是决定哪些服务应由哪个公共云来提供,从而避免企业内部不必要的重复。

复杂

在众多有关云服务的宣传中,尽管我们很难看到关于在云服务环境中进行SOA治理的案例报道,但是,大多数公共云服务供应商还是为管理应用、虚拟机以及部署在它们自己环境中的服务级别等提供了治理工具。

如今,能提供对运行于各种各样公共云与私有云上的服务进行管理的工具的供应商也是越来越多。但是,目前云计算环境尚不太成熟,所以过去这些SOA治理工具供应商现在还无法提供有效的工具,来管理基于云的应用、交易、消息传送和服务级别。

而且,即使云服务真的成为主流,这些服务也从一开始就是按照SOA的治理规范创建的,在管理它们时仍然面临很多挑战。这些困难源于云计算这一新模式本身的特点:基于专有技术的公共云、虚拟资源池以及通过Mashup组合服务等。

全面的SOA治理要求用统一的策略来管理所有的应用、平台、网络域(在一个稍微复杂一些的企业网络环境下,这一点就非常困难),或者在各个自治域之间按照一定的规范建立联盟(或者联邦)。

管理企业内部或者B2B供应链的SOA联邦是非常复杂的,因为需要把内部的应用域与一个或者多个外包商(如亚马逊、Google、微软、Salesforce.com等)提供的公共云服务联系起来,形成一个整体。要想达成目的,你需要有赢得诺贝尔和平奖的谈判技巧。

操作性

随着云计算市场解决了各种各样的联邦问题,接下来,服务供应商和企业用户就可以订立多层次的协议,包括身份管理、服务级别管理、存储管理以及其他值得关注的核心问题。

而现在,在企业SOA环境与公共云服务之间几乎没有任何统一的策略,因而那些选择公共云服务的企业面临巨大的风险。

如果企业之前没有和这些公共云提供商达成任何关于云服务的稳定性和可用性的协议,就基于这些供应商提供的公共云服务来构建自己的业务系统,将给业务带来风险。因为即使这些公共云服务保持接口不变,其具体行为仍然可能发生变化,而用户也许根本就不知道。

SOA有一个最基本的原则,即分布式应用环境必须与平台无关,SOA治理的基础设施也要遵循这一原则。比如,在纯SOA环境中,外部的API应该与具体实现它的平台无关。

然而,率先体验云计算的企业常常违背这一基本原则,它们把自己的应用建立在一些公共云服务上,而很多服务采用的恰恰是专有的API、专有的开发工具、特殊的虚拟层和特殊的治理策略,虽然很多云服务为符合开放的SOA和Web 2.0标准已经做了一定程度的修改,但并不彻底。

复杂性

大多数的SOA治理仅仅关注了企业IT环境的表面,比如仅仅管理了一部分运行在应用层的服务以及那些符合XML、SOAP、WSDL以及核心SOA规范的Web服务。而实际上,很多公共的云服务还提供更深层的按需服务,从应用层到软件开发平台、集成中间件再到硬件层。比如,虚拟的、基于网格的“硬件资源作为服务”的资源池就是一种非常受欢迎的云服务,能提供非常大的处理能力和存储空间。

由于上述原因,随着云服务形式和种类的日益丰富,对云计算环境进行治理已经超过了目前SOA治理工具的能力范围,云计算环境使得对所有的服务进行统一的规划、实际、提供、监控和控制的想法几乎成为不可能。

事实上,有一功能被证明是进行云治理的杀手级应用,这就是阻止未经允许的虚拟机在公共或私有的虚拟基础设施上运行。这一问题有时被称为是“虚拟机蔓延”,虚拟机蔓延不仅带来了维护上的麻烦,而且还会消耗CPU、存储和网络资源。

越来越多的商业性的管理工具提供了控制虚拟机蔓延的功能,而且不受限于一个具体虚拟化平台。同时,虚拟化平台的供应商,如VMware、Citrix、微软和一些公共云服务供应商也把这一功能作为它们的管理工具的主要卖点。有时候,这一功能被称为“实例管理”,是传统的SOA治理工具所不具备的。

猜你喜欢
部署工具环境
一种基于Kubernetes的Web应用部署与配置系统
长期锻炼创造体内抑癌环境
晋城:安排部署 统防统治
一种用于自主学习的虚拟仿真环境
波比的工具
波比的工具
部署
孕期远离容易致畸的环境
环境
“巧用”工具