跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

IBM 基于 WebSphere 的 PaaS 云计算解决方案

周 晖, WebSphere 架构师, IBM
周晖:从 1999 年加入 IBM 以来,一直从事 IBM 软件技术支持工作,有 10 多年的软件经验。作为 WebSphere 架构师,对 SOA 以及 SOA 项目的架构设计、项目实施深有兴趣,有多个 SOA 项目实施经验。主要工作是协助客户把 SOA 从概念产品落地到项目的实施。
董 淳, IBM 软件部华东区 WebSphere 技术经理, IBM
董淳,1999 年加入 IBM 公司软件部,从事软件方案的支持工作。参加过多个大型项目。主要技术领域包括 WAS/BPM/SOA 等。
唐 彬, Senior architect & Project Manager, 安徽移动
唐彬,从 2008 年加入安徽移动以来,一直从事信息化新架构规划和建设工作,对 SOA、云计算等新技术架构的规划和相关项目实施深有兴趣并有较丰富的实施经验。

简介: 目前云计算是 IT 行业的热门话题,在主要行业已经开始有应用尝试,但是大多数是 IaaS(Infrastructure as a Service) 云计算应用。主要是硬件、存储、网络、操作系统的虚拟化和相应的虚拟化资源的供应、生命周期管理、使用监控等。而本文要介绍的是 PaaS (Platform as a Service) 的云计算解决方案 , 是中间件作为 Platform 进行虚拟化,提供虚拟化的服务。目前 IBM 提供了越来越多的中间件虚拟化的平台。除了纵向的各中间件虚拟化平台,如 BPM 虚拟化平台、ESB 虚拟化平台,WAS 应用虚拟化平台,PaaS 还需要横向公用功能,如中间件虚拟资源的动态调配,中间件虚拟环境的快速映像打包、部署、更新等。本文希望通过对 IBM 中间件 PaaS 整体解决方案的介绍,让读者对 IBM 的 PaaS 解决方案有较为全面的认识。

发布日期: 2011 年 6 月 09 日
级别: 初级
访问情况 : 7108 次浏览
评论: 


前言

云计算主要有 3 种模式,IaaS(Infrastructure as a Service),PaaS(Platform as a Service ) 和 SaaS(Software as a Service)。目前在公有云中多是 IaaS 和 SaaS 模式,当然也有 PaaS,比如以平台方式提供的电子商务云 (Commerce as a Service)、BPM 云 (BPM as a Service)。而在私有云中多是 IaaS 和 PaaS。作为 IaaS 模式的私有云,已经有大量的应用,作为 PaaS 的私有云实施案例并不多,本文简要介绍 IBM 在 PaaS 模式云计算方面的解决方案。


IaaS 和 PaaS 的区别

IaaS 云计算模式是对 IT 基础设施,也即 IT 硬件资源和操作系统的虚拟化,如对 CPU 资源、内存资源、网络资源、存储资源等进行虚拟化。把虚拟化的资源做成资源池,然后把资源池的多种资源组装成虚拟机供应给 IT 应用。它的目标是给客户提供一个虚拟机,可以是安装好了操作系统的虚拟机,或者是无操作系统的虚拟裸机,这个虚拟机的资源有 CPU、内存、存储或是硬盘、网络等。同时 IaaS 负责虚拟机的供应过程、运行状态的监控、使用计量等。但 IaaS 并不关心也不理解虚拟机上要运行什么系统软件、什么应用软件。

PaaS,平台作为服务,此 Platform 一般是指中间件平台,在某种意义上也称为共享中间件,和 IaaS 类似,PaaS 的主要技术是应用平台虚拟化。PaaS 抽象的核心是应用平台,它是对应用平台进行抽象,是把应用平台中间件如 J2EE 应用服务器、BPM、ESB、Portal Server 等进行虚拟化,把应用平台作为一个资源池进行管理分配,形成共享平台或是应用平台资源池。

如下图是 IaaS 和 PaaS 的区别:


表 1. IaaS 和 PaaS 的对比区别
从基础设施角度 (IaaS)   共享的中间件 (PaaS)
抽象核心 : 虚拟机.抽象核心 : 应用
云提供 :云提供 :
• 计算硬件• 运行时的中间件,如 数据库、ESB 连接、BPM、门户
• 网络• 安全性
• 存储• 缓存
• 虚拟机的资源状态监控• 路由
• 虚拟机的使用计量• 存储
• 虚拟机的运行状态监控• 供应
IaaS 并不理解也不关心虚拟机上运行的软件PaaS 是一个应用的视角,应用可以动态的部署在虚拟平台上,并动态的运行。

