登录 / 注册 Account

DevOps

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

Jump to section

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

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

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

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

应用生命周期管理可以提供软件开发框架,同时也能帮助您进行软件的长期管理。采用 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 的企业级技术

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

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

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

应用管理的必备工具

Red Hat OpenShift product logo

一个企业就绪型 Kubernetes 容器平台,可以实现全堆栈自动化运维,从而轻松管理混合云和多云部署。 

Red Hat Ansible Automation

一项无代理 IT 自动化技术,可有效改善您的当前业务流程和应用迁移,以优化业务操作;同时帮助您的企业采用单个编程语言,轻松实现 DevOps 业务实践。

DevOps——变革有方,助益无界