谈DevOps支撑平台实施收益和价值(9.18)

对于我们完全自主研发的DevOps支撑平台实际上在前面很多文章我都强调过,简单理解就是将DevOps最佳实践,包括研发过程管理,持续交付和技术运营全部融入到DevOps支撑平台,同时底层开发基于微服务开发框架,组件运行依托在容器化PaaS平台上,形成一个完整的整体。
对于DevOps支撑平台实施收益和价值,今天再从业务和管理层容易理解的视角来进行下阐述。

企业研发管理过程的标准化和规范化

注意,在DevOps实施过程中,我们会协助企业进行研发管理过程的规范化和流程化,不论是传统的研发过程管理模式,还是敏捷开发思路,都需要对研发过程进行标准化和流程化,再进一步的自动化。这里面涉及到最基本的开发框架,开发规范,配置管理,变更和缺陷管理,测试管理,版本发布等诸多关键过程域,而这些在我们进行DevOps支撑平台实施的时候会协助企业进行这方面的优化和改进。

企业研发资产的可视化

在DevOps里面我们会强调研发和运维一体化,研发和质量管理一体化,这些都没有问题。但是DevOps有一个关键就是本身是完全包括覆盖了传统的持续交付和持续集成最佳实践的。即整个研发生命周期过程应该进一步的可视化,同时通过微服务架构设计和模块拆分,进一步的实现短周期迭代开发。
迭代开发最终交付的用户可以使用的功能,而不是中间的半成品。但是如果半成品的输出过程不可视,如何确保最终的功能输出没有问题?
不论是甲方企业,还是软件企业本身,都需要对研发过程可视化,即对研发过程的关键中间节点做到完全可控,可视,而这里面最重要的就是做到中间输出结果本身的可验证。注意在整个DevOps流水线作业中,增加的代码入库和静态检查,构建,自动化的单元测试等都是确保这些中间件节点可视,确实研发检入的代码是完整并可以编译通过的。
从整个项目一开始研发资产就是可视的,那么最终研发完成后资产本身也是完整和可视的。研发资产应该是属于企业资产而不是个人资产,对于甲方企业来讲,研发资产的交付应该是在整个项目或研发过程中持续交付,而不是最终项目完成后一次性交付,只有这样甲方对乙方的IT管控能力才能够提升。

协助企业进行微服务架构转型的关键支撑

在传统企业进行IT架构转型,或者说转向微服务架构后,带来的一个关键问题就是微服务模块会越来越多,模块之间的接口越指数级增长。这就导致我们在进行模块构建,模块部署,单元测试等工作的时候耗费大量的人力。而DevOps支撑平台本身就集成了持续交付和集成各种关键工具集,通过平台可以高效自动化的完成代码检查,编译,构建,打包,部署,环境迁移等各类工作。极大的节约人力投入并提升过程效率。
原来传统模式下你部署一个业务系统可能感觉不到大的工作量,但是实施微服务架构后一个业务系统可能已经被拆分为了10多个微服务模块,那么要部署这些微服务模块,要准备应用服务器,要进行打包部署工作量都会指数级增长,而这些完全可以由DevOps支撑平台来帮你完成,同时在设计好流水线作业模板后,所有过程都是自动完成,而且在执行过程中可以做到完全可视,可管控。
在实施微服务架构的时候,我前面谈到过两点,一个就是前面的容器化技术支撑和持续集成自动化,一个就是后续的运维监控能力要跟上。这两个能力跟不上,那么微服务架构实施将由于企业本身的IT信息化成熟度不足导致大量的问题。