UML软件工程组织

 

 

面向企业开发测试中心的自动化资源部署

2008-07-24 作者:郭蓉 来源:天极

 

前言:

随着市场竞争的日渐激烈,银行、电信等大型企业都以不断为用户提供新业务和提升原有业务作为吸引客户的重要手段。在业务系统升级和新业务上线周期不断缩短的今天,承担着应用系统投产运行前测试工作的企业开发测试中心,就成为保障安全生产,提升企业竞争力的关键部门。如何适应不断变化的测试环境,提高效率,减少投入,是企业开发测试中心面临的巨大挑战。

本文通过逐步分析企业测试中心系统快速部署的具体要求、实现系统资源部署的步骤和方法,介绍了IBM Tivoli Provisioning Manager自动化部署的功能以及面向数据中心等大型、复杂IT环境的RDP系统部署解决方案。

1. 企业开发测试中心系统资源部署需求

1.1测试中心工作内容和架构环境

作为企业生产系统升级和新系统投产运行前系统测试工作的承担者,企业开发测试中心基于开放平台的日常测试任务包括以下部分:

  • 业务系统的功能测试
  • 业务系统的压力测试
  • 业务系统的安全测试
  • 业务平台的综合测试
  • 生产系统维护/升级的验证测试
  • IT 平台技术、产品的预研、测试、评估

实现以上测试功能,测试中心的开放系统平台基础架构通常包括以下部分:

  • 网络系统;
  • 服务器系统(包括操作系统);
  • 存储系统;
  • 中间件和基础软件;
  • 其他

1.2 测试中心系统环境的特点

由于各类测试的目的不同,其测试系统的业务模拟要求也不同。这就要求测试中心IT环境必须涵盖企业生产系统的类型,同时又有区别于生产系统的特点:

匹配生产环境,系统型号多样:

测试中心的IT系统,为了保障对企业各类已有或新业务系统的测试,必须能够匹配企业新旧业务系统生产环境,具有异构,复杂,多样的特点。

资源利用率高,要求资源共享:

为了保障业务系统的长期稳定运行,生产环境往往会有一定的资源冗余。从资金投入和利用时限等角度出发,测试中心的IT资源都要求被重复、充分利用和共享。主要体现在服务器和存储资源上。

系统配置变化快:

业务系统测试通常是短期阶段性的工作。在一个测试任务完成后,测试的IT设备将被收回,重新部署进行新的测试。频繁的系统配置变换是其特点之一。

其他特点:

包括服务要求高;安全、灾备等管理要求低于生产系统;管理手段和人员少于同等级别的生产环境等。

1.3 测试中心系统资源部署的需求

不同于生产环境,测试环境的系统配置随着测试的变化快速更替。企业测试中心往往需要耗费大量的人力物力进行测试系统的准备和搭建,反复进行服务器,存储,网络环境,操作系统和应用软件的安装,配置和恢复等。据业界咨询专家估计,19%的数据中心服务器维护成本来自“系统初始化和软件部署”。而测试中心具有比通常的数据中心更为频繁的“系统初始化和软件部署”的需求,其维护成本也就更高。同时手工操作依赖于操作者的技术水平和现场发挥,难以规范。操作不熟练,或者误操作,就会导致测试环境搭建工作的延误,影响被测业务系统的及时上线,造成企业不必要的损失和测试中心服务满意度的下降。

如何提高测试环境的准备效率,为企业节约人力物力,避免人为操作可能的失误,保障测试工作的如期顺利进行,是企业测试中心测试环境部署的关键需求。而自动化的实现测试环境的部署,将极大的提高测试中心的IT服务水平。越来越多的企业已经意识到了自动实现测试环境部署的迫切性和对测试中心未来发展的意义。采用专业的资源部署管理工具,实现基于策略的系统环境自动化部署,已成为企业选择的方向。

2. 自动化资源部署实现分析

2.1资源部署的过程

资源部署(Provisioning),是指通过安装和配置将一种资源从原始状态变为可用状态的过程。对于企业开发测试中心来讲,这种资源可以是硬件资源(服务器),也可以是软件资源(中间件或数据库),还可以是网络资源和存储。测试中心要实现自动化的系统资源部署,首先要规划系统资源部署的过程,确定流程先后关系,各个步骤的操作;然后将手动的过程脚本化,定制为自动化的流程;最后调试实现自动化的系统资源部署。

首先我们细化一下系统资源部署的过程,分为六个步骤:

