使用 WebSphere CloudBurst 实现定制,第 1 部分: 创建可高度定制的私有云

本系列文章将探索 IBM® WebSphere® CloudBurst™ 中的定制特性以及如何使用它们,本文是第 1 部分。第 2 部分将描述如何使用私有 WebSphere 云,如何以及何时使用 WebSphere CloudBurst 定制特性,以及这些功能如何配合组织的职能发挥作用。 本文来自于 IBM WebSphere Developer Technical Journal

Dustin Amrhein, 软件工程师, WSO2 Inc

Dustin Amrhein 是在德克萨斯州奥斯汀工作的一位 IBM 软件工程师。他是一位 WebSphere Application Server Web Services 组件开发人员。


developerWorks 专家作者

Ruth Willenborg, 高级技术人员, EMC

Ruth Willenborg 是 IBM 的 WebSphere Technology Institute 的高级技术人员。Ruth 目前从事 WebSphere Cloud 计算和虚拟设备项目,并且是新兴的 IBM WebSphere CloudBurst Appliance 的技术推广者。在从事虚拟化和设备项目之前,Ruth 曾是 WebSphere Performance 团队的经理,负责 WebSphere Application Server 性能分析、性能基准检验和性能工具开发。Ruth 在 IBM 具有 20 多年的软件开发经验。她是 Performance Analysis for Java Web Sites (Addison-Wesley,2002 年)一书的合著者。


developerWorks 投稿作者

2009 年 9 月 24 日

简介

由于每个执行服务器都是独特的,所以很快出现了这样一种概念:一次性安装和配置映像,然后再进行反复复制和重用。这种独特性可能体现在不同的密码和 IP 地址这样小的方面上,或者体现在不同的软件和应用程序需求等大的方面上。要获得映像承诺的效率,必须慎重地考虑将哪些内容放到映像中,以及要构建多少映像。

本文概述了 IBM WebSphere CloudBurst Appliance 中的映像定制功能,包括映像创建、映像扩展、脚本包、模式定义和映像维护。本系列后续文章将提供每种技术的深入示例。


创建定制的私有云

云计算空间

您是否希望随时获取最新的云计算消息?是否想得到云计算相关的技术知识?developerWorks 云计算空间就是这样一个云计算信息资源的门户,在这里您可以了解来自 IBM 和业界其他媒体的最新信息,并且得到如何在云环境中使用 IBM 软件的入门知识。

IBM 在 Amazon EC2 云计算环境中提供了 DB2、Informix、Lotus、WebSphere 等方面的 AMI 镜像资源。您只需按使用量支付少量费用,就可以使用到云上的数据、门户、Web 内容管理、情景应用等服务。欢迎您随时访问 云计算空间,获取更多信息。

IBM 的新 WebSphere CloudBurst Appliance 帮助您在一个私有云中创建、部署和管理 WebSphere 虚拟系统。该设备配备了 IBM WebSphere Application Server Hypervisor Edition,后者是根据 Open Virtualization Format (OVF) 标准实现的 WebSphere Application Server 的虚拟映像包。这个包包括操作系统、WebSphere Application Server 产品组合和二进制文件、IBM HTTP Server、所有内容都是预安装的,并且可以直接部署到管理程序(hypervisor)中。

图 1. WebSphere Application Server Hypervisor Edition
图 1. WebSphere Application Server Hypervisor Edition

通过在 WebSphere Application Server Hypervisor Edition 之上进行构建,WebSphere CloudBurst 通过使用模式交付了更高层次的价值。这些模式代表有意义的 WebSphere 配置,并且也可以通过 WebSphere CloudBurst 交付给私有云中的一组管理程序。图 2 描述了 WebSphere CloudBurst 中附带的 WebSphere Cluster 模式。

图 2. WebSphere CloudBurst Cluster 模式
图 2. WebSphere CloudBurst Cluster 模式