一方面,PaaS 要提供虚拟化、池化的应用平台,如 J2EE 应用服务器平台、ESB 平台、门户平台、BPM 平台。

另外一方面,PaaS 还需要提供一些支持应用平台的通用基础服务,如上图红色标注的:安全性服务、缓存、路由、存储和供应。和 IaaS 不同,IaaS 提供的和基础设施相关的基础服务是运行状态的监控、计量等。PaaS 云计算要支持平台的安全性、中间件平台的缓存、HTTP 的请求排队路由以及平台配置的存储供应等。在 PaaS 平台,应用平台集中整合,就存在海量并发访问的问题,缓存是一个关键技术,数据缓存和跨机复制提供了海量访问的支持。而 PaaS 平台对 HTTP 请求的路由,可以实现应用平台的资源优化。PaaS 应用平台的快速供应可以实现大量中间件平台的快速部署,而部署的配置需要存储。

如下,是 PaaS 模式云计算通用平台要解决的相关问题:

  • 降低中间件部署和管理的复杂性和管理技巧
    • 通过标准化模式,实现自动化部署、快速部署
    • 实现以应用为中心的部署模式
  • 进一步降低运营成本
    • 标准化和自动化的 QoS: 高可用性、弹性伸缩等
    • 自动化的应用生命周期管理(维护 / 打补丁 / 升级)
    • 资源自动调配 ( 应用平台的调配、应用平台中应用的调配 )
    • 应用请求路由
    • 应用服务器的监控 ( 资源、反应时间 )
  • 增加重用性
    • 对中间件服务来说共享服务模型

对提供一个最终的应用环境而言,PaaS 实现了 IaaS 遗留下来的工作,如下图,


图 1. PaaS 对 IaaS 的功能补充
图 1. PaaS 对 IaaS 的功能补充

在 IaaS 模式下,提供了一个虚拟机环境,但是为了提供应用环境,还需要做大量的工作,如部署中间件,配置如中间件的集群和高可用性的拓扑结构,包括后期的管理、配置和维护等。而 PaaS 则是提供了一个完整的、开箱即用的中间件平台,可以简单快速的配置中间件的拓扑结构 ( 集群和 HA 等 ),快速的供应一个中间件平台,用户直接部署应用即可用于开发、测试或是生产上线,甚至在此中间件平台上已经部署好了应用,启动就可以运行。对 PaaS 的用户而言,他关注的是应用本身的功能。而不必花太多精力在应用的部署、非功能的要求,如 HA、伸缩性、集群等。

作为生产系统而言,云计算往往会提供成百上千台的虚拟机,在这些虚拟机上安装、部署应用平台很容易出错,而且工作量巨大,通过 PaaS 来简化应用平台的部署、拓扑配置、应用平台的维护等工作,是 PaaS 的核心功能之一。


PaaS 的业务价值

从最简单的意义来看,云计算通过硬件的虚拟和池化,把硬件的颗粒度变的更小,来提高硬件资源的使用效率,降低直接的硬件投资成本,另外一方面通过虚拟化,简化计算环境的管理,减少维护工作量和人力成本。实际上,除了提高硬件的使用效率,PaaS 模式的云计算还可以带来更多的业务价值,如下图为云计算和目前现有非云计算模式的成本对比:


图 2. 云计算的价值成本对比
图 2. 云计算的价值成本对比

我们从下往上看,通过云计算,首先是降低硬件成本,充分挖潜硬件的潜力。其次,降低运维成本,随着 IT 的建设,IT 系统越来越复杂,也越来越庞大,运维成本在整体 IT 开销中的比例在逐步增长。需要的运维人员越来越多,采用的运维基础软件和硬件设施也在增加。IaaS 云计算对异构的硬件资源虚拟化,直接供应虚拟机,可以简化对异构的硬件和操作系统层面的运维,而 PaaS 的云计算可以进一步简化底层硬件的管理,直接提供中间件平台,而且在中间件系统软件管理、中间件系统安装、中间件系统补丁等方面简化运维,降低运维成本。IaaS 通过虚拟化充分利用硬件资源,减少硬件资源投入,也减少硬件功耗,也降低了电力成本。而 PaaS 可以通过对应用平台的调度优化硬件平台资源,减少 CPU/ 内存的空闲时间,进一步提高硬件的利用效率,在 IaaS 的基础上再进一步减少硬件功耗,降低电力成本。

