使用 ISCP 实现 Rational CLM 在企业级拓扑上的自动化部署

本文介绍了如何采用基于 IBM SmartCloud Provisioning(ISCP)虚拟系统模式的自动化部署方案,实现了 Rational 协作式生命周期管产品集合在云计算环境中的快速、自动化部署。

刘 志成, 高级软件工程师, IBM

刘志成,计算机科学博士。现为 IBM Rational 系统测试部门高级软件工程师。他参与和领导了多个 Rational 产品的系统测试和性能测试。目前是 IBM Rational 全球系统测试部门自动化核心团队的一员。研究的领域和兴趣包括:性能测试,系统测试,云计算,测试自动化等。



任 党恩, 测试高级工程师, IBM

任党恩,Rational 系统及性能测试高级工程师。曾参与 WebSphere 应用服务器、嵌入式 Linux、Rational ClearQuest Rational Insight等多个系统性能测试项目以及嵌入 Linux 系统,业务流程解决方案的开发。目前专注于 Rational Jazz 系列产品的性能测试。对 Linux 开源软件,系统性能测试及调优,测试自动化有浓厚的兴趣和丰富的经验。



杨 思君, 高级软件工程师, IBM

杨思君,现为 IBM Rational 系统测试部门高级软件工程师。在测试领域有十年的测试经验。2010 年加入 IBM Rational SVT 团队。现在致力于 Rational ClearCase 产品的可靠性测试。对测试自动化有浓厚的兴趣。



2012 年 12 月 28 日

在线试用 IBM Rational 协作化生命周期管理解决方案
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

解决方案概述

IBM® SmartCloud™ Provisioning 是入门级基础架构即服务解决方案,支持快速的云部署。它可为更多高级云功能提供自动供应、并行可扩展性、集成容错和基础。这一低触点的私有云环境可提供近似零停机时间和自动恢复。IBM SmartCloud Provisioning 提供:

  • 低成本、易于使用的私有云解决方案,可在数小时内部署。
  • 可靠的不中断操作,能够自动实现软件和硬件故障容错和恢复。
  • 快速的可扩展性,以通过近乎即时地部署上百个虚拟机来满足业务发展。
  • 低触点基础架构,可帮助减少错误、提升安全性与合规性,并提升管理员生产力。

IBM Rational 协作式生命周期管理解决方案(Collaborative Lifecycle Management,略作 CLM)是一系列无缝集成工具的集合,它包括:Rational Team Concert,Rational Quality Manager 以及 Rational Requirements Composer.

由于 Rational 协作式生命周期管理解决方案涉及到多个产品,在企业环境中的部署会涉及到多台机器,比较复杂。在实验室,Rational 系统测试团队,要对企业级的部署模式进行测试。我们发现,在复杂的企业级拓扑上进行部署,反复的搭建复杂测试环境花费了大量的时间。这成为开发测试团队,采用敏捷开发方式的一个障碍。

传统方式下,用户部署一套 Rational CLM 的标准企业级拓扑一般采取手工配以部分自动化脚本的方式。这种方式下,一是比较费时间,二是对部署人员的技术要求较高,三是技术人员需要在整个部署过程中不断人工干预。

Rational 系统测试团队为了解决这个问题,采用了基于 ISCP 虚拟系统模式的自动化部署方案,实现了 Rational 协作式生命周期管产品集合在云计算环境中的快速、自动化部署。这个方案,对于测试团队,特别是系统测试团队,如何在云计算环境下进行系统测试,有借鉴意义。同时,对于 Rational 协作式生命周期管理的企业级用户,有借鉴意义。

ISCP 是个低成本、易于使用的云解决方案。可支持组织在私有云、公有云、混合云环境中安装、管理、配置和自动创建云服务。

部署 ISCP 需要的相关软硬件需求参见参考资料


Rational CLM 标准企业级拓扑

