尽管笼罩在SOA外的一团迷雾还没有消散,更多企业还是开始尝试这一概念,并且针对SOA的显著优点及应用,提出更多根本性问题。与此同时,另一概念在SOA上方渐渐成形,那就是云计算。SOA与云计算,两者之间有着怎样的关系?它们是属于同一模式转变(paradigm shift)的两个部分?还是只有着不太紧密的联系?本文从不同角度分析和比较,以期回答这个问题。
用于探讨SOA和云计算,以及各自涵盖范围的术语常常根据需要来解释。下列定义试图对有关术语作一概述和归纳,从而明确技术、使用模式和部署场景的大体适用范围。
SOA——面向服务的架构,是一种架构方法,利用一组构建模块(名为服务)来创建软件系统。服务有别于组件之处在于,服务具有以下特点:独立存在,由接口定义,松散耦合,而且常常支持集成方面的多项技术。采用SOA要有一套方法,以便IT部门和业务部门共同开发这些服务。采用SOA还要有一套治理流程,以便对服务进行定义、更改、修改、组合、版本控制、重复使用及编制,从而支持不断变化的业务。
云计算——按Gartner的定义,云是这样一种计算:利用互联网技术,将与IT有关的大规模扩展功能作为服务提供给多个外部客户。
IBM对云计算的描述则是:这是一种新兴的计算模式,数据和服务驻留在大规模扩展的数据中心,可以从任何联网设备通过互联网随处访问。
驱动因素角度
对SOA和云计算来说,削减成本、提高业务敏捷性是它们共同的驱动因素,但获得这些效益的方式却各有不同。对SOA来说,削减成本是一个中长期的驱动因素,因为只有服务的重复使用达到可以抵消服务构建成本的地步,才能实现成本节省。别指望第一个SOA项目就能节省成本。实际上,开始你的成本极有可能变得更高。
另一方面,如果基于云的基础架构得到合理利用,立即就能节省成本。尽管优化改组也是SOA和云计算的一个共同要求,但目标不一样:前者是业务功能,后者则用来提供业务功能的基础架构。表1概述了SOA和云计算驱动因素的相似和差异。
表1:SOA的驱动因素 云计算的驱动因素
利益相关者角度
SOA与云计算在一家企业中都有具体的利益相关者,包括CIO、服务交付团队,以及竭力实施服务、可能在云基础架构上托管运行服务的数据中心工作人员。
值得一提的是,这两类项目之所以会失败,主要与人有关,因为两者都需要落实可靠的流程和治理框架。尽管会出现技术方面的挑战,但通常最终能够加以克服。企业在使用IT方面的成熟程度,之前在采用与IT相关的变化方面表现出来的能力,这些都可以准确地衡量对这类项目的需求,并准确地预示这类项目的结果。
表2:SOA的利益相关者 云计算的利益相关者
资源配置和生命周期
服务的创建常常是为了满足战术性要求,随着使用及重复使用日益频繁,会演变成企业级服务。服务生命周期管理负责监管这个演变过程,也是为企业服务提供路线图和支持所必不可少的。另一方面,获得及使用云服务来得比较简单。云用户在生命周期方面的挑战主要局限于两次升级之间的兼容性,这再次常常可以通过服务提供商在服务级别协议(SLA)方面的保障来克服。
说到管理这两类资产,还是有一些区别的。不过两者能产生协同效应:一方可用于管理另一方,反之亦然,这好比某个进程在操作系统上运行,而操作系统本身可能是运行中进程实例的集合体。因而,像HTTP和XML这些技术以及Web服务标准的普及性促使它们被用作SOA的优先实施平台、用于管理云基础架构。
表3:服务的配置 云计算基础架构的配置
模式重点
为了满足内外部的需求,企业通常会关注SOA和云计算这两种模式。而这两种模式则互为对方带来商业机会。部署SOA服务时,安全问题常常被忽视;使用云计算时,安全问题又常常被夸大。企业不愿把关键系统迁移到云上是阻碍云得到采用的最大因素。为了让云得到大规模采用,整个行业的观念都需要转变。
表4:SOA模式 云计算模式
SOA已经过了炒作阶段。它正成为实施企业应用的一种切实可行的方法,并从众多成功和失败的项目中吸取经验教训。另一方面,云计算还停留在炒作阶段。
在我看来,两者之间的协同效应对SOA更有好处,因为云计算实际上能扩大服务的应用范围,使其不仅仅停留在企业,还能带来新的商机。另外,由于客户群迅速庞大起来,许多以前担心的问题变得不那么重要,比如担心服务级别协议能否得到满足,在未知市场为所提供服务所作的基础架构前期投资能否收回成本等。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国