扫码阅读
手机扫码阅读

落地DevOps的三要素

298 2023-08-25
这是devops系列的第三篇文章。
前面的2篇文章,分别介绍了对devops的定义和理解以及devops的落地路线图。
在上篇文章末尾,我提到了devops落地过程中会遇到的问题,比如在2018年devops状态报告中重点提到的 J型曲线
我列出了如下三点解决思路:
  1. 通过团队内部复盘总结,识别问题,快速改进;
  2. 引入一些外部优秀实践和工具,快速提升团队能力;
  3. 成立专门的devops落地团队,由各团队和领域的资深成员参与;
总结来说上述的三点解决思路,可以理解为落地devops的三要素,即:
  1. 统一团队人员认知(这是文化建设和沟通协调的基础);
  2. 工具和平台的选型(支撑devops快速落地的手段和方式);
  3. 组织机制流程建设(文化建设+团队赋能+方向引导+创造环境);
这篇文章,我会从这三点出发,聊聊我对于devops落地三要素的理解。

统一团队人员认知

还记得我在前面的文章《不要成为锤子下的牺牲品》中分享的那则故事吗?
有一群美国专家到日本参观和学习生产流水线,他们发现了一件有趣的事情。
在美国的生产线里面,总有一个人拿着橡胶锤敲打车门,目的是检查车门是否安装完好。
但即便如此,车门的质量依然很差。
可在日本的工厂里面,却没有这样的角色。他们好奇问道:“你们如何保障车门没有问题呢?”
日方专家回复说:“我们在设计车门的时候,就已经保证它不会出问题了。”
你看,同样是采用流水线技术的两家公司,结果却大不相同。
这个故事其实很好的体现了不同文化和认知下对具体事物的影响。
为什么落地devops前一定要统一团队人员认知呢?因为devops本身是一个复杂的软件工程技术实践,需要多人跨团队协作配合才能完成。如果在实施过程中大家对于devops的理解不同,那就可能导致局部成功而整体失败的结果。
个人建议,在落地实施devops前,一定要和相关的协作团队及相关成员,多进行devops的宣讲,主要是如下几点:
  1. 落地实施devops的目标是什么?
  2. devops解决了企业和团队的什么问题?对各自的好处是什么?
  3. 参与其中的团队各自的目标和职责是什么?具体怎么做才能符合目标和职责要求?
当然,统一认知建立devops文化本身是一个持续建设的过程,可以先进行宣讲,然后在小范围试点过程中通过工程实践和一定的流程机制来进行纠错,保证大家的行动方向一致。
特别提醒,在拆解不同团队的目标和职责时,最好有客观可量化的指标和里程碑式的deadline。

工具和平台的选型

要落地devops,构建高质量高效率的的持续交付流水线能力,势必需要工具和平台的支撑。
工具本身就是我们解决问题达成目的的手段和支撑,而好的平台可以协助我们更好的落地工程实践。那么在工具和平台选型时,需要注意哪些方面呢?我个人建议从如下几个角度考虑:
  1. 是否和业内权威的标准化模型匹配;
  2. 业内是否有相关的落地实践和技术细节披露;
  3. 工具和平台的引入和改造成本是否在可接受范围内;
关于权威的标准化模型,搜索一下就能搜到好几个,比如中国信通院牵头制定的devops能力成熟度模型:
比如以Google、微软为代表的知名互联网公司对devops成熟度评级的能力分级定义:
第二点和第三点其实可以放在一起看,目前几个知名大厂都提供了devops的平台,比如Azure DevOps、阿里云的云效。这些paas产品的好处是将底层的技术实践以及协作机制都封装好了,基本开箱即用,但都是收费的。
如果选择自建,就要考虑自建过程的踩坑,自研和不断迭代优化的时间以及成本。还有一点要考虑的是自研耗时更长,管理层对于巨大成本投入和产出的心理预期以及耐心,这也是一个很有意思的问题。
总的来说,devops的实施落地,对技术同学来说还是一个复杂的软件工程,工具和平台的选型,各自的优势和劣势,相信大家都懂其中的奥秘,选择适合自己的方式最重要。

组织机制流程建设

前面讲到了在落地实施前要多进行devops的目标和文化的宣讲,但文化的建立是一个长期持续的过程。这就需要制定一定的流程机制,来让参与的具体人员在行动中践行这些文化,潜移默化的形成工作的行为准则。而这些行为准则组合在一起,就构成了我们一致宣讲的devops文化。
上面提到了要建立专门的devops落地团队,负责文化建设+团队赋能+方向引导+创造环境。如何理解这句话呢?
文化建设是一个长期的过程,需要宣讲,需要制定流程机制来保证大家的行动方向一致。
负责devops落地的团队一方面要负责落地计划制定、目标风险识别、技术方案设计,另一方面需要帮助参与devops落地实施的同学解决落地过程的问题,让这些同学能在实践中养成工作行为准则。
而方向引导,一方面devops文化的引导,另一方面也需要流程机制在行动中进行纠偏,确保devops的实施不会偏离整体目标。
至于创造环境,即负责devops落地实施的专项团队,需要在关键节点推动项目的进度,而不是遇到重大问题项目进度停滞时无人推动导致项目延期甚至失败。
这部分内容简单来说就是:成了专项的devops团队,制定落地实施流程,形成行动和响应机制,在关键节点推动项目进度,在行动中不断践行和树立devops的工作实践准则。
总结一下,统一人员认知就是树立共同目标,组织机制流程建设就是保证团队沿着正确的道路向既定目标前进,而工具和平台则是这个前进过程的支撑和加速器。
原文链接: http://mp.weixin.qq.com/s?__biz=Mzg2NDAwMjM1NQ==&mid=2247486671&idx=1&sn=4c8a95931c55c6882b219712d489c984&chksm=ce714493f906cd855fb8b5479eba3782ab302045ad86a7ab5ca3707534873acb284b56619326#rd