1. 服务器和存储准备:包括服务器的硬件组装,加电;存储资源的连接和划分,通常通过存储设备提供商或第三方的的存储管理工具实现存储划分和配置。

2. 启动,操作系统引导准备:控制一台没有操作系统的服务器,一般通过操作系统提供商的系统管理工具实现。

3. 安装操作系统:操作系统安装,也可以通过调用镜像管理工具来实现。

4. 网络配置:根据实际情况,选择将服务器配置到测试环境的网络

5. 安装应用系统:部署应用软件,如应用服务器,数据库等。

6. 配置并启动应用软件:启动,测试,配置并最终使应用软件达到测试环境准备的要求,包括配置网络负载均衡等。

将服务器系统资源的部署的这些步骤,通过自动化的管理工具串联起来,就成为自动化的系统资源部署。

2.2自动化的资源部署

分析系统资源部署的6个步骤,要通过系统资源自动化部署工具实现对不同厂商设备,应用软件的部署和配置,就必须通过脚本调用厂商管理配置工具,并且确保这些调用过程可以以静默的方式实现,否则大量的人机交互将导致部署过程依赖于现场人工操作,失去了快速、自动部署的意义。

确认整个部署过程可以通过自动化的脚本调用,基于工作流来实现后,我们可以提出系统资源快速部署的方案架构,如下图:

图1 系统资源快速部署方案架构

其中,工作流引擎和数据模型是我们在系统部署管理工具中涉及的功能模块,通过将具体的软硬件甚至逻辑概念定义在数据模型中,管理工具可以标识并在工作流中调度这些组件资产,实现各类管理功能。工作流引擎是调用和触发工作流,实现部署自动化的核心机制,自动将不同种类的脚本流程整合至一个集中、强健、可重复使用的工作流数据库中。

通常测试中心对业务系统的测试都只是涉及到被测系统软件,对硬件的要求仅限于性能和容量,所以我们在此不对硬件资源部署做详细的描述。同时由于应用系统软件数量庞杂,本文将主要关注于操作系统层面的自动化资源部署。

2.3操作系统管理工具

专用操作系统管理工具

考虑操作系统的自动部署,各个操作系统提供商针对其客户可能存在的大批量操作系统安装配置的需求,分别提供了其操作系统专用的系统资源管理工具。

UNIX操作系统的提供商,IBM,HP和SUN,在提供工作站,服务器甚至大型并行超级计算机硬件设备和操作系统的同时,为了支持如大型测试中心这样拥有大量该厂商设备的企业用户对系统和应用软件进行安装、升级和维护会耗费大量资源的情况,也开发了通过网络进行系统安装的管理工具。提供一种简便、有效的方式,减少停机时间,支持多台服务器并发操作。其中IBM对于AIX操作系统提供了NIM网络安装管理工具;HP对于HPUX操作系统提供了Ignite-UX管理工具;JumpStart 技术是 Sun 基于网络的 Solaris OS 安装机制。

对于Linux操作系统,Redhat开创了kickstart技术实现操作系统部署功能。

开放系统资源管理工具

在企业测试中心这样拥有大量设备,异构复杂的IT环境中,测试人员面临不断变化的测试,往往需要涉及不同种类,不同时期的操作系统。在测试人员有限的情况下,借助于专用操作系统管理工具,大大简化了部署工作。但测试工作人员仍然需要熟悉这些分立的管理工具。面对这种情况,一套能够集成管理各类操作系统,为测试人员提供统一的管理界面,屏蔽底层环境异构性的系统资源管理工具就成为企业测试中心等异构环境用户的首选。

IBM Tivoli Provisioning Manager产品家族就提供了这样的开放系统资源管理工具。支持对Windows,主流UNIX和Linux各类平台的统一管理,包括操作系统部署,镜像管理,应用软件安装和配置等功能,甚至可以对服务器的软硬件资产进行扫描,配合企业IT资产管理和补丁分发等系统管理的重要功能。

3. 通过TPM实现开放平台系统环境远程快速部署

3.1 TPM(Tivoli Provisioning Manager)

IBM Tivoli Provisioning Manager 是IBM Tivoli产品家族企业自动化管理解决方案的核心产品,可自动完成原来需要手工完成的服务器、操作系统、中间件、应用程序、存储器和网络设备的供应和配置任务。