Rational 协作式生命周期管理是一个崭新的解决方案。许多企业级客户,经常会问到一个问题就是如何部署才能满足企业的业务需求,稳定并且性能良好的运行,并且符合产品未来演化的主流趋势。为此,IBM Rational 定义了参考的企业级结构,被称为标准拓扑结构,推荐给用户。一个典型的分布式企业级拓扑结构,如下图所示:

图 1. 典型的分布式企业级拓扑结构
图 1. 典型的分布式企业级拓扑结构

图 1 大图

协作式生命周期管理的各个应用,以应用为单位被部署到不同的节点上。一个单独的数据库节点来服务于所有的应用。一个单独的节点来协作式生命周期管理的报表。反向代理服务器,用来中继客户端的请求。企业的 IT 基础设施提供许可证服务器和 LDAP 认证服务器。对于 Rational CLM 标准拓扑结构的详细介绍可以参考文章:https://jazz.net/library/article/820


ISCP 与 Build Forge 比较

同样作为自动化工具,在部署 Rational CLM 企业级拓扑结构时,Build Forge 相对 ISCP 支持更多的硬件 / 操作系统平台,支持实际物理机上的自动化需求。ISCP 不能支持物理机上的自动化部署,只能支持云计算和虚拟化环境中的自动化部署。但是 ISCP 也正因为里面的 image 已经标准化,使得自动化部署受环境影响较小。整套环境在自动化部署时不容易失败,且更好维护。

本文的下面章节,将以 Rational CLM 企业级拓扑结构为例,介绍如何使用 ISCP 的虚拟系统模式来实现协作式生命周期管理在复杂企业级拓扑上的部署。


使用虚拟系统模式实现 Rational CLM 企业级拓扑上的部署

IBM® SmartCloud™ Provisioning 提供了虚拟系统模式用来描述一个拓扑结构。虚拟系统模式一般由若干虚拟部件和在这些虚拟部件上执行的一系列脚本包构成。虚拟部件由预定制的虚拟系统的映像构成(一般包括预定制的操作系统和软件中间件如 IBM Websphere 应用程序服务器等)。脚本包决定了在虚拟部件上的操作,来进行应用程序的部署。IBM® SmartCloud™ Provisioning 可以将定义好的虚拟系统模式部署到云中,从而获得虚拟模式的实例。

图 2. 虚拟模式
图 2. 虚拟模式

图 2 大图


画出你的拓扑结构

根据要实现的拓扑结构,首先在 IBM® SmartCloud™ Provisioning 中,通过拖拽的方式画出一个简图。例如,为实现上述 Rational 协作式生命周期管理企业级部署,我们需要 7 个节点分别是:Websphere 部署管理器节点,Websphere 独立节点用来部署报表应用,4 个定制节点分别部署协作式生命周期管理的应用(Jazz 团队服务应用,变更及配置管理应用,质量管理应用和需求管理应用),还有一个节点用来提供数据库服务。

图 3. 要实现的拓扑结构
图 3. 要实现的拓扑结构

有了这个简图以后,接下来就是实现脚本包,并添加到各个节点之中,来完成协作式生命周期管理部署的各个步骤。如下图所示,这些步骤通常包括,兼容性检查(如检查系统软件包已经是否更新),关闭防火墙,安装软件包(如 IBM Java 1.6 JRE),配置并启动 VNC 服务(以便可以图形方式访问部署时生成的虚拟系统实例),配置 IBM Installation Manager(以便后需步骤使用它安装 Rational 协作式生命周期管理解决方案产品),使用 IBM Installation Manager 安装产品,配置数据库客户端,启动配置向导,提供缺省配置,等等。

图 4. 配置数据库客户端,启动配置向导,提供缺省配置,等
图 4. 配置数据库客户端,启动配置向导,提供缺省配置,等

脚本包的实现

