内容


权威支持

在生产阶段进行测试为何是一种常见的、昂贵的不良技术实践

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 权威支持

敬请期待该系列的后续内容。

此内容是该系列的一部分:权威支持

敬请期待该系列的后续内容。

在每一篇专栏文章中,权威支持均会对可用于 WebSphere ® 产品的资源、工具以及其他 IBM® Technical Support 元素进行讨论,讨论主题还将包括可进一步增强 IBM 支持和体验的新技术和新概念。

最新快报

按照惯例,我们将首先介绍整个 WebSphere 社区都会感兴趣的新项目:

  • 您准备好参加 Impact 2011 了吗?? 加入 Impact 2011:2010 年 4 月 10-15,内华达州拉斯维加斯,威尼斯和宫殿酒店。在2 月 18 日之前注册,享受一个 提前注册优惠。阅读 参加 Impact 的 5 个最大理由(PDF,115KB),体验这个商界领袖和 IT 领袖齐聚一堂、探讨如何实现更大的业务灵活性的会议。
  • 本年初,IBM Support Portal 荣获 Association of Support Professionals 评选的 2010 年度十佳支持网站 称号。您尝试访问过 IBM Support Portal 吗?IBM Support Portal 目前涵盖所有 IBM 软件产品,取代了所有软件产品的支持页面。请参阅权威支持的 新 IBM Support Portal 简介 了解详细信息。
  • 查阅 IBM Conferences & Events 页面,获取即将举行的会议列表。
  • 在 developerWorks 上的 IBM Electronic Support Community 博客 学习、共享并联网。
  • websphereusergroup.org 查看新的 Global WebSphere Community。定制您的个人 GWC 页面上的内容,连接与您志趣相投的其他 “WebSphere 人”。
  • WebSphere Technical Exchange 将在 2 月安排一些令人兴奋的网络广播。请查看此站点了解详细信息,也可以通过 Facebook 成为一名粉丝!
  • IBM Support Assistant 4.1.2 现在可用。 IBM Support Assistant 4.1.2 提供了几个缺陷修复程序和它的快速数据收集工具 ISA Lite 的一个新版本。这些新特性现在 ISA Lite 中可用:
    • 一旦您的库存在 ISA Lite 中被收集好,您就可以在一个浏览器中轻松查看库存。
    • ISA Lite 使用 Ant 1.8,利用可用的最新技术。
    • 由于以控制台模式运行的每个菜单选项都有一个与之关联的编号,因此您可以更轻松地查看菜单选项。
    • 可以在多个不同的场景中暂停一个响应文件的处理:
      • 暂停响应处理一个已定义的时段(例如,以便收集行踪)。
      • 暂停响应处理,直到收到一个控制台响应(例如,以便支持重新创建一个问题,这是许多插件脚本中的一个步骤)。
    • ISA Lite 现在拥有一个更灵活的可扩展格式(对响应文件使用 “名称-值” 对),这支持:
      • 用户在响应文件中添加注释。
      • 响应文件包含覆盖所有相关问题的 “名称-值” 对。
      • 用户手动轻松编辑响应文件,针对不同的系统进行定制。
    • ISA Lite 版本信息在启动时自动写到控制台和日志;这些信息可以在 Help 菜单下找到,也可以通过将 -version 传递到启动脚本来查找。
    • 可以运行 ISA Lite 并指定 -help 选项来查看关于如何使用该工具的信息。
    • 当选中的文件传输失败时,可以选择一个替代文件传输选项。
    • 一个可视指示符显示收集成功完成还是失败(当收集完成且没有出现错误时,进度条为绿色;而收集失败时则为红色)。
    • 如果运行 ISA Lite 并指定 -useHome 选项,则没有文件会写入 ISA Lite 安装目录。
    • 添加了 Windows 7 和 Linux RedHat 64-bit 支持。
    • 为 Solaris 添加了库存收集支持。

继续关注 与支持相关的各个网站 以及本专栏,了解我们所遇到的其他工具的相关新闻。

现在,让我们言归正传......

新年新方法

自从 权威支持 开始,这个专栏就已经提供了几个主要计划和工具,它们已经(并且还将)在 IBM WebSphere 支持社区内发展。在新的一年,我们将采用一种稍微不同的方法。除了有助于增强您的支持和自助服务体验的工具和资源的相关文章外,我们还将提供几篇植根于我们的面向客户的角色的经验的文章。这里,我们首先从我们遇到的一个最常见的 “最差实践” 开始:不充分的测试环境。

基础架构不良实践

IT 行业非常关注建立有助于管理企业级项目相关的复杂性的设计模式和实践。IBM 通过遵循这样的行业最佳实践而获益。但是,对积极因素的强调意味着用户经常不能意识到使 IT 基础架构不稳定的细节,直到他们亲自经历一次服务级停用。

“网站停用” 对于任何在线业务来说都是一场噩梦。除了可能的收入损失外,一次停用可能会影响供应商的信誉,有可能为竞争者打开大门。许多技术公司在选择产品时将稳定性作为最重要的因素,尽管许多公司并不总是能够清晰地理解产品停用的实际成本。