企业可以通过预配置的虚拟映像和 WebSphere CloudBurst 中附带的模式实现 WebSphere CloudBurst 的开箱即用的价值。然而,许多用户(如果不是全部的话)将需要在自己的私有云中使用定制环境。使用 WebSphere CloudBurst,您可以为所有级别的私有 WebSphere 云提供定制,包括操作系统、中间件和应用程序层。这些定制层类似于企业中常见的职责分离,其中分别由不同的团队负责操作系统环境、中间件环境和应用程序。在这些定制功能中,WebSphere CloudBurst 提供了一个用户访问模型,该模型映射到这些不同的定制路径,进而映射到组织中的角色。

WebSphere CloudBurst 通过支持您定制它的虚拟映像和模式来提供这些定制功能。定制的类型和频率会对定制执行的位置产生影响。

图 3 解释了不同定制需求以及如何在 WebSphere CloudBurst 中实现这些定制 —— 同时保留传统的组织职能。虽然 WebSphere CloudBurst 提供了存储和重用定制的机制,但是它也意识到某些定制(比如虚拟机密码)对于每次部署都是唯一的,因此需要在每次部署时执行。

图 3. 定制概览
图 3. 定制概览

定制映像

如前所述,WebSphere Application Server Hypervisor Edition 是一个预安装到操作系统的虚拟映像,与它一同安装的还包括 WebSphere Application Server 二进制文件和配置文件,以及 IBM HTTP Server。当通过 WebSphere CloudBurst 将 WebSphere 模式分配给私有云时,虚拟映像中的操作系统和所选组件将被激活,以便创建虚拟机实例。尽管虚拟映像包提供了极为快速的中间件环境创建,但是它不一定为您提供了所需的操作系统功能。

为了能够通过安装定制软件来定制您的操作系统环境,WebSphere CloudBurst 引入了扩展虚拟机的概念。您可以扩展 WebSphere Application Server Hypervisor Edition 虚拟映像的其中之一,对映像做出修改,然后重新捕获修改后的映像。

图 4. 扩展虚拟映像
图 4. 扩展虚拟映像

重新捕获的映像反映了您做出的修改,并被存储在 WebSphere CloudBurst 目录中。存储在该目录后,可以将此映像作为使用 WebSphere CloudBurst Appliance 构建的所有模式的基础。许多不同类型的 WebSphere 配置都可以使用这个虚拟映像作为基础;这意味着无论使用何种中间件拓扑结构或应用程序,底层操作系统和其中安装的软件对于运行在私有云的每个 WebSphere Application Server 虚拟系统来说都是完全相同的。此外,您只需要执行一次定制,然后就可以根据需要将虚拟映像重用于任意数量的模式。

定制环境模式

当然,有些定制更加适合 WebSphere Application Server 中间件环境。同样,WebSphere CloudBurst 在一个模式中表示 WebSphere 中间件环境;这些模式实际上代表了具有所需配置的 WebSphere Application Server 拓扑结构。使用 WebSphere CloudBurst Pattern Editor,您可以与一个图形界面进行交互,从而创建 WebSphere Application Server 中间件环境,其中包括拓扑结构的定义、定制设置和用户应用程序。

例如,假设团队中负责维护 WebSphere Application Server 环境的成员希望创建一个 WebSphere 集群模式,该模式包含一个部署管理器、4 个定制节点和两个 IBM HTTP Server。使用 Pattern Editor ,可以对本文前面提到的集群模式进行克隆,并根据需要修改拓扑结构。

图 5. 定制 WebSphere 拓扑结构
图 5. 定制 WebSphere 拓扑结构

除了将拓扑结构设置作为模式的一部分保存外,WebSphere Application Server 环境的其他属性(比如消息传递、持久性和安全设置)都可以作为模式的一部分进行配置和保存。例如,可以创建一个标准的 WebSphere Application Server 环境模式,其中包含内存会话持久性和全局安全性。每个 WebSphere 组件上的属性,比如虚拟机大小和虚拟 CPU 数量,都可以进行标准化并保存为模式的一部分。通过以模式的形式捕捉所有这些定制,您就一定能获得一致的、可重复的中间件环境。