通过 IaaS 的硬件虚拟化和 PaaS 的应用平台资源动态调配,可以提高应用资源的利用效率,减少硬件资源的需求,从而也减少硬件上运行软件的投资成本。

在云计算环境下,通过硬件的虚拟化,供应出很多虚拟机,而大量的虚拟机上均需要部署应用平台系统软件和应用软件,软件部署的工作量相对来说比较大。通过 PaaS 的软件快速部署平台,把几天或是几周的应用平台供应时间缩短到几小时,可以降低软件部署的工作量。

从以上的对比图可以看出,通过 IaaS 和 PaaS 的云计算模式,可以在硬件成本、运维成本、电力成本、软件成本和软件部署成本上,节省开支。把更多的资金投入到新业务功能的开发。


基于 WebSphere 的 PaaS 解决方案

IBM 基于 WebSphere 产品家族的中间件推出了 PaaS 模式的云计算解决方案。此方案分为两层,一层是 WebSphere 中间件的虚拟机版本,也即直接支持 Hypervisor( 也称作虚拟机监控器 virtual machine monitor,VMM) 的中间件版本,另外一层是 PaaS 的通用平台层,如下图:


图 3. IBM PaaS 的功能架构
图 3. IBM PaaS 的功能架构

目前,IBM 已经推出了很多 WebSphere 产品的 HVE(Hypervisor Edition),涵盖了几乎所有的 WebSphere 主流产品,包括 :WebSphere Application Server, WebSphere Process Server, WebSphere Portal Server, WebSphere Message Broker, WebSphere Business Monitor 等。

在 PaaS 的通用平台层,提供对 PaaS 中间件平台的横向支持,使之成为完整 PaaS 解决方案的支撑,包括 5 大部分:

虚拟机映像打包和拓扑管理:基于 WebSphere Cloudburst Appliance 简称 (WCA),把操作系统、操作系统补丁、应用平台软件、补丁、应用软件等一起打包为一个虚拟机映像,并可以直接把映像灌入虚拟机并启动运行。对于复杂的系统环境,如包括数据库、HTTP Server、应用服务器、Deploy Manager 等,可以把所有的这些软件和相关配置,以及拓扑关系一起配置在映像中。

应用平台虚拟化是基于 IBM WebSphere Virtual Enterprise( 简称 WVE),对各种基于应用平台(如 WAS,WPS 等)进行虚拟化、池化,可以动态的起停应用平台和平台上的应用,根据策略或是各应用的负荷,动态的调配应用平台资源。达到资源最优化的利用。

云计算的安全服务是基于 IBM 安全网关产品 WebSphere DataPower,提供用户 HTTP 访问的安全性,如用户论证、访问控制、HTTP 安全性、HTTP 防攻击、Web Service 安全性、传输的安全性等。除了以上基本的安全功能,还有以下安全功能包括:

安全检查 (Methods, Header, POST Body, Query String, XML Load),

访问速度控制,

SLM,

Session 管理

Cookie 控制 , 包括签名、加密以及与 IP 绑定

安全攻击防护,如 SQL Injection

云计算和企业应用系统的集成是基于 IBM CastIron,提供了公有云计算系统和企业现有应用系统的集成解决方案,比如 SaaS 的公共云和企业现有的 CRM\ERP 集成,同步数据和业务信息。

云计算 XTP 是基于 IBM WebSphere eXtreme Scale( 简称 WXS),支持 XTP( 极限计算 ),也即海量并发用户访问情况下的大规模集群。普通 J2EE 集群当集群的节点数超过 10 个的时候,由于 Session 复制的限制,性能下降的很快,无法达到线性扩展。而 XTP 则把 session 信息、业务对象等在成百上千的服务器上进行统一缓存、管理,使得这些数据的扩展可以近乎线性,可以支持节点超过 1000 个的集群,这使得应用系统只需要访问 WXS 业务对象,无需访问数据库,数据库的内容可以预先载入 WXS,由 WXS 把数据库的业务数据缓存在内存的 Java 对象,或是把 WXS 的业务对象持久化到数据库中。所有的 HTTP 请求访问的业务逻辑基本都是在内存中处理,从而实现大规模的集群并发处理海量请求。

如下图,为 PaaS 云计算的整体逻辑架构:


