云计算的说法正在广为流行,Gartner高级分析师Ben Pring评价道:“它正在成为一个大众化的词语。”但是,问题是似乎每个人对于云计算的理解各不相同。作为一个对互联网的比喻,“云”是很容易理解的。但是一旦同“计算”联系起来,它的意义就扩展了,而且开始变得模糊起来。有些分析师和公司把云计算仅仅定义为计算的升级版——基本上就是互联网上提供的众多虚拟服务器。另外一些人把云计算定义的更加宽泛,他们认为用户在防火墙保护之外消费的任何事物都处于“云”之中。
云计算被人们关注是在人们考虑IT业到底需要什么之后,人们需要找到一种办法能够在不增加新的投资,新的人力和新的软件的情况下增加互联网的能力和容量。而云计算正好提供了这种可能。现今云计算正处于一个起步的阶段,大大小小的公司提供着各式各样的云计算服务,从软件应用到">网络存储再到邮件过滤。这些公司一部分是基础设备提供商,另一部分是像Salesforce.com之类的SAAS(软件即服务)提供商。现今主要实现的是基于互联网的个人服务,但是云计算的聚合和整合正在产生。
随着企业对于云计算的关注程度越来越大,并且尝试部署云计算应用的企业也急剧上升,云计算已经成为最炙手可热的新兴技术。而大家对于SOA的关注程度不再像过去那么强烈。事实上,有许多东西,云计算提供商SOA厂商可以相互借鉴和学习。
首先,我简要介绍云计算的几个值得SOA借鉴的优点:
1.服务设计
一些通过云部署服务的供应商比如亚马逊、TheWebService、Force.com等等,在服务设计方面做的相当好。你会情不自禁地被他们提供的服务所吸引,因为精心的设计,再加上确实能够满足你的需要让你无法抗拒。许多SOA项目要么太粗糙,要么就过于繁琐,一句话概括就是没有很好的进行服务设计。
2.服务扩展性
云计算服务的设计宗旨就是能够在需要的任何时候都能进行扩展,云服务用户确实能够做到这一点因为他们能够在任何时候按需定制所需的服务。而在SOA中扩展服务通常是一个痛苦和昂贵的过程。
接下来,我们看一看SOA值得云计算借鉴的几个地方:
1.服务治理
就目前而言,云计算技术几乎没有任何治理的概念,因此,现在几乎没有任何云计算控制和执行策略。因此,许多企业选择继续观望的态度,而不急于采用云计算技术。反观SOA,它的治理技术已经相当成熟了。虽然,SOA治理的实施并不总是效果非常好,不过它已经成为了SOA生命周期的一个基本组成部分。
2.架构驱动
如果你SOA部署方法得当,那么你肯定是按照从架构再到技术这种驱动方法。而在云计算领域,资源需求才是真正的起点。云计算同样需要一个深思熟虑的架构,实际上,架构对于云计算更加重要,因为用户需要将架构扩展到防火墙之外。
云计算和SOA的交叉点在哪里呢?
虽然你的确能无需部署SOA就可以充分利用云,不过云计算的真正价值在于它确定存在于防火墙之外位于其它的数据中心里的服务、数据和流程的能力。那些企图想要往云中投掷东西但却没有任何架构远见的人会发现,云计算将不会带来太多的价值。事实上,当考虑到迁移带来的风险和成本时,可能会使你非常吃惊。
事实上,你可以将云计算看作是SOA向云交付资源的一种扩展,比如存储即服务、数据即服务、平台即服务。诀窍在于确定哪些服务、信息和过程是放在云中的最佳候选人,以及哪些云服务应该在现有或新出现的SOA中被抽象。
所以,你可以将云作为额外运行(简单地说就是放置)应用、过程的平台。其优点是你不需要在数据中心中布置一台安装了丰富软件的服务器,并雇用一些专业人士对它进行维护。
虽然企业IT对于云计算的态度不是非常放心,这也是可以理解的。但是,我认为一旦我们允许云获得更大的活动空间,许多云计算资源实际上能够比预置型资源和设施提供更好的服务,其中包括节约成本、提高效率和访问成千上万的动态Web发布资源。
人们对于云计算的兴趣也将大大推动人们对于SOA的兴趣,它不仅仅是作为一种机制能够带来更多的重用性和灵活性,而且还能够让用户找出哪些资源应该驻留在本地,哪些资源应该放在云中。
好的SOA会导致一个好的云计算策略,进而会降低成本,增强企业计算的灵活性。