软件部署的试验性系统和原型系统验证完成之后,实际也宣告了软件部署的实施结束。软件部署的验证和实施的过程一般包括以下步骤:
开发试验性系统 (构建网络和硬件基础结构、安装和配置相关的软件)
根据测试计划/设计执行安装测试、功能测试、性能测试和负载测试
测试通过,开始规划原型系统
完成原型系统的网络构建、软硬件的安装和配置
数据备份或做好可以恢复(Roll-back)的准备
将数据从现有应用程序迁移到当前解决方案
根据培训规划,培训部署的管理员和用户
完成所有的部署
在这些过程中,保证系统和用户数据的不丢失是非常重要的,大家都知道,数据比系统更为重要。
部署测试的进一步说明
试验性部署测试和原型部署测试的目的是,在测试条件下尽可能确定部署是否既能满足系统要求,又可实现业务目标。理想情况下,功能性测试可以模拟各种部署方案以完成所需要执行的测试用例,并且定义相应的质量标准来衡量其符合性。负载测试衡量在峰值负载下的测量性能,通常使用一系列模拟环境和负载发生器来衡量数据吞吐量和性能。对于没有明确定义、缺乏原始数据积累的全新系统,功能性测试和负载测试尤其重要。
通过测试能够发现部署设计规范存在的问题,可能需要返回先前的部署设计阶段,重新设计或修正设计,再进行试验性部署测试,直至没有问题,才向原型系统展开部署。测试原型部署时,也可能会发现部署设计中存在问题,同样需要返回先前的部署设计阶段。如果发生这种情况,其代价相当大,并严重影响产品发布的时间表。所以,软件部署设计的评审是非常重要的,应避免任何严重设计的问题被忽视。这样,试验性部署测试和原型部署测试所发现的问题,就可以通过软硬件的配置调整就可以解决,如增加内存、参数修改等。
实际运行系统的部署,通常分阶段进行,有助于隔离、确定和解决服务可能在实际运行环境中遇到的问题,特别是对会影响大量用户的大型部署具有尤其重要的意义。分阶段部署可以先向一小部分用户部署,然后逐步扩大用户范围,直至将其部署给所有用户。分阶段部署也可这样进行:先部署一定类型的服务,然后逐步引入其余类型的服务。所以,软件实际运行系统的部署过程被分为两个重要阶段LA ( Limited Available)和GA ( General Available)。由于测试永远不可能完全模拟生产环境,并且已部署解决方案的性质会发生演进和改变,因此应继续监视部署的系统,以确定是否有需要调整、维护或修补的部分。

