谈SOA和云的分层架构

看到一个关于云分层架构的文章,说了一种新思路,将通常的云分层架构和SOA进行融合,很贴切

原文 http://blog.sina.com.cn/s/blog_493a845501017w57.html

在考虑分层架构的融合的时候,我们参考了soa,云,应用,etom相关核心的分层架构模型。对于soa参考模型我们谈的最多的是应用系统,服务组件,原子服务,组合服务和流程服务。对于云谈到的是基础设施,平台层和应用层。而对于eTom分层架构模型最核心的又是资源-》服务-》应用核心的三层。对于传统的应用系统的构建一般又包括了IT基础设施,技术平台,数据库,中间件和应用。再到应用系统本身的分层架构可能又是标准的三层架构模式等。这些架构分层方法都帮助我们进一步融合分层架构模式。

 原来我们谈各种分层架构模型对应的时候,往往容易在各层之间进行对应,但是这种对应本身存在问题,特别是在粒度上本身不是一一对应。在前面一篇博文谈企业架构和togaf框架和云平台技术对应的时候我也谈到过该问题,很难真正的在粗粒度层次上做到对应。

 原有的分层有很多方法,包括基础设施层,平台层,组件层,支撑层,服务层,应用层,数据层,展现层等。多种分发导致分层模型反而出现歧义和模糊。在这里我们谈分层从技术架构和应用架构两个层面来谈,技术架构沿用云计算的三层模型;而对于应用架构则采用eTOM模型标准的资源,服务,应用三层模型。那么两种分层架构模型的融合则是一个完整的云和SOA融合的分层架构模型。

在这个模型里面可以看到对应云计算的每一层都涉及到资源,服务和应用三个方面的内容。资源层提供基础的资源,包括物理资源和逻辑资源;服务层为资源层能力的暴露;而应用层为服务能力进一步的组合和组装。通过服务层真正实现资源和应用的彻底解耦。

 对于IaaS层的资源层重点是物理基础设施资源和虚拟化资源池。而服务层为资源服务,即资源池的各种能力暴露为服务,对于应用层我们看到对于弹性计算,弹性存储,云数据中心,虚拟机的订购和使用等都涉及到应用门户,仅仅是把资源层的能力提供给用户使用。这些应用应该是iaas层的应用层。而对于paas层的资源则是中间件,数据库等的资源池化,技术平台的资源池化;到了saas层的资源则变化为实际的业务组件和部署包。这些都是我们所说的资源,所以资源包括了物理资源和逻辑资源,而逻辑资源又包括了数据库,中间件,平台,业务组件等。上层资源本身依赖于下层资源,业务组件部署在中间件资源容器,而中间件资源本身又依赖于虚拟化资源池中的逻辑资源,虚拟机本身依赖于物理资源。这本身又是一个完整的资源分层架构模型。

 对于服务层我们看到iaas层和paas层都是提供的技术服务能力。iaas层提供的偏资源的创建,使用,监控等基础资源服务;paas提供的是应用托管,资源调度,平台能力,集成能力等基础服务。而只有到了应用层后提供的才是实际和业务相关的服务。大的业务服务的概念包括了基础原子的数据服务和业务服务,中间的组合服务和更上层的流程服务。服务可组合,可组装,可编排,最终为业务流程和业务应用服务。服务本身也是一个纵向的可以从上到下的调用关系,应用层的业务服务可以调用iaas层和paas层的技术服务,paas层的技术服务可以调用iaas层更加基础的技术服务。而应用层的服务本身又存在服务的组合和组装。

 应用同样的道理,应用本身也有分工,有些完全是基础设施和平台层的应用,有些是业务层的应用。对于iaas层现有的弹性计算和弹性存储云服务提供商的应用前台都可以看做是iaas层的应用门户。对于paas层包括公用云的paas层开发和管理平台,私有云里面的公共流程平台,统一的soa集成平台等都可以看做是paas层的应用。这些应用本身是提供底层的技术和平台层能力,这些应用一般不直接面对业务用户,而是面对开发人员。

 从横行单层来讲,即标准的资源,服务和应用三层结构。应用调用服务,服务调用资源最终形成一个松耦合的架构。其核心的差异是横向的三层之间存在相互调用关系。

原文地址:https://www.cnblogs.com/Carl78/p/2649426.html