企业级DevOps平台建设方案
1
一、 DevOps 平台建设历程
随着 DevOps 理念的兴起,企业的数字化转型的需求也愈发强烈,于是开始着手研发 DevOps 平台,并在这个过程中不断探索微服务、DevOps、容器云、ChatOps 等的关系和最佳实践。
这里为什么要强调“企业级”呢?一个小团队如果想要实现 DevOps 能力其实可以很简单,因为团队规模不大,比较容易管理,同时负责的应用也不会特别多,通过集成一些开源的工具完全可以做到持续集成、持续部署、持续交付,同样可以带来极大的效率提升,这其实也是一些互联网企业内部小团队的特色。但是当这一切放大到一个数百人,数千人甚至数万人的企业时,就会发现遇到的问题、阻碍呈几何级的上涨。一个企业要考虑的因素太多,历史越悠久的企业,内部的文化、流程越是根深蒂固,而当一个平台需要打通整个 IT 生命周期时,现有的文化、流程,现有的组织结构都不得不慎重推敲下是否能够满足。所以,如何建设适合自己企业的 DevOps 平台,即使现有市场的 DevOps 理念已经基本普及开了,但是到落地的时候,却总会发现困难重重。到底该怎么去落地呢?
明确定位:DevOps 是覆盖 IT 全生命周期的生产线
对于 DevOps 平台的定位还是要再明确下,DevOps 代表的含义早已不仅仅是简单的开发运维一体化,而是在此基础上,打通产品、项目的软件研发全生命周期,覆盖持续交付、持续改进等能力,在纵向打通应用的全生命周期(需求、设计、开发、编译、构建、测试、部署、运维等),横向打通架构、开发、测试、质量、运维、运营等部门。
我们把 DevOps 分为三大领域,敏捷过程、持续交付、持续改进,三者相互独立却又相辅相成。通过 DevOps 平台将企业软件研发的全生命周期管理起来,在保证质量、安全的前提下,通过一些自动化的手段不断提升软件交付的效率,通过不断精益度量对过程、对技术持续改进,最终支撑起企业的 IT 精益运营。
2
理清思维:DevOps 思维和互联网思维的区别
可能很多人对于 DevOps 的理念还存在这样的误解:DevOps 来源于互联网,也只适合互联网企业。但 DevOps 思维和互联网思维还是有着一定的区别的,不能简单的认为只有互联网公司才适合 DevOps。恰恰相反,其实 DevOps 理念的提出以及最初的发展并非是互联网公司而是传统企业。互联网公司强调的是快速、用户口碑,性能,并且对于上线的大部分应用具有一定的容错性,严重的错误可以快速的修改和再上线。而 DevOps 追求的是质量、效率、精益、价值、稳定,企业尤其是金融类的企业对于线上应用的问题容忍度其实很很低的,很难想象如果一个交易业务出现问题后,会给企业带来多大的损失。
所以,DevOps 绝不只是互联网企业可以实行,对于传统企业而言,更加适合。通过建设 DevOps 平台来大幅提升软件研发效率,提升对市场的响应速度,支撑企业的数字化转型,也许对于传统企业而言,DevOps 平台带来的价值才是更大的。
认清价值:DevOps 给你带来怎样的业务价值
清楚了 DevOps 平台的定位,也明白了 DevOps 平台对于任何企业都是可以实现的,那么还是回归到自身上,需要结合企业自身的现状思考下:到底 DevOps 能给自己的企业带来什么样的业务价值呢?DevOps 平台的理念固然是将软件研发的全生命周期管理起来,但是并不意味着一定要做到全生命周期的管理,落实到企业内部,终究还是要结合企业的现状和实际的需求,有选择性有目标的去建设。比如某企
3
业由于组织的问题无法打通整个生命周期,那么通过持续集成、自动化测试、自动化部署等能力,提升软件交付的效率也是极好的。
对于企业而言,不管是提升 IT 的运营效率 70%,还是做到开发测试环境的持续集成、自动化测试、自动化部署,亦或是一天部署 10 次这种 DevOps最初的目标,最重要的还是要结合现状,先认清 DevOps 能给企业带来什么样的业务价值。
建设步骤:DevOps 平台建设步骤
Step 1 梳理企业的流程和规范:
梳理企业的流程和规范是企业建设 DevOps 的前提,甚至即使不建设 DevOps 平台,这也是一个必不可少的行为。只有统一了企业的流程和规范,才能建设出一个适用于企业的 DevOps 平台,否则到最后,有可能会让 DevOps 平台脱离实际,导致没有人会去使用。那么有哪些流程和规范是要提前梳理和统一呢?这里列举几个如下:
? ?
产品(应用)管理规范:包括版本管理、需求管理的规范等
项目管理规范:包括团队的角色构成、过程工作流模板(Agile,CMMI,Scrum)、计划 / 任务管理规范等
? 开发和编译规范:包括代码开发规范(分支主干的使用)、代码提交规范、构建规范(触发策略,是否需要代码提交时构建等)、介质管理规范等
? 部署相关的流程和规范:比如部署架构的规范,环境的管理规范、软硬件资产管理规范等...
4
Step 2 总结自身的痛点和需求,规划建设路线图(MVP) 完整的 DevOps 平台是个很庞大的体系,如果全都靠自己建设的话,很显然不可能短时间建设完成,那么就要结合自身的痛点,从痛点入手,认清自己最迫切的需求,规划出 DevOps 平台的建设路线图。基于 MVP( )的理念,一步步有序的推 Minimum Viable Product进整个平台建设。假如自己的企业目前主要的瓶颈在于如何提升研发效率,那么就可以从统一开发平台、打通持续集成作为切入点。如果目前的主要问题是软件交付速度太慢,那么可以优先考虑持续集成、自动化部署、自动化测试、交付流水线的建设。 Step 3 从组织、技术、流程、文化四个维度持续优化与改进 DevOps 的实施和企业的组织、技术、流程、文化紧密结合,根据我们的经验,在企业中,技术方面的实践最容易在团队中实践,流程次之,组织的优化与变革则是最为困难的。很多时候,不是技术上打不通整个生命周期,而是一些客观的因素导致无法打通各个部门。 5