图 4. IBM PaaS 解决方案的逻辑架构
图 4. IBM PaaS 解决方案的逻辑架构

以 B/S 三层架构应用的 PaaS 模式云计算为例,用户通过 HTTP 或是 Web Service 的方式进入 PaaS 的平台应用,首先用户的所有访问请求经过安全网关,也即基于 DataPower 的“云计算安全服务”,对用户的请求实施用户论证、鉴权、防攻击等安全措施,可以把安全系统从应用中剥离出来,交由安全网关处理,简化 PaaS 的应用开发。经过安全验证后,通过的用户 HTTP( 或 Web Service) 请求进入基于 WVE 的应用平台虚拟化系统,对所有的请求根据优先级进行分类、排队,路由到合适的应用平台,虚拟化平台同时管理各个应用平台和应用的起停。

虚拟机映像打包平台是非运行时的系统平台,把应用平台的操作系统、中间件、应用软件等打包为映像文件,并上传到虚拟机。

而云计算 XTP 平台则缓存各个应用中间件的 session 信息,或是各个应用的数据。对于 WAS 而言,Session 的复制管理可以由云计算的 XTP 平台接管,从而达到更高的复制效率。

用户访问现有的一些公有云服务,如 SalesForce、淘宝等,而 CastIron 可以直接访问公有云服务或是通过云计算的安全服务再访问公有云服务,同时访问企业内现有应用系统,在二者之间做集成。


PaaS 的纵向中间件 Hypervisor 平台

目前 IaaS 模式的云计算处于从尝试到推广应用的阶段。业界也有些 PaaS 模式的云计算采用了比较初级的解决方案,在 IaaS 模式的基础上部署 J2EE 应用服务器和应用软件,按照一定的应用部署模板库部署 Java 应用,组成了最初级的 PaaS 模式的云计算。

相对于非云计算环境的基于中间件的应用,比如 B/S 应用、SOA 应用等,云计算的中间件应用系统的特点是应用平台池化,这样应用也要部署在更多的虚拟机上,就带来了应用平台软件部署的工作量,不但带来大量的人工工作量,而且由于人工工作量过多,容易带来配置、部署的错误,而一个小的配置部署错误都会导致运行系统的问题。据统计,30% 的系统问题来源于配置的不一致,这类问题往往难以预测和捕获,而且往往是在开发测试环境迁移到生产环节中时发生的。

解决这个问题的关键是标准化部署,实现可重用的、基于模式的部署,其原理如下图:


图 5. 虚拟机映像打包原理
图 5. 虚拟机映像打包原理

把操作系统、中间件和应用进行映像打包,这个映像就是最终的云计算虚拟机的硬盘映像,虚拟机启动此硬盘映像就可运行。根据不同的应用需求和部署拓扑,打包出不同的映像。把最终运行系统的安装、配置工作在映像打包中实现。

IBM 针对此原理设计出各个不同中间件的虚拟机版本,也即 HVE(Hypervisor Edition), 如下图:


图 6. PaaS 纵向平台的 HVE 版本软件
图 6. PaaS 纵向平台的 HVE 版本软件

如下图,为 WAS 的 HVE 版本组成,WAS HVE 是根据 Open Virtualization Format (OVF) 标准打包的 WebSphere Application Server 的虚拟映像包。这个映像包包括操作系统、WebSphere Application Server 产品组合和二进制文件、IBM HTTP Server,所有内容都是预安装的,不是安装介质,而是已经安装好的系统环境,包括了安装过程中创建的 Profiles,这个映像可以直接部署到 VMM 管理程序(hypervisor)中。在虚拟映像实例化部署到虚拟机之前,可以对 WAS 参数、操作系统、网络等参数进行配置。


图 7. WAS 的 OVF 映像打包
图 7. WAS 的 OVF 映像打包

如下图为 WPS 的 HVE 版本组成:


图 8. WPS 的 OVF 映像打包
图 8. WPS 的 OVF 映像打包

映像包中除了定制的操作系统和 WPS,还包括 DB2。操作系统为 SuSe Linux,是一个根据 WPS 的系统特性已经定制化过的 SuSe Linux,对 SuSe Linux 进行了参数设置和一些定制化,使得操作系统更能满足 WPS 的需要。