最差实践(有时也称为 “不良实践”)正是那些使 IT 基础架构不稳定并导致业务级停用的因素。任何两个业务级停用都不相同,但它们之间通常共享一些常见因素。 下面是一些最常见、最昂贵的因素:

  • 测试环境不同于生产环境。
  • 通信中断。
  • 无视应用程序状态。
  • 直接进入生产环节的更改。
  • 不充足的容量或可伸缩性计划。
  • 不完整或不充足的产品知识。
  • 不完整或过时的架构计划。
  • 模糊的生产流量配置文件。
  • 不充足的负载或压力测试。
  • 不完整的更改记录。
  • 没有迁移计划。

组织基本上因为同样原因而执行这些不良实践:认为执行最佳实践成本高或没有必要,而偷工减料将节约时间和金钱。在现实中,组织可能会在短期内实现节约,但有一些内在风险必然会导致业务级停用和远远超出任何短期节约的长期损失。

大多数 IBM WebSphere Application Server 用户都拥有某些类型的测试环境。但是,由于成本因素,许多这些环境在技术上都不等同于生产环境。您可能能够想象到,我们遇到过由于缺乏独立的测试环境而导致产品停用的情况。在过去几年我们对客户网站的访问过程中, 我 们记录了一些不良实践,比如上面列举的那些,前提是它们直接导致或加重一个业务级停用。我们的分析显示,对 WebSphere Application Server 用户经历影响非常严重的情况,最常见的因素是测试系统在技术上不同于生产系统,或者根本不存在测试系统。我们遇到的所有情况中有超过 35% 都属于这种情况 — 而且还有不断增长的趋势。

本文余下部分将讨论这种特定不良实践,以及这种情况为何普遍存在。

测试环境不同于生产环境

这种情况包括:

  • 测试环境太小,或者测试环境过度使用,而需要时不可用。
  • 测试硬件、网络或软件级别不同于生产环境。
  • 同一台机器或网络上的 z/OS® LPAR 没有与生产系统隔离。
  • 测试系统的配置设置不同于生产系统的设置。

我们来检查一个样例案例研究,以便更好地理解为何这是一种不良实践。

一家大银行发现,他们的 WebSphere Application Server for z/OS 环境在纳税高峰季节频繁出现产品停用,这种情况扰乱了他们客户的在线纳税业务,反过来也损害了银行与客户的关系。经过调查,IBM WebSphere SWAT Team 发现了许多导致这种情况的因素,其中大部分都是配置错误。

特别是,一个错误是该银行在一个 WebSphere Application Server 安装的基础上创建了两个应用程序服务器:一个是测试服务器,另一个是生产服务器。由于这两个应用程序服务器都在同一个基础 WebSphere Application Server 上运行,它们的日志被共享,它们的端口被配置为避免冲突,更重要的是,由于它们在同一个代码基上运行,对 Software Development Kit (SDK) 的任何升级都将扰乱这两个应用程序服务器。尽管频繁的测试系统更新是必要的,但反复扰乱生产系统却不能容忍。

认识到这个问题后,SWAT Team 督促该银行在不同的逻辑分区模式(LPAR)上分隔应用程序服务器测试和生产系统,以免它们互相影响。这种分离完成后,任何必要的后续问题确定都将非常简单。

由于一些看似实用或经济的原因,有些开发人员没有(或选择不)创建独立的测试系统。将测试和生产系统放在一起可能比较方便,或者,分配一个专用测试系统可能看起来比较浪费。您必须理解,这样的便利也是有代价的 — 生产系统停用可能会导致巨大损失。

可能的解决方案和预防意识

简言之,您应该拥有一个与您的生产系统一致的测试系统。将应用程序移到生产环境之前,您可以在独立的测试系统上执行负载和压力测试,而应用程序在生产系统中的运行将不会受到干扰。拥有独立的测试系统有很多好处,包括:

  • 阻止来自测试活动的意外生产干扰。
  • 在执行重要升级之前,提供一个平台来执行功能和完整性测试。
  • 提供一个环境来复制生产问题并测试修复程序。

创建一个测试环境的各种方法的成本、规划和风险都不相同。拥有测试应用程序环境 — 而不仅仅是应用程序 — 的能力是必不可少的。要真正从一个独立的测试环境获得好处,必须:

  • 理解测试系统是必需品而不是奢侈品。
  • 不要将生产系统用于测试目的。
  • 物理上分隔测试系统和产品系统,理想情况是,由两组不同的操作员来管理这些系统。
  • 使用不同的安全身份集来标识测试和生产系统。
  • 在测试和生产系统上安装一致的软件。最好对两个系统使用类似的硬件。
  • 在升级生产系统之前首先在测试系统上升级 WebSphere Application Server 和应用程序本身。

从现实角度看,您拥有的测试环境类型将依赖资源的可用性。从最理想的类型开始,变体包括:

  • 维护生产环境的一个准确副本。
  • 维护一个向下缩放的环境,使用一些负载生成器来复制预期负载。
  • 维护环境的一个模型或模拟。

无论何种情况,您都应该在考虑将更改添加到生产环境之前在您的测试环境中实现并测试它们。

结束语

大幅成本削减有时可能会给企业带来损失而不是节约。本文解释了拥有一个等同于生产环境的独立测试环境为何对任何成功的信息技术项目是至关重要的。在一个快速移动的世界中,无论大企业还是小企业,都很难遵循一个非常详细的流程并保持更改记录,但维护一些基于目的构建的独立环境不仅有助于更轻松地跟踪这样的更改,而且还能极大减小在生产环境中实现和使用它们的风险。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=643337
ArticleTitle=权威支持: 在生产阶段进行测试为何是一种常见的、昂贵的不良技术实践
publish-date=03282011