TPM通过工作流自动完成系统资源配置和部署的过程。它使用预先构建的"行业最佳实践"工作流来提供对主要供应商产品的控制和配置。这些工作流支持来自主要供应商,比如IBM、SUN、HP、Cisco、Mware Citrix、Siebel和 Microsoft的产品。这些工作流可以自动化数据中心处理,实现安装、配置和部署服务器、操作系统、中间件、应用程序、存储器和网络设备。用户也可定制工作流来实现自己的"最佳实践"和过程。然后将这些过程以一致无错的方式来执行。从而TPM实现单击按钮操作配置和部署服务器(从完全裸机到完整产品)。

3.2 TPM集成专用操作系统管理工具

TPM可以集成业界主流的操作系统管理工具,通过统一的管理界面,统一模式的工作流实现各类操作系统的快速、远程部署和应用软件安装,配置。

图2 TPM系统部署方案实现结构

如上图所示,TPM采用了Rembo Auto-Deploy技术实现Windows和Linux操作系统的管理。它可以与客户已有的系统管理产品(如Microsoft SMS)结合使用,进行如Microsoft Vista的升级迁移。对于Unix操作系统,TPM提供了基于最佳实践经验的工作流,通过集成IBM NIM,HP Ignite和SUN Jumpstart管理工具,实现UNIX服务器的远程网络引导,以及操作系统资源的部署,镜像抓取等操作。

3.3 TPM系统自动化部署实践-RDP解决方案

通过TPM可以集成实现主流操作系统以及应用软件的部署和配置。作为TPM系统自动化部署的实践,IBM为大型企业客户提供了新一代企业数据中心资源部署解决方案-RDP解决方案。

RDP 全名Request Driven Provisioning,是IBM开发的基于SOA 构架的web 应用,提供灵活方便的端到端的数据中心/测试中心部署解决方案。RDP提供了服务交付全部生命周期中所需的完整服务,例如服务创建,订购,监控,计量,报告,计费,SLA管理和赔付等。

RDP方案架构

RDP 用户通过一个管理门户网站,提出在某一个时间段内资源使用的申请:包括硬件需求(CPU、内存,服务器)和软件需求(需要安装的操作系统和应用软件);数据中心管理员在确认申请后对其进行批复。如果申请被批准,RDP 系统生成在申请的时间段使用所申请的资源的一份合同,并在申请的使用时间开始前,自动进行资源的分配和部署,报告部署信息。用户在合同期内使用所申请的资源,在合同到期后,RDP 会撤销分配的资源并将其释放。RDP采用虚拟化的资源池概念优化资源利用率,支持资源申请的处理过程。

图3 RDP方案架构

RDP通过提供统一的门户实现企业IT资源的优化部署,定义了企业内部IT服务提供者和IT服务使用者之间的IT资源获取流程,明确了IT服务提供者可以提供的基础架构组件,以及双方的责任区分。以SLA的方式支持对企业内部IT服务提供者的服务评估机制。为企业内部IT服务的提供,实现,评估提供了标准,成为面向服务的IT管理方式。

RDP解决方案实现企业数据中心/测试中心的IT部署/供应,其实现核心就是TPM的系统资源部署功能。

RDP采用IBM Websphere Portal Server作为统一门户,采用IBM DB2作为数据库系统,IBM Tivoli Directory Server为LDAP服务器。通过TPM集成各厂商专用系统管理工具,进行IT资源的部署管理。为用户提供统一的虚拟化的资源管理,屏蔽实际环境的异构性和复杂性。

RDP优化企业数据中心/测试中心系统部署

RDP解决方案促进企业更加便利的定义IT服务,更有效,经济的管理企业数据中心,测试中心等复杂的IT架构。可以为企业带来如下好处:

  • 改进发布新业务/服务的流程,以更快的时间上线使用
  • 降低IT管理的复杂性
  • 通过虚拟化的资源池和预定服务,最大化资源利用率
  • 降低服务交付成本

RDP解决方案以其先进的IT管理理念和良好的架构设计,成熟的产品支持,成为IT虚拟化和面向服务发展的趋势选择。也是TPM快速远程系统部署的最佳实践。

结束语:

本文通过分析大型企业开发测试中心的业务特点和系统资源管理的需求,讨论了系统资源自动化部署的过程,方法和业界常用工具。针对专用工具数量多,操作风格不同,适用范围小的问题,提出并介绍了集成专用工具的开放系统资源集中管理工具-IBM Tivoli Provisioning Manager。并简单介绍了TPM实现操作系统自动化部署的方法和实践。

 

组织简介 | 联系我们 |   Copyright 2002 ®  UML软件工程组织 京ICP备10020922号

京公海网安备110108001071号