定制的应用程序模式

除了可以在 Pattern Editor 中配置拓扑结构更改和设置外,WebSphere CloudBurst 还使您能够更改任何其他 WebSphere Application Server 配置。例如,负责企业应用程序的团队成员可以使用前面的定制的集群模式,并向配置添加一个应用程序。

图 6. 脚本包定制
图 6. 脚本包定制

对于需要安装应用程序、在服务器上配置跟踪设置或者除 Pattern Editor 功能以外还需调优 WebSphere Application Server 环境的定制,可以使用脚本包。这些组件包含了某些可执行文件(以及这些可执行文件所需的工件),这些可执行文件将在完成模式部署后由 WebSphere CloudBurst 调用。使用脚本包,您可以实现几乎任何类型的定制。

定制的部署

某些定制对于所有 WebSphere Application Server 部署来说都具有独特性。通常不适合在一个模式中捕捉这些特定的值,因为您最终会为几乎每个部署创建和保存模式。WebSphere CloudBurst 使您能够修改还未被固定为模式的一部分的属性。这包括虚拟机大小、WebSphere Application Server cell 和节点名、虚拟系统的密码,以及脚本包的定制属性。

有一点虽然看上去不太重要,但是仍然值得一提,那就是您只能够修改没有被固定到模式中的属性。对于那些知道如何构建中间件环境并了解组织资源可用性的开发人员,这一限制使他们能够通过将这种智慧 “固定” 到配置中来增强模式。之后,需要此类环境的用户可以使用 WebSphere CloudBurst 的自服务功能来部署这些模式,同时可以确保 WebSphere 虚拟机在私有云中能够最优化地运行。


何时定制,定制什么

要有效地利用虚拟映像和 WebSphere CloudBurst 模式的定制选项,重要的是要理解何时使用这些定制。有些场景更适合扩展虚拟映像,而另一些则可以从模式定制中获益。

扩展虚拟映像可以在多种不同场景中使用。考虑这样一个情形:企业中的每个操作系统实例都需要安装特殊的杀毒软件。这个场景最适合应用映像扩展,因为通过在映像级别进行定制,您只需要应用一次定制,然后就可以在私有云中的每一个 WebSphere 虚拟系统中使用它。

中间件环境的常见依赖关系是另一个适合通过映像扩展实现定制的场景。设想一下,您的所有中间件部署几乎都利用了一个通用 JDBC 驱动器。这个驱动器可以安装到一个扩展后的映像中,而这个定制过的映像反过来可以用来构建将被部署到私有云的 WebSphere Application Server 模式。对映像进行定制可以确保每个环境在部署后不需要执行额外安装步骤就可以利用 JDBC 驱动器。

不管是使用 Pattern Editor 或是脚本包,定制模式最适合应用于那些对于不同中间件实例都各不相同的修改。例如,生产 WebSphere Application Server 集群模式可能要比测试中使用的类似环境包含更多的定制节点。这些不同的拓扑结构可以针对每次使用进行一次性构造,然后以模式的形式保存起来,从而实现在需要时跨不同团队的重用。测试部门可以从中受益,因为在 WebSphere Application Server 虚拟系统创建后,他们的所有应用程序将自动安装,这都是通过 WebSphere CloudBurst 定制功能实现的。这些环境中的修改也没有以前那么难以发觉。比如,拓扑结构相同的模式的唯一区别在于,测试组使用的模式包含能够在部署后启用跟踪的定制。

表 1. WebSphere CloudBurst 定制矩阵
技巧描述优点由 WebSphere CloudBurst 使用定制示例
映像直接对映像二进制文件作出修改,并且只执行一次 速度快、减少代码开发和测试 操作系统和 WebSphere Application Server监视代理,JDBC 驱动器
模式和脚本自动化完成一次修改,然后针对每次部署执行对不同的应用程序和参数重用映像 高级模式选项(消息传递、HTTP 会话、安全性)部署应用程序、执行 WebSphere 配置
部署时间参数针对每个环境唯一地应用更改 对每个虚拟机应用唯一的值 密码、WebSphere cell 和节点名应用程序数据库名

