DevOps落地实践点滴和踩坑记录-(2) -聊聊平台建设

很久没有写文章记录了,上一篇文章像流水账一样,把所见所闻一个个记录下来。这次专门聊聊DevOps平台的建设吧,有些新的体会和思考,希望给正在做这个事情的同学们一些启发吧。
DevOps落地实践点滴和踩坑记录-(1)

企业落地DevOps该买商用还是自己研发呢?

很多团队刚开始都会问这个问题,我的回答如下

  • 如果团队人数少,技术栈或者技术债务不是很多,历史包袱不重,领导急于看到成果,可以使用devops商业产品。前提还是看商业产品是否满足你们目前场景。
  • 自建工具链,分成简单工具搭建 和 更上一层的二次开发做平台,看你们需要哪种。

    • 前者相对容易点,比如常见的gitlab+jenkins+harbor/nexus+kubernetes等这样的组合
    • 后者 前期需要投入成本,还是看 你们目标是什么,解决什么问题。

以终为始,看目标,找合适的方案,是比较合适的。平台可大可小,功能也可大可小,解决的问题也可大可小,看看目前的问题是什么?

有哪些好用的DevOps价值流交付平台推荐?

国外

  • Azure DevOps

国内

  • Coding
  • 蓝鲸
  • JD行云
  • 阿里云效
  • 简单云ezone
  • 华为DevCloud

国内很多,以上这些都算是整合各个环节比较综合的,其他像禅道、Ones等这些项目管理类平台虽然号称DevOps平台,但是他们更擅长垂直领域,不是综合性平台。

有哪些好用的DevOps VSDP(DevOps价值流交付平台)推荐? - 知乎

自研DevOps平台面临的问题

上面说的平台都很好,但是面对上千规模的研发团队,往往会有“心有余力不足”,“杀鸡用牛刀,但是还杀不了鸡”的感觉。说白了,就是买了还是做二次开发,并且往往还不是简单二次开发这么简单。听我细细道来

1. 企业内部各平台鱼龙混杂

对于中小型企业,你可以通过采购外部DevOps平台服务的方式,快速形成战斗力。但是对于一定规模的企业,并不是一穷二白,而是各种平台已经存在了。这是一个企业的案例,很明显管需求的在OA, 管工单在一个系统,项目管理在另外一个系统。那我买了外面的平台(一般都是全家桶的解决方案),到底和我内部系统怎么融合呢?

  • 举个例子,如果公司已经用了JIRA, 外面大部分DevOps平台都自带同类功能的模块,你让我把JIRA干掉,买你的产品,尽管JIRA国内有点水土不服,但是这需要管理者做出抉择,哪怕是数据迁移也是需要成本和时间的。


2. 自研平台本质还是“企业的数字化转型”

对于传统软件企业,他们要的平台不仅仅是一个跑CI/CD,做部署的平台,更重要的是能够度量内部变革成果的平台。提到度量,就意味着你要打通整个研发过程所有环节,从外部客户需求,到内部研发环节,到对外发布,再到产品反馈,形成闭环。
可以想象,变革过程会遇到多少不同的角色,不同的平台,所以研发打造自己平台的过程也是企业内部自我变革的过程,这个过程会很漫长,也会很痛。

  • 对于互联网企业,他们必须拥抱变化,快速抢占市场,所以从基础设施到人员素质,一定程度上比传统软件企业会好很多,数字化程度会好很多,他们关注更多其实是线上的快速发布,回滚,试错,监控告警。技术栈上,相对容易统一,个性化定制会很少,一般都是主干开发主干发布,或者主干开发分支发布。
  • 可是,对于传统企业,他们的特点是产品线丰富,客户定制化需求多,重产品定制(轻运维),他们更需要规范化的管理和规则限制。但是往往他们的技术设施(容器化,环境快速生成)比较落后,研发人员不太重视工程化手段解决问题,技术栈没有很好统一,工具各个团队各自为政,因此整合工具链条就变得更艰难。

所以自研平台本质还是企业自我的变革和决心,如果把传统软件企业比作工厂,通过自研平台进行功能和数据的整合,就是希望构建一个真正的“数字化“工厂,让信息流动和共享。

3. 自研平台建设离不开部门间的拉通对齐

如下图所示,DevOps涉及诸多研发阶段和领域

  • 项目管理
  • 需求/缺陷跟踪
  • 代码管理
  • 构建/部署/测试
  • 发布
  • 日志监控


