速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

杀死“DevOps 团队”

  • 2020-01-13
  • 本文字数:2283 字

    阅读完需:约 7 分钟

杀死“DevOps团队”

DevOps 团队的持续存在为那些懒惰、不诚实且被误导的人在 IT 流行词的庇护下假装做出积极的改变提供了机会。


在一个充斥着流行语的企业里,人们通常会说:


  • 我们有敏捷吗?看,我们计划好了后三个月的 sprint!

  • 我们有 Kubernetes 策略吗?看,只要再给我们一个月,就可以让它上生产。

  • 我们有 DevOps 吗?看,我们招了很多 DevOps 工程师,他们在各自的团队里负责编写 YAML 文件、运行 Ansible 脚本。


DevOps 团队是一个非常常见的反模式,为了让高层相信他们正处在流行技术的最前沿,采用了一些让人迷惑的术语,但实际上,这些角色的职责和文化与几十年前并没有什么两样。


如果你的公司里有“DevOps”团队,那么可以肯定的是,你们所做的并不是 DevOps,甚至很可能完全相反。

真正的 DevOps

现在,我可以告诉大家,我的一些非常好的朋友就是 DevOps 工程师,真的!


我们先来定义一下真正的 DevOps:


你来开发,让它跑起来,然后它在凌晨 4 点把你吵醒。


所以,当 HR 把没有做过开发的“DevOps 工程师”的简历塞给我时,我会觉得很荒谬。朋友,不要再这么做了。



有关 DevOps 更准确的定义或许是:


DevOps 是指让一个跨功能团队负责应用程序或服务的整个生命周期,从创建到运维和支持。


我们先来看一下 DevOps 都有哪些好处。

DevOps 会让哪些东西变得更好

真正的 DevOps 会带来更高的效率,缩短产品的上市时间,并提升产品的质量,原因如下。


开发软件和负责软件运行的人是同一波人,他们对软件的质量和可维护性要求得更为严格,因为在软件发生故障时,他们有可能在凌晨 4 点被叫醒。


除此之外,他们就像是一种“共同体”,关注彼此的问题。


他们之间不存在沟通边界,降低了变更成本。沟通边界会带来延迟(比如出现问题了要提 ticket,等待另一个团队来修复问题),而他们之间的沟通却是同步且及时的。


在写这篇文章的时候,一位工程师向我抱怨说,一个客户的 REST 应用程序要求使用加密数据才能执行操作,否则就报错。为了生成这些加密数据,需要先运行其他应用程序,并调用一个特殊的端点。因此,需要有人负责部署这个应用程序,并监控它的运行情况,在发生问题时调用端点,用加密的数据重新配置应用程序,然后重启。12 Factors 并没有明确指出这个用例,但我非常确定的是,如果应用程序开发人员就是部署应用程序的人,那么他们可能已经找到了一个更加自动化的解决方案。

NotDevOps

在你们所处的组织里,是否看到过以下这些 NotDevOps 迹象?


  • 有一个叫作“DevOps”的团队;

  • 有一个叫作“DevOps 工程师”的岗位;

  • “DevOps”团队不负责开发应用程序;

  • 就算软件系统在凌晨 4 点出了问题,开发团队也不需要做什么;

  • 开发团队需要通过“DevOps”团队来帮他们处理问题。


如果你们的组织里有以上这些迹象,那么不好意思:你们做的是 NotDevOps!不过好在不是只有你们在这么做,因为还有很多公司也在招聘“DevOps 工程师”。


在以前,我们管这些人叫系统管理员或配置管理员。他们懂 Linux,负责把开发人员的代码部署到生产环境。而在今天,如果你是一个懂 Puppet/Chef/Salt/Ansible/kubectl 的系统管理员,那么恭喜,你就是一个 DevOps 工程师,而且你的薪水会涨个 50%。


正如之前所说的,开发人员不需要让其他人帮他们做这些事情:


  • 创建 CI 管道/Jenkins 作业;

  • 创建 Git 仓库;

  • 把代码打包成 Docker 镜像;

  • 把代码部署到某个运行环境中;

  • 从运行的实例里获取日志。


如果开发人员需要让其他人帮他们做这些事情,那就是 NotDevOps!


如果是这样的话,你的雇主就无法从中获得任何好处。他们认为你们在做很酷的事情,但实际上你们在对他们“说谎”。


NotDevOps 比没有 DevOps 更糟糕——你给雇主制造了盲点,用各种好听的术语毁坏了那些做对了事情的人的声誉。


经常有企业向我们咨询如何能够更快地交付价值。交付价值的一个最常见的障碍是低下的流动效率,也就是说,更多的时间会被浪费在等待上,而开发活动和运维活动相分离是造成这种等待的最主要原因。

那么,DevOps 团队必须死吗?

当然不是。


我们要做的是把“DevOps”团队这个名字去掉,不要再管他们叫“DevOps”团队了。


我们不要再假装在做一些很酷的事情,而应该让人们真打实干。


如果这个做不到,最起码不要自欺欺人,或者“欺骗”那些付你薪水的人。

如果已经有了这样的团队,该怎么办?

那就让这样的团队通过构建自动化工具的方式为开发人员提供自助服务。