在虚拟系统模式的是实现过程中,要实现很多的脚本包,来完成各个步骤。一个脚本包,就是 Linux 系统下 shell 脚本的集合。这些脚本的目的一般为安装、配置、准备环境等等。限于篇幅,仅举一例说明如何使用 Installation Manager 安装 CLM 应用。首先使用 yum 命令,安装虚拟镜像中没有安装但是产品所依赖的库。接着使用指定的 Build ID 替换安装文件,使用 InstallationManager 命令行进行安装。这样就实现了,对不同 Build 安装的支持。

#!/bin/bash

#Prepare 32-bit libraries for installation

yum -y install openmotif.i686

yum -y install libXp.i686

cat /tmp/RRDI20_Installation/install_rrdi.xml
 |sed s/rrdi20-I20120417_1546/$RRDI_BUILD_ID/g > 
 /tmp/RRDI20_Installation/install_rrdi_buildid.xml

/opt/IBM/InstallationManager/eclipse/tools/imcl 
input /tmp/RRDI20_Installation/install_rrdi_buildid.xml 
-keyring /tmp/RRDI20_Installation/keyring –acceptLicense

写好的所有脚本包做成一个 zip 文件上传至 ISCP 系统,对于脚本中需要的全局变量,我们可以在 ISCP 中设定默认值。如下图所示:

图 5. 脚本中需要的全局变量
图 5. 脚本中需要的全局变量

图 5 大图

在这里所设置的环境变量,在系统部署之前可以根据各自的需要设定。如下图所示:

图 6. 所设置的环境变量
图 6. 所设置的环境变量

图 6 大图

脚本包的质量也决定了脚本包的适用范围。适度的变量设置能使这个脚本适用于更多模型。另外,上传的脚本包在云里也能被大家共享。在需要的时候,用户也能从云里下载脚本包并修改成适用于自己环境的版本。这种使用类型大大减少了大家重复工作的时间,缩短了开发周期。


ISCP 自动部署使用前后对比

下图是我们在实际工作中收集的数据,反应了在使用 ISCP 自动部署 Rational CLM 企业级拓扑结构前后的时间成本对比。需要说明的是,在使用 ISCP 后,数据显示需要 3 小时,但事实上这中间人工干预的时间只需要几分钟,用户仅仅需要修改几个相关变量就可以开始部署。剩下的只需等待邮件即可。整套 Rational CLM 系统部署完成后,ISCP 会自动发邮件通知。

图 7. 使用 ISCP 自动部署 Rational CLM 企业级拓扑结构前后的时间成本对比
图 7. 使用 ISCP 自动部署 Rational CLM 企业级拓扑结构前后的时间成本对比

图 7 大图


结束语

本文介绍了如何使用 IBM® SmartCloud™ Provisioning 实现 IBM Rational 协作式生命周期管理解决方案在企业级拓扑上的自动化部署。一般来说,实现自动化部署的步骤为:首先,定义要实现的拓扑;使用 ISCP 画出拓扑简图;通过实现不同功能的脚本包,不断完善拓扑简图,完成应用程序安装配置的全过程。

由于本技术的使用,IBM Rational 协作式生命周期管理解决方案在企业级复杂拓扑上的部署的时间,可以由几天缩短到几个小时。这对于系统测试团队采用敏捷的开发测试方式有重要意义。对于 IBM Rational 协作式生命周期管理解决方案的用户,探索在私有云环境中的部署亦有借鉴意义。

参考资料

学习

获得产品和技术

讨论

  • 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
  • 访问 developerWorks 社区上的 Jazz 技术小组,这里汇集了丰富的 Jazz 平台中文技术资源。 您可以通过这里了解更多关于 Jazz 平台和 Jazz 技术发展趋势的最新信息。
  • 访问 developerWorks 社区上的 敏捷开发小组,在那里您将有机会与更多的开发人员一起交流敏捷开发最佳实践。
  • 加入 IBM 软件下载与技术交流群组,参与在线交流。

条评论

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=Rational
ArticleID=853743
ArticleTitle=使用 ISCP 实现 Rational CLM 在企业级拓扑上的自动化部署
publish-date=12282012