5.5.1 软件部署

软件部署是软件生命周期中的一个重要环节,属于软件开发的后期活动,即通过配置、安装和激活等活动来保障软件产品的后续运行。部署技术影响着整个软件过程的运行效率和投入成本,软件系统部署的管理代价占到整个软件管理开销的大部分。其中软件配置过程极大地影响着软件部署结果的正确性,应用系统的配置是整个部署过程中的主要错误来源。据Standish Group的统计,软件的缺陷所造成的损失,相当大的部分是由于部署的失败所引起的,可见软件部署工作的重要意义。

  • (1)软件部署存在着风险,这是由以下原因造成的:应用软件越来越复杂,包括许多构件、版本和变种;应用发展很快,相继两个版本的间隔很短(可能只有几个月);环境的不确定性;构件来源的多样性等。
  • (2)软件部署过程的主要特征有:过程覆盖度、过程可变更性、过程间协调和模型抽象。已经提出一些抽象的软件部署模型,用于有效地指导部署过程,包括应用模型、组织模型、站点模型、产品模型、策略模型和部署模型。
  • (3)软件部署过程中需要关注的问题有:安装和系统运行的变更管理,构件之间的相依、协调,内容发放,管理异构平台,部署过程的可变更性,与互联网的集成和安全性。
  • (4)软件部署的目的是支持软件运行,满足用户需求,使得软件系统能够被直接使用并保障软件系统的正常运行和功能实现,简化部署的操作过程,提高执行效率,同时还必须满足软件用户在功能和非功能属性方面的个性化需求。
  • (5)软件部署模式分为面向单机软件的部署模式、集中式服务器应用部署和基于微服务的分布式部署。面向单机软件的部署模式主要适用于运行在操作系统之上的单机类型的软件,如软件的安装、配置和卸载;集中式服务器应用部署主要适用于用户访问量小(500人以下)、硬件环境要求不高的情况,诸如中小组织、高校在线学习、实训平台等;基于微服务的分布式部署主要适用于用户访问量大、并发性要求高的云原生应用,通常需要借助容器和DevOps技术进行持续部署与集成。

results matching ""

    No results matching ""