什么是应用生命周期管理(ALM)?

复制 URL

应用生命周期管理(ALM)是指从应用构思到结束使用为止,管理应用整个生命周期的人员、工具和流程的组合。 

ALM 由多个领域构成,如项目管理、需求管理、软件开发、测试与质检、部署以及维护等,在瀑布式开发方法等传统开发流程中,这些领域通常是相互独立的。 

应用生命周期管理(ALM)与平台工程领域相互交叉,并与敏捷方法DevOps 形成互补,从而帮助团队更高效地协作,推动企业组织发展。

采用 ALM 后,还可以通过频繁发布来实现软件和更新持续交付,频率有时甚至可达一天几次,不再只是数月或一年发布一次新的版本。

应用生命周期管理可以提供软件开发框架,同时也能帮助您进行软件的长期管理。采用 ALM 实践时,需要依据轻量级的预定义计划和要求将概念转变为应用。 

利用 ALM 进行软件开发时,您需要考虑应用的整个生命周期。维护和未来更新也应纳入考虑范围,包括应用应在何时被淘汰和取代。 

通过化零为整,ALM 可加快部署速度,改善工作流可见性,并且提升产品质量和开发人员满意度。

ALM 帮助您轻松洞察整个开发流程。由于各个流程整合到了一起,因此您可以方便地查看目前进入了哪个阶段、还需完成哪些步骤、耗费多久时间,以及进行了哪些测试等等。

应用监管

监管会明确针对应用所作的决策。在启动创建新应用的流程时,您首先要对应用有个初步想法,还要思考它与您的业务需求和目标的关系。

这些内容就是对新应用的要求,需要在监管阶段中定义并达成一致。 

应用监管还包括资源管理、数据与安全以及用户访问权限。 

标准化这些流程,就可以实现自动化监管。通过实现监管流程自动化,可加快应用交付速度。

应用开发

概括并商定了应用或更新的要求后,我们即可开始开发工作。采用敏捷开发方法的团队可能会频繁进行开发与部署,频率可达每天一次或多次。 

设计、构建、测试和部署应用都可以视为开发阶段的一部分。

软件测试

新应用开发完毕后,需要进行测试并修复其中的错误,然后才能投放到生产环境中。 

对于敏捷开发团队和 DevOps 团队,测试应与开发同时进行。 反馈应当持续传回开发团队。 

开发过程中应进行持续集成,从而避免这些频繁的更新彼此发生冲突。 

测试阶段的目标是确保监管阶段设定的要求得以满足,并且应用的运行符合预期,然后才能发布给用户。

运维和维护

完成测试并修复必要的错误后,即可将应用部署给用户。 

运维阶段是整个应用生命周期中 ALM 的重点关注点。应用部署完毕并不宣告运维结束。还需要考虑定期进行维护和更新。 

应用或服务的停用也应作为维护的一部分来考虑。团队应当确定在什么时间节点不再支持应用或不再提供更新的版本。

ALM 与SDLC 的区别

ALM 有时会与软件开发生命周期(SDLC)混淆,因为两者均涉及软件开发流程。二者的主要区别在于,SDLC 侧重于开发阶段,而 ALM 关注于应用的整个生命周期——从概念到维护,一直到最终停用,并且在应用开发完毕后依然延续。 

SDLC 可被视为应用生命周期管理的一个部分,主要在开发、测试和部署阶段。ALM 可能包含一个特定应用的多个开发生命周期。

进一步了解软件开发生命周期中的安全防护

红帽资源

ALM 工具可以发挥项目管理工具的作用,来协助您整合人力和流程。这样的工具通常包括版本控制、团队实时通信功能、需求管理功能、估算与项目规划、源代码管理和测试管理。

您也许能在一个工具中找到需要的所有功能,也可能需要与其他工具集成,例如开发人员专用的工具。选用的 ALM 工具也应支持您的开发流程,不论是敏捷式、瀑布式、DevOps,还是其他的开发方法。

ALM 工具示例:

  • Atlassian Jira
  • IBM ALM 解决方案
  • CA Agile Central
  • Microsoft Azure DevOps Server
  • Tuleap
  • Basecamp

红帽是应用技术领域的领导者和积极构建者,我们创建的一些基本工具可以帮助您保护、简化以及自动更新基础架构。

借助红帽® OpenShift® 的可扩展性以及控制和编排功能,开发人员可以构建新的应用、对其进行托管并在云端加以部署,从而轻松快速地将各种奇思妙想转变为新业务。如果您想要将应用工作负载部署或迁移到托管云服务,红帽 OpenShift 也可用作 Amazon Web Services(AWS)、Microsoft AzureGoogle CloudIBM Cloud 和其他提供商平台上的云原生服务。

以红帽 OpenShift 为基础,您可以结合使用红帽高级集群管理和红帽 Ansible® 自动化平台,帮助您跨区域(包括公共云、本地和边缘环境)高效部署和管理多项部署。

中心

红帽官方博客

获取有关我们的客户、合作伙伴和社区生态系统的最新信息。

所有红帽产品试用

我们的免费试用服务可让您亲身体验红帽的产品功能,为获得认证做好准备,或评估某个产品是否适合您的企业组织。

扩展阅读

文带你理解 DevOps 工程师是什么?负责哪些工作?

DevOps 工程师的职责是引入相应的流程、工具和方法,从而平衡整个软件开发生命周期的需求。DevOps 工程师在组合代码、应用维护和应用管理方面发挥着重要作用。DevOps Engineer 职位解读。

什么是多云 GitOps?

GitOps 是一套用于指导工作流,以及为云原生应用实施持续部署 (CD)的原则。GitOps 有助于对以前的手动流程引入自动化,从而帮助管理集群配置和应用部署。

GitOps 工作流是什么样的?

GitOps 是一种现代的软件开发和部署方法,它利用 Git 存储库作为单一事实来源,来管理整个基础架构和应用生命周期。

DevOps 相关资源

相关文章