DevOps 已然家喻户晓,如果你还没听过,那确实要去补补课。随着敏捷研发的普及,一种快速响应业务、高效运维的模式必然深得众心,Git 的发展近来几乎在代码管理领域一骑绝尘,在此基础上衍生出 GitOps 的概念,成了DevOps 理念的最佳实践(如果 SVN 也有这种能力的话,出现一个 SVNOps也不是不可能)。
常见的管理概念,如研发管理、团队管理、项目管理、产品管理等,DevOps理念基本也都穿插其中,顺便翻了几个产品,Teambition、禅道、TAPD、阿里云效、极狐Gitlab、Gitee等等,没有 DevOps 都不好意思出来讲故事、搞营销、做增长。
DevOps 比较核心的理念当然还是 CI/CD,你自然会联想到 Jenkins ,很多小伙伴想当然的 DevOps 就是 Jenkins,即便有一站式的平台,很多小伙还是比较倾向于 Jenkins,虽然有时候还需要亲自动手安装配置很多东西。云原生背景下,Jenkins 也不是唯一选择,ArgoCD 等爆发新生态的力量。但工具不能独立存在,必须融合起来才能发挥更大的效能。CI/CD 是核心,但远不是DevOps 的全部,不能以偏概全。
云IDE的出现,更是将云原生推向了极致,本地还需要安装开发环境吗?Localhost即将成为过去式,一个浏览器中搞定所有研发流程的方方面面。
回头再看 DevOps,可谓面面俱到,至于工具选择,因时因人而异。每个工具都有自己的基本盘,再由基本盘衍生而来来定义 DevOps,比如 Gitlab 基本盘就是代码仓库,再基于此衍生 CI/CD,继而其它。禅道的基本盘就是项目管理,DevOps 如何实现做?它就把自己变成集成商,将 Jenkins、Gitlab、SonarQube 等等通过 Toekn 的方式跟自己打通,进而在禅道里一站式管理。
工具只是用来给人、给团队赋能,并不能完全取代组织里的各个角色的主能动性,背后的文化至关重要,单纯工具的运行,离开人的参与肯定也会千疮百孔,东西是好东西,得看念经的和尚能不能念好。