上面的表 1 对 WebSphere CloudBurst Appliance 当前包含的各种定制技巧进行了总结,并给出了示例。总体而言,如果私有 WebSphere 云中的每一个环境都需要进行定制,那么映像扩展可能是最好的解决方法。这是因为定制可以只执行一次,然后被用于您所创建的每一个 WebSphere 模式中,这样可以确保每个虚拟系统都包含定制。如果定制特定于在其中部署了环境的上下文 —— 例如,安装某些应用程序 —— 那么最好通过编辑模式来实现定制。


基于角色的授权

提供可以与组织职能相互配合的定制功能仅仅是 WebSphere CloudBurst 定制的一部分内容。另一部分是提供一种机制来定义那些系统权限与组织职能匹配的用户。通过使用 WebSphere CloudBurst 中的管理功能,用户和用户组可以被定义并关联到一组权限。WebSphere CloudBurst 控制台包括以下权限:

  • 部署模式
  • 创建模式
  • 管理目录
  • 管理云
  • 管理设备

这些不同的权限可以很好地与 WebSphere CloudBurst 中的各种定制场景以及 IT 团队的职责相对应。例如,负责操作系统基础设施的团队需要获得管理 WebSphere CloudBurst 目录的许可,这样才有权创建和存储定制后的虚拟映像。另一方面,负责应用程序和中间件的团队将需要获得创建和部署模式的许可。这将使他们能够为私有云创建量身定制的 WebSphere Application Server 中间件环境。

用户和用户组可以拥有 WebSphere CloudBurst 中定义的一个(所有指定用户都能够部署模式)或所有权限。将用户与多个权限关联起来的能力表明:IT 员工不再仅仅负责单一一组任务。

基于角色的权限可以与针对每个映像、模式、虚拟系统等的细粒度访问控制结合起来。这种级别的访问控制提供了额外的管理控制、特别适合支持多个组织。比如,一个常见的 WebSphere Application Server 环境模式可以会跨多个业务线共享;然而,一旦添加了特定应用程序,这些模式可以进行访问控制,这样只有合适的业务线可以查看和部署模式。图 7 展示了这个功能如何在 WebSphere CloudBurst 中工作。

图 7. 模式访问控制
图 7. 模式访问控制

在左侧,对 WebSphere 集群(开发)模式的访问权限被授予 Developer 用户。在右侧,可以看到针对 Developer 用户的模式视图。注意,Developer 用户只能看到 WebSphere 集群(开发)模式,因为这是该类用户唯一可以访问的模式。

通过同时交付基于角色的权限和细粒度访问控制,WebSphere CloudBurst 为您提供了一个健壮的控制组件系统,它们构成了您的 WebSphere 私有云。


结束语

WebSphere CloudBurst Appliance 在创建私有 WebSphere 云环境方面提供了两个优点。通过包含 WebSphere Application Server Hypervisor Edition 和预配置的 WebSphere 模式(构建自虚拟映像),您可以将相关 WebSphere 中间件环境立即部署到私有云中。此外,定制功能使您能够实现几乎任何类型的 WebSphere Application Server 环境。不管是安装定制软件、修改 WebSphere 拓扑结构,还是安装定制应用程序,WebSphere CloudBurst 都提供了生成可高度定制的 WebSphere 环境的能力,并将它们以定制虚拟映像或定制 WebSphere 模式的形式存储到设备中,以最大程度地实现重用。

本系列后续文章将提供有关使用 WebSphere CloudBurst Appliance 实现各种定制的细节。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


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


忘记密码?
更改您的密码

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

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

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

选择您的昵称



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

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

标有星(*)号的字段是必填字段。

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

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

 


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


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere, Web development, Information Management
ArticleID=429167
ArticleTitle=使用 WebSphere CloudBurst 实现定制,第 1 部分: 创建可高度定制的私有云
publish-date=09242009