我的帝国,我做主! 我的帝国,我自由! 我的帝国,……

    云计算可能破坏之前的IT秩序(二)

    | 2009-04-16

      云联邦解决互操作性

      “公共云服务商现在试探性地提出了‘联邦’这个概念。”加利福尼亚大学计算机科学系教授、开源云计算软件的研究项目Eucalyptus的负责人Rich Wolski说:“到目前为止,公共云之间的联邦还不多,但是,我们注意到,业界正在讨论以资源形式提供的云服务之间的联邦。”

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

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

      汤姆森路透社架构和企业系统基础设施副总裁Christopher Crowhurst说: “如果你的企业的基础设施和应用运行在其他供应商的云上,你的企业应用系统的性能可能无法保证。因为在这样情况下,公共云供应商如果需要对其系统进行升级或者系统出现宕机等,它几乎不用对那些订阅它服务的用户承担任何责任。”

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

      Crowhurst建议,IT人员应该在与公共云服务供应商签订合同时把对治理方面的要求考虑进来,合同中至少要有这样的条款:一旦供应商的系统出现宕机、要修改服务、有新的服务加入,以及版本不兼容和要对API进行修改,供应商必须事先通知用户。

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

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

      这些专有的公共云之间通常不存在可交互性,而那些用于管理各种各样的公共和私有云的工具也才刚刚在市场上出现。

      “为了支持用户在不同云服务之间自由地迁移,云服务供应商应该让自己的服务符合公开的行业标准。”虚拟化工具供应商rPath创始人兼首席战略官Billy Marshall说:“如果我们能要求云服务必须符合某个开放的虚拟化格式,那么我们就能对云服务进行治理,而无论它是谁提供的。”

      能满足这一需求的一个规范是开放虚拟化格式(Open Virtualization Format ,OVF),这是分布式任务管理组织(Distributed Management Task Force,DMTF)制订的一个草案,它定义了一个可扩展的包装和发布软件的格式,用以保证软件能在虚拟机上运行,如运行在共有云和私有云中的那些软件。“这是一个确保虚拟机能在不同云之间自由迁移的关键规范,但是目前还是第一个版本,还不能提供虚拟机映像文件的全部上下文,而这些信息是对运行在虚拟机上的云服务进行全生命周期的治理非常必要的。” rPath公司工程副总裁Brett Adam表示。

      虚拟机蔓延增加了复杂性

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

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

      “云治理与常规的SOA治理不一样的一个关键地方是对虚拟机生命周期的关注。为了方便虚拟机上的应用程序自动提供,云管理环境应该提供一个预先规定好的服务器模板。”云管理平台供应商RightScale创始人兼CEO Michael Crandell说,这些模板配置好了各种策略,这些策略用于对支持关键服务运行的虚拟机的生命周期进行管理,包括部署、配置、启动、监控、优化,以及对运行在一个(或多个)公共云(或私有云)上的虚拟机进行按需扩展。Crandell说,云治理甚至还可以包括周期性地注销虚拟化实例,然后在同样的位置启动一个新的虚拟机。

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

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

      Mashup噩梦

      传统的SOA开发是由上至下的,需要精心地对架构进行设计和对各功能进行分解,以保证与平台无关,还需要保证各种服务之间是松散的耦合关系、服务对外发布的API必须符合开放的Web服务规范等。通常情况下除了一般的工具和支持关键的接口标准(如WSDL和SOAP)的平台以外,会有一个核心服务的目录,通过UDDI来发现对服务的描述。

      与之相反,云服务推崇一种更草根的方式来进行服务的提供、开发和管理,如Web 2.0、面向Web的架构(Web Oriented Architecture)和REST(Representational State Transfer)等。任何人只要有一张信用卡就可以访问或者启动一个云服务,而这个服务也许在企业内部早就部署了。

      同样,任何人只要有个浏览器,他就可以对云服务进行聚合(Mashup),或者把云服务集成到某个应用中,这种模式与企业传统的设计模式大相径庭,这些服务也很有可能不符合对企业级服务的安全要求。比如,在使用REST时,UDDI、WSDL、SOAP以及其他一些WS-*标准都可以不遵守。因此,对Mashup的看法也是有人欢喜有人忧,而SOA专业人士很明显是担心多于忧虑。

      不过,云服务还是可以从很多SOA治理实践中受益,HP软件和解决方案SOA产品主任Tim Hall说:“最重要的是,你需要一个服务的目录,用于维护关于服务的元数据,以对服务的开发、服务的构建、服务的发布进行控制,并最终保证服务对消费者可用。”

      同样,还要在云联邦方面达成一致,从而为公共云、企业的SOA、REST以及其他云环境提供一个关于服务互操作的明确的协定。Hall说,毕竟它们都是基于服务的环境。从宏观的层面上看,这些服务可以直接带来价值,它们或者可以帮助企业挣钱,或者可以帮助企业省钱、降低风险。

      总体而言,尽管SOA治理作为一个专门的领域已经逐渐成熟,然而,为服务提供运行平台的云计算却才刚刚出现不久,而且,在未来的几年中云计算一定还会快速演变,因此,要在云服务治理上达成一致并形成最佳实践还是非常困难的。可以预计,在相当长的时间内,如何对包括云服务在内的IT环境进行强有力的治理还将是业界探讨的话题。

      从SOA专业人士的眼光看,云计算环境是无登记、无技术支持以及非标准化服务的温床。因为在这一环境中,无需IT部门的介入,就可以随意访问外部提供的云服务或者把服务集成现有应用中,从而破环业已建立的IT秩序。

    0 评论:

    发表评论

    您可以使用某些 HTML 标记,例如 <b>, <i>, <a>