加载中…

加载中...

个人资料
人月神话
人月神话 新浪个人认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:4,757,653
  • 关注人气:6,006
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

企业级PAAS平台-架构搭建思路

(2012-03-18 16:29:28)
标签:

paas

架构

分类: 随笔文章
前面谈到了很多业界很多的paas平台的参考架构,如果重新来规划一个paas总体平台架构应该如何思考是我们考虑的问题,业界的架构也只是一个参考,适用的paas架构必须要结合企业私有云实际应用场景。同时我们要看到私有云的paas和公有云的paas有很大的区别,私有云中的paas平台往往和企业内部业务系统的构建和平台化关系更加密切,这些都是需要考虑的内容。

应用,服务,能力和资源

对于PaaS平台包括两个方面的内容,一个是提供软件或应用所需要的资源或容器,这些软件应用可以托管或驻留到我们提供的资源中。另外一个是业务应用本身提供各种业务服务或业务能力。

资源层提供的能力是为业务应用服务,而业务应用提供的能力是为最终业务服务。或者我们简化说paas管理两个方面的能力,一个是资源,一个是应用。对于资源的管理从传统的iaas层的虚拟化资源池提升到平台层面,即传统是应用->iaas,而现在是应用->平台->iaas层。这个平台层面即数据库资源池,中间件资源池。而对资源需要实现全生命周期的管理,包括资源的申请,资源的创建,资源的分配,资源的动态调度和调整,资源的回收。这些是实现资源池弹性的基础,也是实现自服务的基础。

对于应用我们强调的是业务应该能够下沉的尽量下沉和平台化,业务应用组件化,组件能力化和服务化是我们对应用的考虑。业务应用本身又包括两个方面的内容,一个是业务应用提供业务能力供业务人员使用,一个是业务应用提供业务服务供业务组件或应用间的协同。在这里业务应用会划分为业务组件,业务组件会抽象出相应的业务服务,paas平台需要度服务全生命周期进行管理,即包括服务的注册和接入,服务的申请和使用,服务的开通,服务的运行,服务的监控等。

iPaaS和aPaaS

对于PaaS平台,Gartner把它们分为两类,一类是应用部署和运行平台APaaS(application platform as a service),另一类是集成平台IPaaS(integration as a service)。 人们经常说的PaaS平台基本上是指APaaS,如Force.com和Google App Engine。

企业On-Premise应用在很长一段时间内都是要存在的,私有云PaaS平台要成为On-Premise和公有云之间的桥梁。私有云PaaS平台除了是应用部署平台外,还需要提供集成和方便构建复合应用的能力,就是Gartner所提的iPaaS能力。 企业级PaaS平台不仅仅是应用部署平台,而且是复杂多租户环境和复杂应用环境下的共享基础设施平台。

从上面的阐述可以看到在公用云场景下,我们很少谈到iPaaS,基于公有云的应用更多的是aPaaS,公用云中的iPaaS更多的提升到了mashup层面。而在私有云环境下面,由于我们基于paas平台之间构建的业务应用本身之间存在大量和交互和集成的需求,同时底层的服务和能力本身是可以进行编排,组装和整合以形成新的应用。因此在私有云里面iPaaS是相当重要的。aPaaS解决的是单个应用如何基于paas平台基础设施的问题,而iPaaS解决的是多个应用间如何集成和交互的问题。

iPaaS的核心是企业内部的SOA集成平台,对于SOA集成平台本身又包括两个方面的核心能力。一个是ESB企业服务总线,实现服务的注册,接入,服务的提供和使用,服务的监控;其二是BPEL和BPM,实现服务的编排,应用的组装,流程的整合。

开发态和运行态

按道理来说,PaaS平台更多的是关心运行态的相关内容。但是如果在开发态没有遵从Paas平台架构规范进行开发和设计,往往并不难保证业务系统能够完全托管到paas平台中。我们的假设是基于PaaS平台的开发和接入规范进行开发,那么最终的业务应用就可以接入和部署托管到paas平台上。

我们将开发环境,测试环境统一划归到开发态。而将最终paas平台提供的执行托管环境划入到运行态。在开发态我们就需要利用和集成paas平台已经提供的各种技术服务能力,遵从统一的开发框架,开发标准和软件架构。

开发态本身又分为在线开发和离线开发,即使是离线开发我们看到在离线开发过程中我们仍然需要调用paas平台提供的公用的技术组件或服务。如果我们要实现分布式计算,可能需要使用到相应的分布式计算组件和服务,要实现分布式存储,那么我们对于存储功能的开发就需要遵从标准的分布式存储API,如果要实现集中的统一数据库存储,可能又需要使用到统一的数据库即服务等。

在开发态就遵循标准的服务和接口,只有这样才能给在运行态实现云本身的各种基础能力。

业务支撑和运营支撑

在这里借鉴电信BSS和OSS的概念,业务支撑面对业务系统和用户,运营支撑则只面对业务系统。业务支撑的重点是围绕能力的订购,使用,计费等。而运营支撑的重点是资源,围绕资源的管理,资源的分配和使用。

电信运营Boss系统的思路完全适用于云平台的服务提供和运营。可以讲对于paas云平台的能力需要通过云管理平台实现和业务系统和用户的交互。这里面包括了服务全生命周期管理和资源全生命周期管理,包括了从开发-》测试-》部署-》运行-》监控的全过程的管理。

产品平台和技术平台

当我们谈PaaS平台的时候PaaS平台更多的是一个技术平台,即提供技术层面的基础设施和资源能力,这些能力来源于对IaaS层基础设施和资源能力的进一步封装。提供计算,存储,缓存,集成,消息等各种技术能力。

而谈及产品平台的时候,产品平台本身一方面是对技术平台的进一步封装,一方面又是对已有的各种业务系统应用中涉及平台和复用部分的最大化抽取和下沉。如我们说的基于技术平台可以有一个完整的产品平台,包括了开发产品的标准底层应用架构,开发框架和环境,主数据,4A,流程等公用基础设施的下沉等。这些都是产品平台需要考虑的内容。当这些产品平台集中化和云化后,就转化为PaaS平台的一个重要部分。

产品平台一般是一个离线的开发框架和环境,但是又集成的在线的各种服务能力,将已有的各种资源,服务和能力进行了集成,形成了一个没有业务组件或功能的空框架。

0

阅读 收藏 转载 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有