企业内PAAS基础平台-开篇

关于企业内私有云和PaaS平台将是今年关注的一个重要内容,对于PaaS平台前面已经有部分文章在阐述,后续将根据项目实践情况进一步思考和总结。可以讲后续IaaS将已经不是企业内部私有云得重点,对于IaaS层得云化和资源池的形成如果不和内部的PaaS平台结合和集成,将很难真正的发挥具体的作用。而对于PaaS平台本身我们在10年就看到电信运营商针对外部互联网应用,移动互联网应用开发的PaaS平台,主要是电信侧CT能力的开放和集成,形成统一的开发平台,集成平台和运行环境。

对于企业内部的管理信息系统而言,也完全有必要朝企业内部的PaaS平台演进,这个在SOA和云计算的关系文章中有过说明。针对企业内部的PaaS平台,初步考虑需要从如下内容展开逐步思考和细化。

首先企业内部建立PaaS平台的意义是什么?实际的背景和问题域是什么?只有在这个问题搞清楚后才能够进一步分析和思考企业内PAAS平台的核心功能。我们原来一直将对于企业内部的ESB集成平台本身就是PAAS平台的一部分,而根据PAAS定义平台即服务,其更加强调的是平台层能力的云化,那么这种云化和集中化得具体需求是什么?通过平台层能力的云化会带来哪些好处,SOA集成平台和PAAS平台本身又是一种如何协作的关系。

对于平台层能力的云化其本身又包括了两个方面的内容,首先是IaaS层解决的问题是业务应用和物理硬件设施的解耦,即计算能力和存储能力的资源池化。而对于PaaS层则更多需要解决的问题是业务应用和业务平台的解耦,即业务平台能力的资源池化。在这个云化的过程中一方面是我们常说的数据库即服务,中间件即服务;另外一个方面是我们一直强调的属于各个应用系统中平台层能力的下沉,即形成企业内部面向企业多个应用的平台层能力,这个能力包括了流程引擎,规则引擎,组织权限,主数据中心等多个方面的内容。

平台本身又分为了业务平台和技术平台,因此在PaaS平台的建设过程中需要同时考虑业务平台和技术平台两个平台层能力的云化。对于业务平台重点是各个通用的业务能力和业务服务的抽取,标准的业务组件化架构;对于技术平台则重点是开发框架,开发环境,测试环境,各种流程,规则,会话等技术服务提供。

平台的作用不仅仅是产生和提供可复用的能力,对于PaaS平台我们更加强调的是业务系统完全可以在这个平台的基础上开发业务组件和业务应用。这个平台提供了通用的数据库服务,中间件服务,业务服务和技术服务,这个平台本身遵循标准的开发框架和开发方法,可以满足在这个平台上开发的应用完全可以进行自动部署和应用托管,正是有了自动部署和应用托管我们更加容易实现后续平台层计算单元能力的分布式调度。

对于PaaS基础平台是一个完全技术层面的内容,为了业务应用能够更好的进行快速开发和托管,那么在PaaS平台上开发应用需要遵循哪些原则?在这个问题上我们看到对于前期分析过得系统内的SOA化和组件化,标准的组件化架构模式和开发方法,除了传统的分层架构外更加强调纵向的业务组件间隔离和解耦将成为重点。在这个过程中可以看到领域驱动模型和组件化开发方法的结合将更加重要。特别基于DDD领域驱动模型的设计思路将更加容易和mongoDB数据的数据模型设计结合,减少传统的关系型数据库的设计思维。

对于存技术层面,讲关注分布式数据库,分布式缓存,分布式计算和调度,云存储等技术技术在企业内的应用,要明白对于企业信息系统还是以强关系为住的关系型数据库,对于数据的一致性和事务完整性要求远远大于扩展性和可靠性的要求,这两者在CAP原则的满足度上有明显的差异需要取舍。对于是否存在类似oracle rac的廉价关系型数据库集群将是需要考虑的一个重要内容。另外对于我们常说的读写分离,写和更新对事务完整性要求较高,而读本身则根据容易实现分布式,类似开源HIVE的解决方案等。对于常说的各种基于key-value特征的NoSQL数据库是否仅仅局限到半结构化和非结构化数据的存取将是另外一个考虑的重点。

你可能感兴趣的:(IT咨询)