SOA与云计算技术有何异同处
云计算越来越受到企业的关注,并且尝试部署云计算的企业也急剧上升,云计算已经成为最炙手可热的新兴技术。而大家对于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会导致一个好的云计算策略,进而会降低成本,增强企业计算的灵活性。