这个版本直接上传到 VMware ESX Server,启动虚拟机即可运行。但是这只是单虚拟机模式,如果需要的系统不是此模式,则需要做大量配置工作,比如 Profile 的配置、WPS 参数配置、拓扑配置、和 DB2 的连接配置等。为了简化这些复杂的配置,WPS HVE 提供了几种模式,除了上面提到的单虚拟机模式,还有单服务器模式、多虚拟机模式,也可以自定义模式。

为了进一步简化应用平台的安装、配置和部署,IBM 提供了基于 WCA 的解决方案,如后面章节的介绍。

其他的中间件 HVE 版本和 WAS/WPS HVE 版本类似,专为 PaaS 模式的云计算虚拟机重新定制的中间件介质,包括操作系统、已安装的中间件和相应的配套软件。其目的在于简化云计算环境下的安装,同时优化运行时的环境,包括操作系统的环境,以达到更优的运行效果。


PaaS 的横向公用基础平台之虚拟机映像打包和拓扑管理

PaaS 模式的云计算,仅仅有各个中间件的 HVE 版本是不够的,还需要公用支撑基础设施,才能形成完整的 PaaS 解决方案,如下图:


图 9. PaaS 的横向公用基础平台
图 9. PaaS 的横向公用基础平台

其中,最通用的是 3 大平台:虚拟机映像打包和拓扑管理,应用平台虚拟化和云计算的安全服务。而云计算和企业应用系统的集成、云计算 XTP 是在特定场景下才是必须的。我们重点介绍前面 2 大公用平台。

前面已经介绍了,IBM 提供了多个中间件的 HVE 版本,是符合 OVF 标准、带有优化的操作系统和已经安装的中间件的虚拟映像包,但是由于最终运行的实际配置要求千差万别,往往都需要对虚拟映像包重新配置,包括拓扑结构、要选用的部件、中间件参数、应用程序参数等,都需要配置。如果每个虚拟机都去做类似的配置,工作量很大,而且手工操作容易出错,于是 IBM 提供了基于 WCA 的映像打包解决方案,可以辅助实现以上的从原始映像包到最终可以实际运行的映像包的配置。为了简化配置,WCA 提供了模式的方式来定制映像包的配置,以便充分重用配置,把一些配置通过模式的方式固化,同时提供一些配置参数进行调整和实例化。对于很多中间件,WCA 已经提供了一些模式,从简单的单虚拟机,到复杂的多实例集群,这些模式代表了 IBM 十多年丰富的 WebSphere 中间件的部署经验演化而来的深厚知识和最佳实践,可以直接使用。

如下图表示了从 HVE 到最终运行系统所需要做的定制工作,而这些定制工作都可以在 WCA 中实现:


图 10. WCA 的映像配置步骤
图 10. WCA 的映像配置步骤

以 WAS HVE 为例,前面三步:安装和配置操作系统、安装 WAS 和补丁、创建 Profiles 都是 WAS HVE 的映像包已经完成的工作。

第四步,安装定制软件 ( 应用 ),也称为扩展映像,这一步,可以在现有映像的基础上再安装其他软件,而这些被安装的软件可以固化在映像包中,以后这个映像包无论部署在哪里都将包含这些扩展的软件。

第 5、6、7 步 ( 配置拓扑、定做配置、安装应用 ) 是 WCA 的模式定制步骤,添加、激活部件、配置节点、拓扑、配置集群、安装应用等,同时也对模式中的每个部件进行配置,对于配置的各个属性值,可以锁定,也可以不锁定,不锁定属性等后面的部署时再配置。

第 8、9、10 步 (WCA 自动设置的参数、用户设置的参数和用户特定配置 ),就属于部署时的配置,如自动灌入 IP 地址,对 WCA 模式中未锁定参数进行配置等。这些参数设置后,WCA 就可以部署虚拟映像包到 VMM,然后即可启动运行,也可以调度定时运行。

通过定制模式的方式,一方面把可重用的配置尽可能的在模式中设置好,并固化这些配置,另外一方面,把每个应用平台特定的配置尽量减少并推迟到最后,以减少最终实例化的配置工作量。

通过 WCA,可以极大减少端到端的部署时间,一般可以控制在一小时以内,另外,通过 WCA 把虚拟映像推送到虚拟化 VMM 中,无论是第一次推送,还是有缓存下的第二次 ( 第 N 次 ) 推送,都大大的节省时间。

详细的 WCA 和 WCA 模式定制请参考下面系列文章:

“使用 WebSphere CloudBurst 实现定制,第 2 部分 : 使用 WebSphere CloudBurst 定制 WebSphere 中间件环境”