DevOps 团队不应该参与事务性的业务工作,但可以构建内部工具,为开发人员提供自助服务。通过这种方式,DevOps 团队为开发人员实现了真正的 DevOps,为他们提供了运维应用程序所需的工具:日志、指标、生命周期控制,等等。



DevOps 团队不应该只是为开发人员做一次性的工作,他们需要持续不断地收集开发人员的需求,把它们加入到产品待办列表中,然后逐个完成这些事项,为开发人员提供自动化的可重用解决方案,帮助开发人员更好地完成任务。他们要做的是长期的产品,而不只是满足临时性的需求。


我们把这样的 DevOps 团队叫作平台团队。尽管我也知道,在我们的行业,像“平台”、“服务”之类的术语所表达的意义正在被淡化。


如果你有一个 DevOps 团队,他们所做的事情都是正确的,那为什么要管他们叫“DevOps”团队,而不是根据他们所做的产品来命名呢?

做正确的事

让我们避开嘈杂的流行语世界,静下心来仔细理解这些术语的真正含义。如果企业不想办法减少浪费在等待上的时间和降低产品的上市时间,那么再昂贵的 DevOps 工程师也无法改进他们的价值交付过程。


与此同时,我们是不是应该叫停滥用术语的“恶习”?是不是不要再自欺欺人,总认为自己在做有意义的事情,但实际上并没有?


原文链接


https://www.engineerbetter.com/blog/kill-the-devops-team/


2020-01-13 16:543271

评论

发布
暂无评论
发现更多内容

开源即时通讯IM框架 MobileIMSDK v6.3 发布

JackJiang

网络编程 即时通讯IM

杭州银行牵手火山引擎数智平台,要既“好”又“快”地完成数字化升级

字节跳动数据平台

大数据 金融 银行

一文搞清商旅酒店数据治理——酒店数据问题分析及治理方案

元年技术洞察

数据中台 数据 数据治理 企业数字化转型 商旅系统

R2M分布式锁原理及实践

京东科技开发者

redis 框架解析 企业号 2 月 PK 榜 r2m 分布式锁原理

从入门到实战!阿里内部正式上线“Spring Cloud Alibaba (全彩小册)”

架构师之道

Java 编程 程序员 微服务

学习web前端培训怎么样?

小谷哥

选择前端培训怎么学?

小谷哥

邀请 | Flink Batch 社区开发者会议

Apache Flink

大数据 flink 实时计算

使用插件扩展服务网格

Flomesh

插件 服务治理 服务网格 Pipy

re:Invent 开发者最喜爱产品票选榜单出炉!快来探索高光产品~

亚马逊云科技 (Amazon Web Services)

带你读论文丨S&P21 Survivalism: Living-Off-The-Land 经典离地攻击

华为云开发者联盟

人工智能 华为云 论文 企业号 2 月 PK 榜 华为云开发者联盟

防sql注入原理浅析

追赶者

SQL注入

零基础自学网络安全/网络渗透攻防路线学习方法【建议收藏】

网络安全学海

黑客 网络安全 安全 信息安全 渗透测试

Studio One2023永久和谐版水果编曲工具使用教程

茶色酒

Studio One 5 Studio One2023

一个简单的案例入门 gRPC

江南一点雨

gRPC

java开发培训机构怎样选择?

小谷哥

TiCDC 源码阅读(四)TiCDC Scheduler 工作原理解析

PingCAP

数据库 开源 TiDB 源码解读

杭州云堡垒机采购选择哪家好?为什么?

行云管家

云计算 网络安全 数据安全 云堡垒机

java线下培训适合小白学习吗

小谷哥

个人总结18条心法奉上,手把手带你阅读开源项目的源码!

程序员小毕

源码 程序员 面试 程序人生 架构师

「BY林子」网站资源下载

BY林子

必备技巧,PCB设计布局的4项注意(基础篇)

华秋PCB

PCB 布局 PCB设计 布线

一个成熟的WMS(仓库管理系统)应该具备的那些功能

SAP虾客

功能 WMS系统 成熟的WMS系统

TAE-MatrixOne云原生事务与分析引擎

MatrixOrigin

数据库事务 云原生数据库 国产数据库 MatrixOrigin MatrixOne

sun4.0泰山众筹模式项目系统开发技术讲解放哪(Demo)

I8O28578624

新鲜出炉!东莞华为云团泊洼数据中心T1项目成功入选2022年ICT优秀案例

Geek_2d6073

火山引擎ByteHouse助力中国地震台网中心,快速构建一站式实时数仓

字节跳动数据平台

大数据 Clickhouse 数据平台

前端培训学习前景怎么样?

小谷哥

Java Agent 踩坑之 appendToSystemClassLoaderSearch 问题

阿里巴巴中间件

Java 阿里云

如何使用 Terraform 在亚马逊云科技上创建 ShardingSphere Proxy 高可用集群?

亚马逊云科技 (Amazon Web Services)

数据库 负载均衡 存储

冗余是什么意思?与双机热备有什么区别?

行云管家

高可用 冗余 双机热备

杀死“DevOps团队”_服务革新_Daniel Jones_InfoQ精选文章