Account 登录
Jump to section

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

复制 URL

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

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

应用生命周期管理支持敏捷和 DevOps 开发方法,将这些领域整合到一起,让组织内的团队以更高的效率协同工作。

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

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

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

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

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

应用监管

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

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

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

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

应用开发

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

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

软件测试

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

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

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

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

运维和维护

完成测试并修复错误后,应用就可以部署给用户。

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

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

ALM 与SDLC 的区别

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

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

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

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

ALM 工具示例:

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

ALM 支持与 Linux® 容器相辅相成的 DevOps 方法。容器给予团队云原生开发所需的底层技术,也支持通过一个统一环境来进行开发、交付、集成和自动化。

Kubernetes 是实现 Linux 容器操作自动化的现代方法。Kubernetes 可帮助您轻松高效地管理在公共云、私有云或混合云中运行 Linux 容器的集群。

红帽® OpenShift® 是企业就绪型 Kubernetes 平台,可为开发和运维团队提供一个通用平台和一组工具,便于您在任意基础架构上构建、部署和管理容器化应用,从而实现 ALM 目标。

继续阅读

文章

什么是 DevSecOps?

如果您想要充分发挥出 DevOps 的敏捷性和响应力,则必须在应用的整个生命周期内兼顾 IT 安全性。

文章

什么是 CI/CD?

CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。

文章

什么是 DevOps 工程师?

DevOps 工程师身怀独特的技能和专业知识,可以在组织内实现协作、创新和文化转变。  

详细了解 DevOps

产品

Red Hat Open Innovation Labs

在红帽专家的指导下参与高强度、富有针对性的驻留培训。帮助您的团队借助敏捷开发方法和开源工具,快速、高效解决当前业务难题。

Red Hat Consulting

红帽的战略顾问将从大局出发,以战略性视角审视企业发展,分析您当前面临的业务挑战,并提供全面、低成本、高效益的解决方案,帮助您轻松应对各项挑战。

相关资源

分析文章

重新思考数字化转型: 新数据检视 2020 年 文化和流程变革要务

白皮书

通过红帽 Ansible 自动化平台简化 CI/CD 流程

Illustration - mail

获取更多类似的内容

免费订阅我们的 Red Hat Shares 通讯邮件