http://www.ibm.com/developerworks/cn/websphere/techjournal/0909_amrhein/0909_amrhein.html


PaaS 的横向公用基础平台之应用平台虚拟化

PaaS 模式的云计算,虽然提供了多种中间件虚拟机 HVE 版本,但是虚拟化的还是虚拟机,如果要对各种 HVE 或是非 HVE 的中间件平台进行虚拟化,需要一个核心功能,对中间件平台进行虚拟化 ( 池化 ),把中间件平台也作为一个部署应用的资源,这就要求能对中间件平台的进行启动、停止,能对中间件平台上的应用进行启动、停止,能对中间件平台上的应用软件重新部署、撤销部署等,也即应用并不是一定要部署在某个特定的应用平台上,而是能通过虚拟化平台来自动的部署和调整,这才能实现应用平台虚拟化,通过应用和平台彻底分离而达到虚拟化的目的。而 IBM 在此原理之上,提供了基于 WVE(WebSphere Virtual Enterprise) 的应用平台虚拟化的功能,并扩展了更丰富的功能,如下图,为 WVE 的系统原理架构:


图 11. WVE 的原理架构图
图 11. WVE 的原理架构图

WVE 的一个关键部件是 ODR( 按需路由器 ),它包括服务策略分类、ARFM( 请求流的自动化管理器 )、路由和负荷均衡决策 (DWLM),WVE 另外两个关键部件是决策器和应用程序布置控制器 (APC--- 应用平台虚拟化的关键部件 )。

所有的请求进入 WVE,首先分类器把请求按服务策略的优先级分类,分别放到各优先级的队列中。然后流量控制器 ARFM 根据各队列的优先级和当前的流量选择请求,把它们放在队列中并决定什么时候把它们分派给后端应用服务器。如果现有的资源不足以同时处理所有请求,这个排队过程会根据管理员定义的优先级,让高优先级的请求优先得到服务。再由 DWLM( 路由和负载平衡器 ) 把选出的请求发送给后台 Server 处理。在 ARFM 中也会进行 CPU 过载保护,通过排队的方式控制流量,确保 CPU 的使用率没有超过阀值,把请求分配给合适的虚拟应用平台。

在 WVE 的决策器会根据应用对资源的需求策略,判断某个应用是否过载,比如反应时间慢,流量 ( 并发访问量 ) 超过策略设定,而决定是否要把此应用再部署到其他 CPU 利用率较低的应用平台,然后启动此应用运行,从而分担负荷,使得反应时间在策略要求以内。而 APC 负责执行以上的应用重新部署、启动、停止等。在策略的执行过程中,可以预见,经过一段时间后,各个应用平台上运行的应用将和初始时运行的应用部署大大不同,因为经过 APC 的多次应用的动态部署和起停,最初的应用部署将发生多次变化,系统提供的只是一个中间件的虚拟平台,应用的部署是在整个中间件平台池中进行的,根据负荷和策略会随时变化。

除了以上的应用平台虚拟化之外,WVE 还提供了以下高级功能:

运行状况监控和健康度管理,可以监控运行着各中间件 server 的运行状况:检查时效、工作负载、内存使用情况、响应时间,以及堵塞情况。

高可用的 Deployment Manager。可运行多个 Deployment Manager 来获得高可用性,为管理功能消除了单点失败。

应用程序版本升级管理 , 可管理一个 WAS 单元中一个应用程序的多个版本,能够在不中断应用程序的运行的情况下更新其版本;能够在需要时回退到应用程序以前的版本;还可以让部分用户在验证模式下检验新版本应用的功能。

IBM WebSphere Extended Deployment V6.1 概述

http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0712_liujing/


企业应用和公有云集成解决方案

目前,业界有大量的公有云服务,国外如 SalesForce,Google,Paypal 等,国内有淘宝、百度等。比如淘宝,客户在某淘宝商城 ( 或某卖家 ) 下了订单,而此淘宝店有自己的 IT 系统,包括订单、财务,那如何把在淘宝的订单实时同步到自己的订单系统,把支付宝的客户支付信息实时同步到自己的财务系统,IBM 提供了简单易行的解决方案— CastIron:


图 12. CastIron 连接架构
图 12. CastIron 连接架构

