再谈SPI云计算三层模式之间的关系

转自:http://cloud.chinabyte.com/192/12124192.shtml

 

首先对于IaaS层,可以考虑将其再分为两个层次,一个是虚拟化,一个是云调度。虚拟化包括了计算能力的虚拟化,存储能力虚拟化和网络能力的虚拟化;云调度包括了应用虚拟化,动态资源调度,自动部署,调度策略配置等关键内容。要注意IaaS层的核心是按需提供计算资源和存储资源,既然按需提供那么资源一定能够动态调度,资源能够根据需求灵活计费,既然是动态调度则说明资源的调度过程对上层应用不会造成任何影响。

  对于PaaS层,即平台既服务,IaaS层强调的是计算能力和存储能力迁移到云端。则PaaS层强调的是开发环境和平台能力由终端迁移到云端。 这不仅仅包括了开发过程迁移云端,还包括了测试过程,部署过程等全部迁移到云端。在云端的PaaS平台需要包括开发环境和执行环境两个核心内容,或者说 PaaS层是一个大的容器。但是开发环境全部迁移到云端在短期不是一个容易实现的事情,这个很复杂,现在容易做的可能是我们说的传统的BPM软件的云化。 如果BPM软件迁移到云端,由于BPM软件本身具有了界面建模,流程建模,规则和事件建模,数据建模的能力,因此迁移到云端容易实现我们传统说的开发环境云化。

  对于在线的PaaS平台,更多的是做集成和组装,要做到这点下层的SOA化相当重要,因此将需要和SOA服务能力集成,组装的是服务和能力,则下层必须组件化和SOA化。将原有的能力通过组件化后以服务的方式提供出来,这样PaaS平台才可以更加灵活的进行组装和编排。

  而对于SaaS原 来谈的比较多,原来我强调了不能和IaaS层紧密结合和调度IaaS层能力的在线应用不能叫做完整的SaaS应用。SaaS应用存在很多独特的设计模式, 包括大并发性能,安全,多组织和数据隔离等,这些都是需要考虑的问题。特别是在大并发下如何按需调度IaaS层能力更是需要考虑的问题。

  这样PaaS层能力将变化为开发环境+编译环境+模拟测试环境+部署环境和容器。正是由于一些信息化应用本身的复杂程度,PaaS层必须做分解,即复杂应用仍然提供离线开发环境,简单的服务组装和应用组装保留在线开发环境,那么这样对离线开发环境有更高的要求,则离线开发环境是一个标准化的基于SOA的组件开发框架,应该是传统的开发IDE环境的一次封装,进一步屏蔽底层开发细节,暴露更多的可复用技术组件,离线开发环境通过一些二次开发代码+技术组件来开发业务组件,而业务组件本身是可以上传到PaaS平台的执行环境的。

  经过上面的分析,三者之间的关系基本就清楚了,具体描述如下:

  PaaS层可以开发出应用,这个应用通过发布后变化为SaaS应用,SaaS应用能自动调度IaaS层的能力

  PaaS层在开发过程中就需要考虑和IaaS层集成,包括IaaS层本身服务能力的提供,考虑支持SaaS等

  IaaS层当不和SaaS结合的时候可能不需要云调度,当和上层能力结合的时候,必须提供云资源调度能力

  对于SaaS层应用,可以不借助PaaS,在传统开发后发布为PaaS,也可以借助PaaS快速开发,但是必须都要能够动态的调度IaaS返回比特网首页>>

你可能感兴趣的:(PaaS,IaaS,SPI,saas)