在企业内部刚起步阶段,可能缺乏专业的DevOps专家和人员,以为只是通过建设不同领域的工具平台,不知道如何拉通,为什么拉通,甚至可能不同的部门团队负责不同领域的工具。
缺乏最终目标的对齐和部门间拉通,可能导致如下问题

  • 影响整体技术架构设计,可能导致很多返工
  • 部门间配合缺失,各自为政,不仅无法形成合力,还可能相互掣肘,相互可能在做重复工作
  • 无法制定长远平台演进规划
  • 数据拉通遥遥无期
  • 最终可能导致DevOps变革的失败,团队士气低沉,领导层看不到预期效果

解决思路-组织结构

  1. 成立虚拟的过程改进团队,包含组织级研效管理团队,平台工具建设团队,效能/工程教练团队,对业务研发团队进行支撑
  2. 业务研发团队对效能提高负主要责任,每个月业务技术leader 汇报进展;业务研发团队需要证明自己技术架构改进,解决成员的抱怨;需要对自己团队负责;
  3. 杜绝“工具平台团队”对效能结果负责的局面,工具团队一般提供的是通用的功能,对于“北极星”指标(ps:产品成功的关键指标)影响有限; 对技术负责,打包更快,上线工作流更好
  4. 效能/工程教练团队要走进一线,和团队成员面谈,深刻了解团队“痛点”,进行辅导
  5. 组织级研效管理团队(一般是PMO组织),建立组织级规范进行发布;(PS: 实际情况中,该部门可能需要DevOps工具/教练团队的支撑,特别是工程技术方面,避免规范无法落地
  6. 需要一位德高望重,技术能力威望都还可以的领导统领过程改进团队 (PS: 解决拉通过程的困难,帮助协调资源,敢于拍板)


4. 围绕“版本”和“关联”做文章,构建研发领域模型

  • ”版本“ 记录了整个研发过程的演进,通过“版本”作为纽带,串联起来真个研发过程的元数据,再合适不过。
  • ”版本“的规范化,也是流程规范化的重要体现,只有“版本”规范化,过程才可能规范化。试想,如果你的组织连规范的版本号以及发布规范都没有,其他自动化手段就根本不用提
  • 版本”关联元数据 - 在笔者看来,是整个DevOps平台的重要目标之一,如果没有做到这一点,必然影响价值流打通


构建研发过程领域模型,可以帮助平台建设者理清业务实体之间的关系,指导平台的技术演进,串联起领域实体也是整个DevOps平台的重要目标一致

5. 围绕组织内真实业务场景,避免照虎画猫

在我们自己建设DevOps平台过程中,往往会参考一些商用的平台,这个无可厚非,但是要避免“机械模仿”。任何一家公司的DevOps演进都不是一蹴而就,或多或少都有历史原因,模仿的同时要思考他们为什么要这样做,是不是真的适合自己的场景,借鉴可以,但是要弄清楚为什么需要。举例说明

  • 大部分公有云的DevOps平台基因里都或多或少都有互联网的基因,它们的对于持续部署发布(灰度,蓝绿)会格外重视,那么作为传统软件企业,你是否真的需要?
  • 再比如,这些平台的流水线编排都很灵活,但是在你的企业过度的灵活是否真的有用? 也许开发团队只需要傻瓜式的,甚至无脑,严格控制的流程呢?

熟悉组织的软件研发活动,通过和业务研发团队座谈的方式,收集真实的痛点,在“灵活模式”和“死板模式”中需求平衡。功能做的再酷炫,不能解决实际问题,也是没有任何价值的。
如图所示,可以通过绘制业务流程图的方式,将平台的业务流程和实际的业务场景结合,指导平台分阶段建设,业务与技术演进相结合。

总结

上面我分享的几个问题,相信你都会遇到,这里仅供参考。每个组织想要的DevOps平台是完全不一样的,别人的场景功能未必就适合自己,主要还是以解决问题为目的。DevOps实践过程是漫长和艰难的,平台能力是整个组织一起努力的结果,不要试图你的团队单枪匹马搞成这个事情,离不开你的“客户”(需求),离不开上层领导的支持(自上而下推动),离不开组织运营规范的牵引(流程规范)。

本文使用 文章同步助手 同步

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容