You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
11 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 02 | DevOps的价值数字化转型时代DevOps是必选项
你好我是石雪峰。今天我们来聊聊DevOps的价值。
前段时间,因为工作的缘故,我参访了一家在国内数一数二的金融企业。在跟他们科技处的同事交流的过程中,有一件事情让我非常吃惊,想跟大家分享一下。
虽然在一般人眼中,这家企业是典型的传统企业,但他们的绩效目标采用的却是**OKR模式**。
我简单介绍一下OKR。OKR也就是目标与关键成果法是在硅谷互联网公司很流行的绩效制定方法。简单来说O代表目标也就是我们要做什么KR代表关键结果用于验证我们是否已经达到了目标。
这家金融企业的大老板也就是科技处的老大给全体员工制定的众多OKR中有且只有一条属于愿景指标。说出来你可能不相信这个愿景指标就是到今年年底让DevOps在全行的三个试点项目中成功落地。
而且这并不是简单的说说而已如果最终达成了这个愿景指标所有员工的年终奖将在原有的基础上上浮10%20%。由此可见关于实施DevOps他们是在玩真的了。
全行的核心系统改造都没能成为愿景指标那为啥DevOps会有如此大的魔力让大老板都为之着迷并且成为愿望清单列表中的第一名呢这就是我今天要跟大家讨论的话题DevOps的价值以及它对现代企业的意义。
如果要选一个近年来在各大企业战略中曝光率最高的关键词,**数字化转型**绝对是排名最高的,没有之一。
比如传统汽车巨头大众公司今年宣布启动全面数字化转型计划到2023年年底投资约40亿美元实现管理和生产的数字化。而且预计到2025年大众集团的软件研发的比例将从目前的不到10%增长到60%。
## 为什么软件如此重要?
对于软件从业人员来说,这绝对是令人欢欣鼓舞的事情。同时,这也再一次印证了那句流传已久的名言,**每一家公司都将成为软件公司**。那么问题来了,在数字化转型时代,为什么软件会如此重要呢?
互联网的普及和移动通讯技术的发展所带来的移动互动网的兴起,深刻地影响了我们每个人的生活方式。
举个最简单的例子,几年前如果我们要办理银行业务,我们首先要找到附近的营业厅,抽空跑过去排号,经过很长时间的等待,才能坐到柜台前,同银行的柜员面对面地完成业务办理。当然这还是在顺利的情况下,如果忘记带证件或者排队人太多,可能还要再跑一次,办事成本相当高。
现在呢大多数情况下我们只要掏出手机打开银行的APP点击几下屏幕业务就办好了完全不用受时间和空间的限制。用户对银行服务的体验直接来源于手机应用本身。如果哪家银行的应用界面很丑操作还总是出现各种问题就会直接影响用户对这家银行的印象甚至会在潜意识里觉得这家银行不靠谱。显然没有任何一家银行愿意给人留下这样的印象。
所以,**软件慢慢从企业内部的支撑系统和成本中心,变成了企业服务的直接载体和利润中心**。企业通过软件降低运营成本,提升服务水平,而用户在获得便利的同时,也加强了同企业之间的联系。
这本是一件双赢的事情,可问题是,我们所身处的是一个**VUCA**的时代VUCA是指易变性Volatility、不确定性Uncertainty、复杂性Complexity和模糊性Ambiguity它代表了这个时代的典型特征。比如共享单车这个行业从冉冉兴起炙手可热到逐渐归于平静前后不过短短几年的时间。
企业能快速满足用户的需求在行业大势之下灵活转身在跨界打击越发普遍的情况下脱颖而出已经不仅仅是good to have的能力而是must have的能力。
可以说,**软件交付的效率和质量成了当今企业的核心价值和核心竞争力**所以任何一家企业无论是行业巨头还是初创公司无论是互联网行业还是传统行业无论是领先者还是颠覆者都有强烈的意愿去改善自身的软件交付能力而这恰恰和DevOps的理念和诞生背景不谋而合。这么看来DevOps能够成为企业愿望清单中的第一名也就不足为奇了吧。
可是,即便软件如此重要,却依然有很多公司在用一种手工作坊的方式开发软件,引用国家智库的某位领导的话来说,“**工业革命消灭了绝大多数的手工业群体,却催生了程序员这个现存最大的手工业群体**”。这句话看似危言耸听,但这种开发软件的方式的确存在,其中伴随着大量的效率浪费。企业内部的软件开发交付效率已经成了一座值得探索挖掘的金矿,效率经济可能成为新的业绩增长点。
## DevOps的价值
那么实施DevOps带给企业的价值究竟是什么呢要回答这个问题我们就不得不提到DevOps业内非常著名的现状调查报告了。
### 高效的软件交付方式
从2014年至今这个报告每年都会发布一份由业内大咖和行业领袖基于科学的分析方法通过大量的数据分析得出可以说是业内最具权威性的报告其中的很多数据和理念都被广为传播。我发现在这洋洋洒洒大几十页的报告中被引用频率或者说出镜率最高的就是DevOps的4个结果指标。
1. **部署频率**:指应用和服务向生产环境部署代码的频率。
2. **变更前置时间**:指代码从提交到成功运行在生产环境的时长。
3. **服务恢复时间**:指线上应用和服务出现故障到恢复运行的时长。
4. **变更失败率**:指应用和服务在生产环境部署失败或者部署后导致服务降级的比例。
每年这个报告都会基于这4个核心指标统计行业内高效能团队和低效能团队之间的差距。从去年的数据来看与低效能团队相比高效能团队的部署频率高了46倍变更前置时间快了2500多倍服务恢复时间也快了2600多倍失败率低了7倍。
我们先不管这份数据是怎么计算出来的,当你第一次看到这个数据的时候,它带给你的冲击是不是很强大呢?用具体的数字形式来呈现企业之间效率的差距,是很有震撼力的。
而世界上最令人“绝望”的事情就是那些比你优秀的人实际上比你还要更加努力。当你仔细查看这份报告的时候你会发现那些常年被人提及的明星公司很多都在践行DevOps甚至很多来源于这些公司的实践案例都成为了DevOps行业的经典案例。
另一方面DevOps状态报告中提到的四项结果指标分别代表了软件交付的两个最重要的方面也就是**交付效率**和**交付质量**。而且,从数据结果中,我们还能得到一个惊人的发现,那就是**高效能的组织不仅做到了高效率,还实现了高质量**,由此可见,鱼与熊掌可以兼得。
可是这就颠覆了很多人心目中的“慢工出细活”的传统软件开发理念。因为按照传统软件开发的V模式来说软件开发完成后需要经过单元测试、集成测试、系统测试和验收测试等层层关卡以此来保证软件的质量符合预期。但是对于现代软件开发而言如此重的流程和管控显然有点跟不上时代的节奏。
我们在不断提高软件交付效率时,往往是以牺牲质量为代价的,结果做得越多,错得越多,从而陷入进退两难的境地。
DevOps却反其道而行之它试图通过体系化的研发实践导入、软件架构的整体革新、组织管理理念的不断升级和企业文化的影响塑造来帮助企业改善整个软件交付过程在实现高吞吐量的同时保证服务的总体稳定性从而真正实现又快又好的软件交付目标。
### 激发团队的创造力
我们刚刚谈到的这些内容当然是DevOps带给企业的重要价值但并非全部。在专栏中我不仅希望能跟你分享知识还希望能跟你分享一些不同的观点我们一起思考和讨论获取灵感和新知。
之前我在跟Jenkins创始人KK聊天的时候他提出过这样一个问题熟悉云计算的同学可能或多或少地了解过容器编排领域的事实标准Kubernetes以及它背后的CNCF基金会那么企业为什么热衷于加入这样的基金会呢即使要付出一笔不菲的费用也在所不惜企业这么做的收益究竟是什么
不可否认CNCF是一个非常成功的运营案例成为会员还能享受白纸黑字上的福利但是对于很多中小企业而言他们的诉求可能不止如此。
很多时候,企业加入这样的组织,也是为了向内部员工表态,我们正和世界上最著名的公司站在同一条起跑线上,关注着同样的问题。这对他们的员工来说,既能起到激励作用,也能增强对企业自身的信心。
对于DevOps而言道理也是同样的因为说到底企业的问题都是人的问题最核心的价值最终都会归结到人身上所以单纯关注软件交付的能力而忽视人的感受结果往往都是片面的。
在企业内部建设DevOps工具平台的时候我也经常在思考这个问题我们费尽心思通过平台能力建设提升了5%的交付效率,即便节省下来的时间只是让员工多休息了一会儿,也是非常有意义的事情。因为**DevOps本身也包含了改善软件从业人员的生存状态提升他们的幸福水平的理念**。
这么看来实施DevOps一方面可以通过种种流程优化和自动化能力改善软件开发团队的工作节奏另一方面也可以让大家关注同一个目标彼此信任高效协作调动员工的积极性和创新能力从而让整个团队进入一种积极创造价值的状态而这所带来的影响远非建设一两个工具平台可比拟的。
## 总结
DevOps作为软件工程的第三次革命在数字化转型的大潮之下几乎成了所有通过交付软件来提供服务的企业的必选项。因为DevOps不仅可以改善企业的软件交付过程实现高质量和高效率兼得同时也可以持续改善企业内部的工程师文化提升员工信心激发员工的活力和价值创造从而帮助企业在VUCA时代占得先机获得更大的成功。如果一家企业真的可以通过DevOps落地达到以上目标而只需要多付出10%20%的年终奖,岂不是大大赚到了吗?
## 思考题
最后给你留一个思考题如果你觉得DevOps可以解决公司现有的问题想要跟领导申请立项的话你会如何说明DevOps的价值呢
欢迎在留言区写下你的思考和答案,我们一起讨论,共同进步。如果你觉得这篇文章对你有所帮助,欢迎你把文章分享给你的朋友。