指间(蒋建华)--天行健,君子当自强不息

        专注于微软产品及.Net技术的blog
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

一个开发测试环境的搭建方案

Posted on 2011-03-25 17:50  蒋建华  阅读(1095)  评论(0编辑  收藏  举报

概述

背景

由于XXX管理系统的生产环境的数据库是使用AIX+DB2 8.2搭建的,Web的应用程序宿主在IIS上,其物理架构如下:

1 当前生产环境架构

说明:AIXAdvanced Interactive eXecutive (AIX) IBM专有UNIX操作系统的名称,主要用于小型机。

存在问题

目前客户提供的资料有生产环境的源代码、AIX系统下DB2数据库备份文件。在现有的情况下,客户(XXX信息中心)无法提供开发环境的数据库服务器,也不允许(实际上我们也不能)直接连接到生产环境的数据库进行开发,也不能直接使用AIX下的数据库备份文件进行还原(还原到windows 环境下),而我们的开发环境(.Net应用程序的开发环境)是使用Windows环境,那么如何搭建开发环境的数据库就成为了搭建开发环境的关键问题。

解决方法

鉴于以上的生产、开发环境的不同,既要快速的搭建一个可以进行Bug修改的开发环境,又要在一定程度上模拟用户的生产环境,现提出三种解决方案:第一种使用windows server+DB2进行开发和测试;第二种:使用IBM服务器,虚拟化以后,安装AIX系统和DB2;第三种使用其它环境的UNIX系统,如SCO UNIX系统,UNIX+DB2的开发环境。各个方案的详细介绍及优缺点见下节所述。

详细方案介绍

Windows Server+DB2

硬件要求:普通PC一台,配置在酷睿II 2.0以上,内存4G以上,建议4G或更大,硬盘空间120G以上,建议大于320G,安装windows Server 2003及以上服务器操作系统。

优缺点:此方案优缺点均十分明显,优点是可以快速、方便的搭建开发测试环境,在windows 环境下对数据库的开发技术更熟悉一些;其次在费用上是最经济的。缺点上来说,开发测试环境和生产环境的差异最大,如果生产数据库的结构和开发测试数据库结构在修改Bug的过程中没有发生变化的话,这种解决方案是最优的,但是潜在的风险是一旦生产、开发数据库结构发生了变化,同步两种平台下的数据库结构就成为另一个问题。

价格:3000~5000

IBM Server+虚拟化+DB2

硬件要求:IBM X3400/X3500 M2系列服务器一台,配置参数:CPU Intel Xeon E5504,频率2G,内存4G,标配硬盘146G,支持的操作系统:UNIXwindows Server系统。

优缺点:此方案的优点在于能够最大限度的模拟生产环境,在server上安装UNIX系统以后,使用虚拟化工具,创建AIX虚拟机,在虚拟机上安装DB2;其价格也是最高的。此方案的缺点在于:需要技术支持对测试环境进行配置。

价格:15000~20000

SCO UNIX+DB2

硬件要求:普通PC一台,配置在酷睿II 2.0以上,内存4G以上,建议4G或更大,硬盘空间120G以上,建议大于320G,安装SCO UNIX操作系统。

优缺点:此方案的优点在于能够在一定程度上模拟生产环境,但是目前搭建这样的一个开发环境需要一些时间来熟悉SCO UNIX+DB2的安装配置和数据库还原,需要技术支持,同时费用相对也比较低廉。其缺点是需要SCO UNIX下的技术支持。

价格:3000~5000

应用建议

在应用上,建议先使用方案一,快速搭建一个开发测试的环境,将来有时间和条件的情况下利用现有的软硬件资源搭建方案三所描述的测试环境。这个过程如下图所示:

 

2 开发环境物理架构

实际上,如果没有发生大的数据库结构变化的话,直接使用windows 环境下的DB2完全可以模拟生产环境,毕竟AIX只是安装了DB2的数据库而已。即时将来数据结构发生了变化,只要在开发环境导出相关SQL语句部署到生产环境就行了。