CastIron 提供了一个图形化的配置界面,来实现公有云和企业应用系统的集成。在和公有云集成上,CastIron 提供了一系列的 TIPS( 预定制的模板 ),比如 IBM 正在和淘宝合作开发连接淘宝的 TIPs,这个 TIPs 包括访问淘宝的安全性验证,HTTP 数据分析,通过这个 TIPS 可以获取淘宝制定商家的订单信息、支付信息、产品目录信息等等。除了淘宝,CastIron 提供了业界主要公有云的 TIPs。

同时,CastIron 提供了和企业应用系统集成的 TIPs, 如 SAP,Oracle 套件,和数据库连接的 TIPs,通过这些 TIPs 可以直接访问以上的企业应用系统。

由于公有云的 TIPs 和企业应用 TIPs 提供的数据格式不一样,CastIron 又提供了一个图形化的配置界面来做二者数据格式转换。

随着未来中国公有云建设越来越多,公有云和公有云客户的企业应用系统的集成需要也越来越多,CastIron 可以支持这种需求,另外,CastIron 也在针对国内的公有云做更多的 TIPs,以实现连接的便捷性。


PaaS 的一个私有云典型应用场景

只要是现有的中间件应用系统,如果系统采用的服务器数量比较多,或是采用中间件平台实例的数量比较多,都存在 PaaS 私有云模式的需求,通过 PaaS 把中间件平台虚拟化 ( 池化 ),动态的优化资源,基于 OVF 映像的标准化、快速部署,就可以提高运行效率、提升运营质量。由于目前完整的 PaaS 私有云解决方案实施的案例不多,在此抛砖引玉,描述一个典型而比较完整的 PaaS 的私有云应用场景。

某公司为客户提供的核心业务,都是基于 IT 系统 ( 比如银行、电信 )。由于客户众多,近千万的客户,业务系统多是基于 J2EE 架构的应用,应用庞杂,采用了很多服务器,多是基于不同的 Unix,如 AIX,HP-UX 和 Solaris,而应用服务器也有 WebSphere Application Server, Weblogic Application Server、Tomcat、JBOSS 等。目前的核心业务系统支撑的是全省统一的业务,而各个地市有些本地化的特定需求需要满足,出于系统的可用性和复杂度考虑,各个地市的本地化需求不在省核心业务系统中实现,而是在单独的硬件、单独的软件上实现,作为独立的系统而存在。考虑到一个省有 10 多个地市,需要 10 多份本地业务系统。如果按照通常的方式,需要为每个地市配置应用服务器、数据库服务器、Web 服务器等,并做集群。这就需要大量的服务器,而且由于业务量并不大,服务器的利用率不高。

如果采用 PaaS 的私有云模式,应用中间件以 J2EE 应用服务器为主,通过 PaaS 提供虚拟化的中间件应用平台给各个地市,由于地市的业务量并不大,不需要独立的服务器来支持其本地化业务,所有的硬件服务器虚拟化,虚拟机上运行的 WAS/WLS 中间件,并对 WAS/WLS 中间件平台做虚拟化,使得全省各个地市都来共用这些中间件虚拟平台。在根据各个地市的业务容量规划虚拟机的配置和数量之后,部署上线,由虚拟化平台接管所有 HTTP 请求的路由和应用平台池的动态分配。据测算,这种模式可以节省 60% 以上的硬件投资,降低 50% 以上的运维工作量。

如下图为系统原理架构图:

我们在现有利旧的机器上,或是新购的机器上,部署 IaaS 的硬件虚拟机管理平台,对存储、内存、CPU 等虚拟化,并供应出虚拟机。对虚拟机进行逻辑划分,一类是各个地市的业务平台,每个地市根据业务需求和业务容量初步分配虚拟机,第二类是公用应用平台,如 BPM 和 ESB,无需为每个地市专门分配 BPM 和 ESB 平台,把 BPM 和 ESB 也做成 PaaS 的服务,也即各个地市业务公用的 BPM 和 ESB 引擎,可以进一步节省硬件资源并简化管理。


图 13. 私有 PaaS 模式云的场景样例
图 13. 私有 PaaS 模式云的场景样例

通过虚拟机映像打包和拓扑管理,把各个机器的操作系统、应用平台和应用软件打包为虚拟映像,并把映像灌入各个虚拟机。

所以用户的的 HTTP 请求进入应用虚拟平台,进行分类、排队和路由,分配到合适的虚拟机的应用平台进行处理。而虚拟平台本身也可以在虚拟机上运行。


PaaS 解决方案的未来发展展望

