大家都知道,我不但在从事云计算方面的工作,而且还在尝试在云计算中使用以服务为导向的架构(SOA)。对于我来说,这两个概念是密不可分的:没有SOA,你根本不可能实施一个成功、高效的云计算。但是,云计算和SOA又是两个不同的概念。
关键问题在于,目前从事云计算空间的人士都在基础设施规划和管理方面经验丰富,但体系结构方面就经验不足更勿论SOA了。所以,由于缺乏云计算和SOA之间的稳固链接,许多项目最终都以技术为驱动的云计算实施而告终,而这类云计算实施在提供所需价值方面天生能力不足。没有经过充分的思考和规划,仓促上马流程、应用程序和服务的云计算化是非常不明智的。
事实证明,如果你能够很好将云计算和SOA结合在一起,你可能就是在使用正确的云计算技术做正确的事,其中包括了大多数企业都缺乏的灵活性与可扩展性。SOA的核心目的在于为一个松散耦合的架构提供一个结构化的架构指导,以便于更好地充分应用云计算资源。
为什么SOA和云计算对彼此的意义重大
SOA适合于云计算。考虑到SOA是把现有的和新的系统打破并将其分为他们的组成部分,通常是数据、服务和流程。 这些组件是松散耦合的,所以能够部署于企业的任何内部或外部。因此,你可以将运作在本地服务器或私有云或公共云的系统和架构组件进行混合和匹配,并选择最佳的平台来完成工作。
问题的核心在于,很多企业并不关注系统架构或规划,取而代之他们往往关注的是技术。SOA是你需要完成的工作,而不是你所能购买的产品或服务,因此你无法把它当作一个工具购买并将其引入到你的企业中。
多年以来,过分关注技术本身常常让我们麻烦缠身。在很多方面,我们期待着下一代的技术能够帮助我们从上一代技术所带来麻烦中解脱出来。云计算并不会提供这样的解决方案。与之相反,云计算只是一个在你的企业中创建新设施的另一个方法;它还能使你的企业架构变得更为复杂,并因此不太适应所需的新业务流程。每次采用一个最时髦技术解决问题时,都会给实施者带来一个更大的问题。
云计算化应当关注于SOA的基础。在初始水平理解所有现有的和新的IT资源,其中包括数据、服务、流程、规则、接口等。并由此将所有这些资源认为是服务。对它们进行逻辑定义,并将它们添加至服务组合中。然后,考虑那些能够最好地承载这些服务的平台。这就是云计算实施的着手点和出发点。云计算并不是要更换架构,它只是一个能够进行更高效、更有效业务处理的替代平台。
如果云计算是你的目的地,那么SOA就是通往目的地的必经之路。