
# 应用生命周期管理
企业云化转型最核心的工作就是将支撑企业生产和运营的各种应用系统云化。首先，最基本的要求是保障应用系统可以在云平台上长期安全稳定运行；其次，要让应用系统可以充分利用云计算的优势提升应用系统的质量，如提升应用系统的韧性、敏捷性、安全性和性能等，最后，应用系统生于云、长于云，可以基于云平台提供的新技术快速进行产品、服务甚至商业模式的创新，孵化新功能、提高业务运营效率、提升用户体验，并带来增量收入。
然而应用系统云化是一项复杂的系统性工作，需要从应用生命周期管理（Application Lifecycle Management，简称ALM）角度考虑如何进行云化，确保应用生命周期的各个阶段都能够充分利用云计算的优势。
基于传统IT的应用生命周期管理流程如下图所示。应用系统的部署依赖硬件资源，但硬件采购和发货周期比较长，所以在应用系统立项之后就需要开始着手硬件设备和基础软件的采购，硬件到货后再将这些硬件部署到自建数据中心或者租赁的IDC机房，然后在这些硬件设备上再安装和配置操作系统和虚拟化软件等基础软件，基于这些硬件搭建应用系统所需的预生产环境和生产环境。等应用系统完成开发和测试后，就可以直接在预生产环境和生产环境上部署运行。一种常见的场景是企业购买的是现成的商业软件（如ERP、CRM），基本上不涉及应用程序的代码开发工作，或者只需要很少的跟周边系统的集成开发工作，这种场景的应用上线时间很容易被硬件的采购和发货周期阻塞和延迟。
图1基于传统IT的应用生命周期   
![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002177520665.png "点击放大")
基于云计算的应用系统建设的基本流程没有变化，但要求应用生命周期的某些阶段（上图中浅黄色标示的阶段）需要进行调整以适配云计算的特点，进而充分发挥出云计算的价值。
首先，由于云平台已经搭建了统一的资源池，并提供了应用系统所需要的IaaS和PaaS云服务，所以应用系统的建设过程中不再需要独立采购硬件设备和基础软件（操作系统、虚拟化软件等），您只需要按需购买和开通云平台提供的IaaS和PaaS云服务就可以即时搭建出来应用系统所需的测试环境、预生产环境和生产环境，不再需要等待企业的采购周期和厂商的发货周期。上图中的"软硬件采购"、"硬件安装及配置"和"基础软件部署及配置"三个环节在云计算模式下都可以归一到"云服务申请及开通"环节。
其次，由于云平台提供了云原生的DevOps开发工具链，如华为云提供的CodeArts,而且华为云提供的云服务都对外开放了很多API，您完全可以基于这些云原生的工具链和API进行应用系统的开发及测试，并通过流水线将应用系统直接部署在云平台上的预生产环境和生产环境。这样的应用系统从开发、测试、部署到运行都是在云平台之上进行，也就是我们常说的云原生应用，通过这种方式可以更加充分发挥云计算的价值。下图是基于云计算的应用生命周期。
图2基于云计算的应用生命周期   
![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002142203186.png "点击放大")
基于云计算的应用生命周期管理需要与前面介绍的云运营模式匹配，不同的云运营模式下，CCoE（或中心IT）与应用团队之间的责任边界和协作关系是不一样的，所以应用生命周期管理流程也会发生变化。
#### 去中心化运营模式
在该模式下的应用生命周期管理流程如下图所示。应用团队全权负责应用的整个生命周期管理。中心IT团队仅负责制定统一IT标准，在应用系统的架构设计环节，中心IT团队对其提出架构、运维和安全等方面的IT标准建议，并监管应用系统的执行情况，但没有办法强制应用系统执行这些标准。
图3去中心化运营模式的ALM   
![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002142361234.png "点击放大")
#### 集中化运营模式
在该模式下的应用生命周期管理流程如下图所示。应用系统所需的云资源由CCoE团队负责集中部署和运维，应用团队完全不用关心基础设施和云资源的部署和管理，可以将主要精力放在应用系统的设计、开发、测试、部署和运维工作上。CCoE团队的云架构师、云运维专家和云安全专家需要在应用架构设计阶段深入参与进来对应用团队的设计方案进行架构、运维和安全评审，确保方案符合云技术的设计原则和最佳实践，以充分发挥云计算的价值。为了避免设计阶段遵守但开发阶段不遵守最佳实践的情况，云架构师、云运维专家和云安全专家还需要在应用系统上线预生产环境和生产环境前对应用系统进行上线技术评审和检查，确保设计方案和最终实现的方案是一致的。通过一前一后的评审，CCoE团队将能够帮助应用团队大幅提升应用系统在云平台之上的韧性、安全性和性能等指标。
在应用运维阶段，CCoE团队负责云资源和平台层的日常运维和安全运营，应用团队需要负责应用软件本身的日常运维以及应用层的安全运营，如防止SQL注入等。
图4集中化运营模式的ALM   
![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002177562277.png "点击放大")
#### 赋能和协同运营模式
该模式下的应用生命周期管理流程与集中化运营模式基本相同，所有的环节都有，但某些环节的责任主体和工作范围发生了变化，下图中黄色标示的环节是有变化的环节。
在该模式下，CCoE团队赋能应用团队全权负责应用系统所需云资源的部署和运维，这样既可以减轻CCoE团队的负担，又可以提升应用团队的自主性，进一步提升应用系统的敏捷性。为避免各个应用团队独立部署和运维云资源带来的标准不统一问题，CCoE团队需要制定相应的IT标准并强制各个应用团队遵守。
CCoE团队和应用团队要紧密协同，共同保障业务系统在云上的安全稳定运行。在运维方面，CCoE团队负责云平台或云上IT基础设施的日常运维，应用团队负责应用及所需云资源的日常运维，业务系统出现故障后两边协同进行故障定位和修复。在安全运营方面，CCoE团队负责平台层面的安全防护和集中安全运营，各个应用团队需要负责应用系统及所需云资源的安全防护和安全运营，如防止SQL注入等。
与集中化运营模式相同，CCoE团队的云架构师、云运维专家和云安全专家需要在应用架构设计阶段深入参与应用设计方案的评审，在应用系统上线到预生产环境或生产环境前再对其进行上线技术评审和检查。
图5赋能和协同运营模式的ALM   
![](https://support.huaweicloud.com/usermanual-caf/zh-cn_image_0000002177520669.png "点击放大")
