随着互联网时代进入深水区,云计算、AI、IoT 等新一代的信息技术开始对传统企业进行更深层次的改造,对企业而言,现在仅仅 “拥抱互联网”是远远不够的。
在全球经济进入数字化转型的时期,数字化转型已经成为企业必须付诸行动的不可忽视的选项。那么,从根本上说企业为什么要进行数字化转型呢?如何把握数字化转型的时机?哪些工具是帮助企业进行数字化转型的关键呢?
2019 年 1 月 19 日,CODING 创始人及 CEO 张海龙受邀参加 2019 极客公园创新大会( GeekPark IF 2019 )并发表了以 《工具价值的演进》 为题的主题演讲。作为一家服务了超过 100 万开发者和近 4000 家企业的,从代码托管服务起家一直拓展到提供 一站式全 DevOps 工具链 的 SaaS 公司创始人,他从工具的角度切入,展示了人类历史中生产力的发展进程,并解释了为什么现在是企业数字化转型的关键期,揭示了 DevOps 才是企业数字化转型的关键。
首先我们看这张图,图上展现了从人类社会初始阶段开始,一直发展到现代数字时代,所经历的几次生产力的飞速提升,这里可以清晰的看到生产力和生产工具之间的关系——在石器时代,工具以简单的木石结合为主,简陋的工具带来的生产力是非常有限的。之后锻造技术出现,给人类带来了更加高效的金属工具,原来需要一天的活半天就干完了,人们开始有空闲时间,闲着闲着,文明就诞生了。随着科技的发展,蒸汽机和电力拉开了机器生产时代的序幕,二十世纪成为了世界发明史上最璀璨的一个世纪。到了 2000 年,互联网让距离消失,把很多不可能变成了可能。而未来,云技术和数字化的浪潮,注定会掀起新一轮的生产力革命。
互联网的出现让信息变得触手可及,同时也促使新技术的迭代达到了一个不可思议的速度。这使得很多体型庞大的传统企业感到措手不及,复杂的组织架构让他们好不容易接纳一种新技术后,就发现速度快的公司已经迭代好几代了。根据 IDC 对未来企业数字化的趋势预测,2017 年是数字化转型的原点,很多企业开始进行破釜沉舟式的变革,这中间将经历十年的时间,到 2027 年结束,届时 60% 的 GDP 将和数字化相关,并且全球 40% 的物理设备将被数字化取代。
我觉得别的行业不说,汽车行业可能是最感同身受的。2017 年以前造汽车最关键的是什么,是内燃机技术,也就是汽车里的心脏。到现在为止中国的发动机技术跟国际一流还差了大概 20~30 年的水平,毕竟从工业革命开始,西方国家对内燃机的研究已经超过 200 年了,而我们只有几十年的时间追赶。但是从 2017 年开始,这个形势发生了改变,为什么呢? 因为 Tesla 和他的自动驾驶技术掀起了汽车行业数字化转型的浪潮,开启了电动汽车和无人驾驶技术的时代,把复杂的内燃机系统简化为电池+马达的组合,将重心放在了行车系统和传感器上,完全打破了大众对传统汽车行业的认知,把汽车这种产品直接带入了数字化时代。通过收集每一辆汽车的行驶数据对行车系统进行不断的迭代和升级,因此我们认为 Tesla 本质上其实是一家软件公司,二级市场的人应该也是怀着同样的想法才给了 Tesla 将近 40 倍的 PE 和 600 亿美元的估值,反观丰田作为估值最高的汽车厂商只有 470 亿美元左右,这完全是将 Tesla 当作一家数字化软件公司看待了。
同时,这也给了中国汽车产业很大的机会,2017~2018 年优秀的电动车企业喷涌而出,在这个关键的时间点开始数字化转型,抓住了弯道超车的机会。
那么回到主题,现在企业数字化转型的问题在哪里?在数字时代又有哪些工具能帮助企业快速掌握变化,更好的完成数字化转型呢?先说结论,想进行数字化转型的企业需要 DevOps。我们先来看问题,我觉得中国大部分企业无法快速转型的根本原因在于研发效率低下。之所以研发效率低下,是因为:
1.人才缺口大,很多企业找不到合适的人才。
2.由于落后的管理方式和组织架构导致的效能浪费。
中国每年的 IT 行业人才缺口基本固定在 100 万左右,虽然一部分缺口会通过社会培训之类的方式填补,但总的来说缺口依然很大。这就要求企业必须在研发效率上有所提升。
而现有的组织架构却因为落后的管理导致效率很难提升,软件开发最高效的组织形式是“ One Man Work ”,只有一个人干活,写个小项目,从需求到开发,从测试到部署全部独立完成,非常高效。但随着业务的增长,项目开始逐渐变得庞大,变成团队,出现了分工,出现了产品经理、项目经理、开发、数据、测试、运维等等角色。这些角色间存在天然的工作目标上的矛盾。举个例子,对于运维来说,稳定压倒一切,新 Feature 越少越好。而对于研发来说,却希望能开发更多的功能。这种矛盾会导致大量资源和时间的浪费。就像两匹马拉一辆车,如果马头向着的方向不一致,肯定是没法全速前进的。
DevOps 的理念就是希望能打破这种屏障,让**研发( Development )和运维( Operations )**一体化,让团队从业务需求出发,向着同一个目标前进。再通过工具搭建自动化流水线,更高效地进行软件交付。
纵观软件研发的历史,如果类比成工厂生产力提升的历史:从最早的作坊,到小工厂,到富士康式的专业化流水线,再到现在很多智能制造企业已经进入的自动化流水线,都是机器人在流水线上工作。那软件开发行业也是一样经历了这个过程,只不过周期缩短到了几十年。现在优秀的软件研发团队已经进入了自动化流水线时代,也就是 DevOps 时代,而大部分国内的研发团队可能还停留在小工厂时代:有统一管理能力但是管理方式落后;工具化程度底,使用的工具比较过时;分工明确但是协作效率低;能制定计划,但是交付质量难以把控;遇到问题的解决方案可能就是拉大家一起开会,这样效率极其低下,结果就是企业在数字化转型的进程中被落后的研发管理效率拖累,逐步丧失市场竞争力。
DevOps 就是数字时代的自动化流水线,看不见,摸不着,但在工作中是真实存在的。研发团队不同的角色通过这个流水线来协作完成工作,打破角色之间的隔阂,提高研发效率。
一条数字化的流水线是到底是什么样的呢,我们来简单的解剖一下。
这个图展示的是 CODING 如何使用 CODING 来 coding 的,可能比较拗口,简单来说就是我们如何使用自身的产品,来搭建一条数字化流水线。
比如我们要做一个 CODING 的小程序,那么首先由产品经理整理出需求文档,然后同步给开发,在统一的集成开发环境中进行代码的编写,通过自动化的持续集成来进行自动化的测试和构建,确认无误后交给运维,通过自动化测试高效地反馈问题,测试通过后再通过一键部署,快速上线完成高效的版本迭代。CODING 已经算是一个比较庞大复杂的系统了,但通过这条流水线,我们可以达到每周迭代一个版本。
这个流程是一个完整的闭环,就像最开始举的例子一样,当你选用的工具越高效,这条流水线运转的越快,团队的研发效率就越高效。大家可以看到这里涉及到很多的角色,很多的环节,其实每一个环节都有对应的工具。我们挑一个环节来看一下,比如编码环节。在编码环节工具经历了怎样的演变呢?
这里展示的是不同时代的集成开发环节,是程序员每天都要用到的开发工具。这个工具的演化进程,最左边是 90 年代,DOS 时代的开发工具,非常基础,只有文字,连光标都没有。再往后,中间这张图展现的是 04 年左右的开发工具,此时已经有了完备的图形界面和辅助功能,但是仍局限于物理设备。到了近年,编程工具开始云端化,出现了 Cloud Studio 这样的数字化时代的云端工具产品,完全运行在云端,通过浏览器就能访问,不需要安装,没有任何硬件设备的限制。它可以做到以下本地工具目前还不能完成的任务。
比如说随意切换开发环境,你可以从编写 Java 的开发环境瞬间切换到编写 Python 的开发环境;再比如说可以通过 Web 终端连接到任意的云端计算资源,瞬间获得大量计算能力;再比如说邀请伙伴一起编写程序,两个人可以同时编写同一份代码等等。
这极大地提高了编码环节的开发效率,我们可以想象刚才展示的流水线上的工具都在发生同样的演进,这将促使我们进入一个新的开发时代,那就是云端开发时代。我们相信开发的效率会成倍提升,满足这个数字化社会对于 IT 效率的要求。同时开发门槛也会降低,云技术将使这些工具触手可及。
每一个时代都对应了一个大的生产力变革,而诞生于这个时代的工具是推动变革的根本因素。随着云端开发时代的到来,企业需要像 DevOps 这样的研发管理方法论和工具链来打造属于自己的数字化流水线,提高效能,让研发与业务同频共振,方能在如今这种高速竞争的市场环境下和数字化转型的浪潮中保持自身的竞争力。
最后,我也希望 CODING 作为一个专业的研发工具厂商,也是一个云服务的厂商,能够在数字化年代,在一个云端开发的时代,能够贡献自己的一份光和热,做到让开发更简单。
点击链接,立即体验一站式 DevOps 工具链。