在企业 IT 系统建设中,对于中、大型企业而言,私有云是个发展方向,私有云带来的业务价值非常明显,通过 IaaS 私有云模式的硬件细颗粒度化和整合,降低 IT 的硬件投资、运维成本,使得 IT 的投资能够更多的花费在业务需求的实现上。

在目前 IaaS 的私有云技术已经很成熟,而且应用的越来越广泛,逐步走向业务价值更大的 PaaS 模式的私有云。对于绝大多数企业的 IT 系统而言,业务应用是最核心 IT 系统,而大多数业务应用都是基于中间件实现的,因此,基于中间件平台的 PaaS 模式云计算是未来应用平台的发展方向。

PaaS 模式目前处于基本成熟阶段,已经有越来越多的成功应用案例。从解决方案来看,相对非云计算模式的应用平台,PaaS 首先要解决应用平台虚拟化的问题,其次要解决 PaaS 云计算模式下的部署复杂、配置工作量大的问题。目前这两个问题已经得到很好的解决了,完全可以搭建起体现业务价值的 PaaS 模式的云计算。

随着 PaaS 模式的解决方案应用越来越广泛和往纵深的方向发展,以下几个方向会有更大的发展:

  1. PaaS 云计算的安全性,在没有 PaaS 模式的云计算之前的应用平台,一般是一个应用一个平台,或是几个应用共享一个平台,应用平台没有整合,应用的安全在是各自实现。而在 PaaS 模式下,应用平台得到整合,应用的安全性也将得到进一步的整合,把应用的安全性独立出来,纳入平台的安全性。PaaS 模式的云计算将在应用和应用平台的安全性整合方面有更大的发展,包括应用和安全性的映射。除了应用的安全性,平台本身的安全性要求比以前更高,包括访问控制、审计性等,还有防攻击,应用隔离、平台隔离等。
  2. PaaS 运行时的管理。PaaS 的云计算是应用平台的整合,有一定数量的虚拟机和应用平台,如何可视化的管理应用平台,提供应用平台的监控、管理的图示化的工具,包括运行时的状态、资源消耗、SLA 指标实时采集等,目前已经有一定的解决方案,但是会往更专业监控管理的方向发展。
  3. 根据 PaaS 私有云规模的大小,分别定制横向基础公用平台。大型系列和小型 PaaS 系统对横向基础公用平台的要求不一样,对于大型系统,每个基础公用平台都是专业软件或系统。对于小规模的 PaaS 私有云,可以提供高度定制的完整解决方案。

小结

本文从介绍了 IaaS 和 PaaS 模式云计算的区别入手,让读者对 PaaS 及其 PaaS 的业务价值有更深的认识。再从从概念和架构的角度,介绍 IBM 基于 WebSphere 产品家族的 PaaS 模式的私有云解决方案,分为纵向各中间件 HVE 平台,和横向的公用基础设施平台。并从一个典型的应用场景来说明 PaaS 是如何应用,及解决方案是如何架构的。最后,分析业界 PaaS 的现状,并展望 PaaS 的发现方向。通过本文,读者可以对 PaaS 以及 IBM PaaS 模式的私有云解决方案有个初步的了解。


参考资料

学习

获得产品和技术

讨论

作者简介

周晖:从 1999 年加入 IBM 以来,一直从事 IBM 软件技术支持工作,有 10 多年的软件经验。作为 WebSphere 架构师,对 SOA 以及 SOA 项目的架构设计、项目实施深有兴趣,有多个 SOA 项目实施经验。主要工作是协助客户把 SOA 从概念产品落地到项目的实施。

董淳,1999 年加入 IBM 公司软件部,从事软件方案的支持工作。参加过多个大型项目。主要技术领域包括 WAS/BPM/SOA 等。

唐彬,从 2008 年加入安徽移动以来,一直从事信息化新架构规划和建设工作,对 SOA、云计算等新技术架构的规划和相关项目实施深有兴趣并有较丰富的实施经验。

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 使用条款

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

(长度在 3 至 31 个字符之间)


单击提交则表示您同意developerWorks 的条款和条件。 使用条款.

 


为本文评分

评论

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, Cloud computing
ArticleID=678908
ArticleTitle=IBM 基于 WebSphere 的 PaaS 云计算解决方案
publish-date=06092011
author1-email=zhuish@cn.ibm.com
author1-email-cc=
author2-email=dongchun@cn.ibm.com
author2-email-cc=
author3-email=tangbin@ahmobile.com
author3-email-cc=