【IT168 技术文章】
软件应用程序的开发和部署变得日益复杂,步伐越来越快,并且对于业务成功也更加关键。公司现在需要在维护24×7运行的同时构建、测试和部署新应用程序的频率越来越快。通过将软件配置管理(SCM)与用于管理分布式部署的自动化解决方案集成,公司可以更有效地生产出新版本,并且降低了成本和风险,同时加快了实现价值的时间。
本文探讨了很多机构今天面临的部署挑战,并讨论了如何在软件构建和部署之间架起一座桥梁。它还解释了使用 IBM Rational ClearCase?变更管理软件和 IBM Tivoli Configuration Manager 分布式软件能如何帮助自动化、流水化和加速软件的构建/部署过程。
目前面临的部署挑战
目前的IT部门要管理更多的系统,支持更多的位置,构建、部署和维护更多的任务关键应用程序。有些机构现在发现它们每周必须在跨多平台的全局网上重新构建和重新部署数十甚至数百的新版本软件。然而,消除与软件更新相关的业务停工的需要极为重要。这些不断增长的需要使应用程序构建/部署过程成为在竞争中获得成功的关键途径。
在很多机构中,用于将应用程序从构建阶段迁移到部署阶段的过程部分或完全是手动的,因此不但耗时还容易出错。这些低效率的过程由于业务停工和软件质量下降的原因不可避免地导致了收益的损失。手动的构建/部署过程还使得遵守规章和其他要求变得极具挑战性,主要是因为很难识别哪些应用版本运行在哪些服务器上,以及哪些软件配置被用于构建给定的已部署应用程序。
当构建/部署过程没有自动化时,必须将用于各种目标的可执行代码从构建环境中手动地复制到部署区域中,然后再手动分发。必须通过登录到每台服务器,对服务器供应和配置进行手动检查。通常使用电子数据表来跟踪哪些版本用于哪些服务器。经过防火墙的数据传输可能需要更多的手动干涉,从而损害了安全性,因为服务器端口是长时间内开放的,以便将可执行工件移动到服务器。
在手动构建/部署过程中,可能出现以下几种问题:
很难复制和修复缺陷,从而延迟了应用程序的交付并降低了质量。
很难回滚到一个应用程序的前一个版本,从而浪费了时间和开发资源。
重新开发失败,从而浪费了时间和资源,并且负面影响了客户的满意度。
部署过程未归档,从而降低了个体的生产力,并增加了多余任务。
即使在管理软件部署时有自动化的解决方案,其中的很多问题仍然存在,尤其是与缺陷修复和回滚相关的问题。这些问题仍然存在是因为已部署应用程序的管理和用于构建它们的软件配置的管理之间没有自动链接。结果就是阻碍、延迟或者损害了应用程序的部署,并且需要更多的时间来诊断和解决。
在构建和部署之间架起一座桥梁
连续地交付软件更新是一个多步骤、迭代的过程。该过程中的第一步是构建和测试应用程序。接着,该应用程序必须被打包,以便它能够轻易地分发给运行服务器,这通常需要经过公司防火墙。然后服务器需要更新,应用程序需要投入生产。
如果检测到错误,运行在运行服务器上的应用就必须回滚到前一个可用版本。缺陷信息需要返回给开发小组,开发小组必须能够查看正确的应用和文件版本。在他们修复和重新构建它之后,该应用就被重新打包,并传输到运行服务器上;并且服务器被更新,以运行新版本的应用。完成这一切的同时还需要保证服务器24×7的运行。图 1 显示了该过程的步骤。
图 1 软件更新周期
优化软件构建/部署生命周期的关键是一个可靠、自动化的过程,该过程能够根据在所涉及的任意平台上失败的应用的精确版本复制、诊断和修复问题。这使得对于成功极其关键的其他自动化功能成为可能,比如:
在出现问题时平稳地回滚到应用前一版本而无需手动干涉的能力。
规定了哪些可执行工件被部署以及部署在哪里的审计痕迹。
通过只构建和部署对于"修补"缺陷或实现增强所必需的东西而不是重新构建和部署整个应用,最大程度地利用了时间和资源。
软件配置管理是软件更新周期的基础,因为它有助于正确标识失败软件版本和更新版本之间的所有区别。
然而,在软件配置和生产应用之间提供可跟踪性的价值微乎其微,除非这些资产被很好地管理。首先,在开发阶段必须有软件配置管理(SCM)解决方案。SCM 是软件更新周期的基础,因为软件配置管理是软件更新周期的基础,因为它有助于正确标识失败软件版本和更新版本之间的所有区别。
用于更新具有新版本应用的多平台、分布式服务器环境的有效、安全和完全受控的部署管理解决方案同样重要。这种程度的自动化对于减少上述手动或特殊过程中固有的错误和生产力损失是必需的。
在必需有效的变更管理和分发工具的同时,还需要一个能够在构建阶段和部署阶段架起一座桥梁的解决方案,以加速构建/部署过程,从而简化和流水化了操作,并减少了时间、成本和风险。
非常好的解决方案
通过结合 Rational ClearCase 和 Tivoli Configuration Manager,IBM 提供了一个统一的企业级解决方案,帮助自动化和管理软件的构建和部署。
利用这两个引领市场的互补产品的现有功能,机构现在可以很容易地定义出可重复的、受到良好支持的过程,从正在生产中的工件上溯到从中构建它们的软件资产--从而流水化了应用的构建/部署周期,显著降低了成本和风险。
这些组合产品丰富的特性集还为软件更新管理提供了关键功能,比如安全、企业级的分发控制;回滚;审计痕迹功能;基于角色的访问控制;以及增强的软件组件化和复用。
利用 Rational ClearCase进行有效的构建管理
IBM Rational ClearCase提供了大量的SCM 功能,包括版本控制、灵活的工作区管理、访问控制和高级构建管理。它还包括用于改进型版本维护的综合构建审计。另外,Rational ClearCase 提供了成熟的构建特性,比如:
配置记录的创建--归档了软件构建并根据需要复制构建的软件材料单。
配置查询--一种只重新构建发生变化的文件,而不是重新构建整个应用的构建避免机制。
依赖关系检测--保证正确的构建行为(即使对于那些没有明确在构建说明中被列为依赖关系的文件)的特性。
团队成员共享现有构建对象的能力--该特性使团队成员能够节省时间,因为不需要再花费时间进行不必要的重新构建。
这些构建管理功能可能大幅提升产品的测试和验证进度,并促进了从正确的源进行的正确的、可复制的构建。最终结果可能是以更快速度推出的质量更高的版本。
利用Tivoli Configuration Manager进行的受控部署
IBM Tivoli Configuration Manager提供了对企业范围的软件分发和目录管理过程的综合、多平台的控制,包括回滚、可跟踪性、依赖关系检查、报告和访问控制。它允许用户调度、提交、监控和控制分发活动,以简化和流水化软件分发。Tivoli Configuration Manager 还可以安全地对运行在公司防火墙之外的系统进行软件分发和目录操作。
应对企业部署挑战的解决方案
IBM Rational ClearCase和IBM Tivoli Configuration Manager 一起提供了一个成熟的解决方案,使企业能够快速有效地在最复杂的全局环境中构建和部署各种应用。
Rational ClearCase 用于管理软件变更和构建过程。首先,应用被开发或者更新了所需的增强和缺陷修复。接着,完成构建。代表所有所需特性和缺陷修复的配置被测试和实行;提升级别和批准被获得;基线或标签被指定。
接着,Rational ClearCase 基线配置被打包到Tivoli分发包中。该分发包包括配置文件,这些配置文件中包含用于软件分发的说明。Tivoli 分发包与 Rational ClearCase 中的基线同名。这使得用户可以从这些包跟踪到 Rational ClearCase 中已标识的基线和代码,从而在已部署的应用的代码间提供了审计痕迹。这些分发包被创建和复制到 Tivoli Configuration Manager 环境中。Tivoli Configuration Manager 然后发起分发过程,并将软件包交付给目标。
图2说明了Rational ClearCase和Tivoli Configuration Manager如何共同提供一种能自动完成并控制软件更新周期的解决方案。这种组合方案使用户能够从由在 Rational ClearCase 内管理的基线组成的资产创建分发包,并利用Tivoli Configuration Manager将该分发包部署到多个目标服务器。通过连接和自动完成软件开发和部署,这种解决方案实现了快速交付以及满足时间关键业务需要所需的改进功能。
图2 利用IBM Rational ClearCase和IBM Tivoli Configuration Manager在开发和运行间架起一座桥梁
结束语
现在,企业需要在保证它们的应用24×7 小时运行的同时部署和回滚应用。为了实现这个目标,随需应变业务需要集成它们的软件配置管理和部署过程--链接生产应用和用于构建它们的软件资产。这种功能是优化软件更新周期时间的关键。
IBM Rational ClearCase和IBM Tivoli Configuration Manager 架起了软件开发和运行间的一座桥梁,帮助更好地管理软件开发生命周期中的复杂性。结果可能是减少了停机时间、流水化了操作,降低了业务风险,提高了企业的响应度,并改善了客户的满意度。