【精彩回顾】软件DevOps云化发展的趋势

2018年DevOpsDays深圳大会精彩回顾,华为云DevCloud CTO和大家分享软件DevOps云化发展的趋势。

感谢大会给我这个机会,有机会跟这么多DevOps领域的实践者和关注者一起分享。近八年我干了三件事情,首先是参与和推动华为云的转型,华为云的IaaS等管理服务都参与过研发过程。二是参与华为DevOps的转型之路,这中间有很多心得,也是希望和与会者分享的。三是我们沉淀了DevCloud平台,也是我在负责的。接下来花一些时间跟各位分享。

第一,华为公司管理过程的变化,KiKi在他的《科技想要什么》里讲,科技比作生物,生物是在不断进化,伴随着科技生物的进化,科技生物的研发方法也是在不断的进化,华为公司在过去三十年,从小型做硬件、做CT通信产品的公司,成为跨ICT公司,研发理念和思想上也在不断变化,我们经历了初步的CMM持续交付、持续集成到敏捷、DevOps,到最新的进化状态,应该说是DevCloud,这是华为公司在过去三十年研发能力和研发方法以及研发的工具进化的过程。

接下来的一段时间,我们想向大家分享一下在过去的几年里我们是怎么样演进到这样的状态,这张图大家可以看到,图里最吸引大家眼球的图片是这个纹身,今天的大会是由DevOpsDays社区主办,这里面的英文单词CloudNative,Native是辅助、原生,不管是DevOpsDays社区组织还是CloudNative背后隐含的意思,我们是辅助和原生,背后共同的东西是什么?是文化,在座各位能相聚于此,相信不仅是工作的内容,DevOps不仅是我们的工作内容,它是工作方法,进而也在形成一种工作的文化。今天的主题是文化,大家知道古代人怎么体现文化?最早的文化体现就是在岩石和人身体上做画,保留到现在大家经常能看到的就是纹身,尤其是我们很多的土著民族依然保留纹身的传承,其实是沉淀了文化。

我今天要分享的华为CloudNative转型之路,也是把文化赋予华为的研究过程的纹身过程。大家看到这个单词是TATO,大家可以查一下英文的纹身,跟我们的发音是一样的,这是基于DevOps的精髓和支柱。

左边是华为CloudNative DevOps的大厦,我们在云端领域的DevOps还是云的基座,我们谈云谈了很多年,云也渗透在ICT的很多领域,目前华为云推出一百多个云上的服务。接下来是在云的基座上,TATO代表的字母,T是代表Team团队,A是Architecture架构,T是Tools工具,O是Operations是运维。

不同的行业、公司和社区里都有多年的DevOps实践和推广的经验,事实上会发现第一步是来自于人的思想和观念的转变,刚才吴穹博士给我们讲了,随着科学的变化,科学的背后是思想和理论的变化,他们相伴而生,文化需要人在思想上做出改变,也需要人去承载这种思想改变。华为的DevCloud转型经历了几个方面,开始华为以盒子的通信设备为主,盒子是系以前大规模的软件开发过程,软件都是上亿行甚至几亿行代码的软件,要求不出问题、可靠、稳定,每一款通信设备都有很长的研发周期。

华为最开始接触到的工程方法,应该说更经典和更传统,更像工厂的管理过程,大家多看到矩阵式的模式,通过矩阵职能性的分工去划分不同的功能模块,划分不同功能模块的团队,从而实现组织和交付,通过华为强有力的管理和执行过程,把一些分散的组织单元组织起来进行交付。

我们团队向DevOps团队走,是全功能团队的第一步,首先我们实现开发组织,从开发、测试到设计,包括开发管理过程的全功能团队,这应该是第一步。

伴随着云基础设施的兴起,云的基座和新的生产力手段的诞生,我们现在演进的最新状态是基于CloudNative,它的组织生长是基于大量的云服务,可以实现很多自主的开发、运维、测试的过程,从而支撑了跨功能域的全功能团队。以前能力沉淀是要靠资源组织、职能组织完成,在新的技术条件下,云服务技术手段天然提供了平台,把能力、经验沉淀在云服务里,通过云服务使用和访问。

SRE,SRE就是运维,80%的运维过程是不需要运维人员参与的,谁参与?是运维人员提供的软件服务参与,开发人员不需要联系运维人员,只需要使用运维人员封装好的运维服务就可以了,这就是变化。

而且我们的组织更加关注端到端产品的经营,而不仅仅是开发的过程,DevOps已经不单纯是开发的行为,而是商业行为。这是Team团队的转型变化。

A是Architecture,研究DevOps都知道康维定律,组织结构、业务结构之间互相促进和互相影响的过程,有新的组织结构如果没有全新的业务架构,会发现这个组织也跑不起来、运作不流畅,我们必须对现有的业务进行调整,这个调整的思路大家可以看到,也是伴随着IT基础设施的变化在变化。

最早的阶段大家可以看到,我的架构里,环境运行在物理服务器上,运行在主机上,业务软件是单体软件运行在某一台、某几台主机上,会发现硬件环境、软件以及软件里面各个模块,大家都是耦合在一起的。这种情况下会发现,他是用矩阵式的环节开发,无法匹配小团队和微服务的开发。

我们往前演进了一步,我们把它搬到云上,我们只是搬到虚拟机和一些基础的服务上,比如说数据库的服务,这样的话我们实现的三个东西耦合,环境、软件和软件之间的模块,我们实现环境和软件的耦合,让以前烦琐的准备环境、获取环境耦合掉,这是一个变化。

这个变化还不够,大家看到软件本身还是高度耦合的单元,我们把软件完全的拆开,拆成微服务架构,确切的说是CloudNative服务的架构,我们把软件里每个功能模块和我们依赖的中间件资源、依赖于的数据库资源和依据健全的服务全部拆开,各归其位。

大家可以看到右下角的那张表,那张表密密麻麻,上面都是我们现在开发自有服务时依赖的华为云的基础服务。这样就实现了环境跟业务的解耦。我所依赖的服务和业务的解耦,这样就创造一种新的微服务开发模式,和刚才提到的微服务团队进行匹配。

T是Tools,生产工具和生产力是互相作用、互相反作用,不管是新的设备结构、组织结构的演进,基础都是生产力的变革,生产力的变革基础又是生产工具的提升,大家可以回顾过去一百年发生的变化,从蒸汽机、电力机到计算机,新的生产工具迭代和诞生,出现了新的行业、新行业的发展模式、新的行业思想和理论。

事实上软件行业从最初的CMM、敏捷、DevOps也经历了这个过程,推进这个过程变化的是背后的技术和工具,新的编程语言、新的开发语言、新的工具链支撑了生产力的变革,生产力的变革同时支撑新的生产关系,微服务的团队、全功能的团队的诞生。

下面这张纸图是华为基于DevCloud的研发体系,包含从软件的需求到代码托管编译构建到发布的全过程,这里面有十年以上从业经验的人回想一下十年前这些所有的过程都分散在不同的团队、不同的个体人去完成的,十年后的今天,如果你是一个深度DevOps的践行者,一个人就可以完成,就是新的工具、新的IT系统给大家提供这样的变化。云的最大特点就是自服务,可以通过自服务提供方方面面的能力。

这里是DevCloud研发的自实践过程,这张图里会发现从代码提交以后到代码生产环境上线端到端全过程。十年前是不同的团队、不同的角色分时间点完成的,现在它可以在几分钟内实现、几分钟内完成。我记得有人对比过新的第四代战斗机和第二代、第一代战斗机最大的区别,主要是航电活动的高度集成,以前的战斗机都是大量的仪表,一个飞行员、两个飞行员监控不同的模块,保证飞行的安全和正常。新的飞机就两块屏,跟在电脑上玩飞机游戏差不多。因为所有的信息系统都高度的集合和整合,新的开发平台也提供给大家一种模式,也提供了这样的能力,我们可以实现整个价值流的串接。流水线背后的思想理论是软件生产的价值流。这个实践带来直观的感觉是实现了快速的迭代。罗振宇分享过一个片段,未来GDP的总量应该有时间GDP的总量,我们的软件开发活动也是这样,如何把碎片化的时间整合起来,形成软件开发的生产力就是我们要思考的。提供给大家的看板,包括移动的看板功能,事实上可以帮助更多IT人员不用每天坐在电脑前,或是不用每天通过会议的方式和周边同事对软件的进展,什么时候可以发布、什么时候不可以发布,还有什么问题。通过高度整合的信息系统提供给大家支撑,可以在手机上完成软件发布审核的过程,可以在手机上完成看板卡片状态的更新,这样一些过程都可以在上面实现,这也是我们刚才说的,Tools生产工具变化给大家带来的一些边界。

O是Operations运维,新的生产工具带来新的生产关系,KiKi在《科技想要什么》里讲过,生物在不断的演进和发展,也有生命的存续。Operations运维和运营就是维护生物不断的存续过程。大家都知道马上5G就要出来了,5G能给大家带来什么?华为的定义里,5G叫做万物连接,我们说以前的2G、、3G、4G是完成人和人之间的连接,通过多媒体的信息手段完成人和人之间的联系,5G的带宽和响应可以完成物和人、物和物之间的连接,未来所有的软件如果是不联网、不连接,不ONLINE的软件,这个软件也是没有生命力的软件,大家可以从全球顶级公司战略转型都可以看到这个规律。不管是亚马逊、微软,微软的销售额已经非常庞大。

未来不在线的软件一定是没有生命力的,如何保持运维让它一直在线,保证它活着是我们要考虑的问题。基于华为的IT基础设施、云的基础设施有很多运维服务,这些运维服务也是给大家提供技术手段,让个别团队都能轻松的操作起来,这是Operations的变化。

运维、运营光活着还不够,我们可以看到《DevOps理论》这本书,业务的原意是Business,连接到客户Customer,我们讨论业务是技术,实际上是Business,如何把客户通过DevOps连接起来,形成商业的闭环,这中间是有运营的,运营同样需要依赖平台和平台的支撑才能高效的完成这个过程,让我们的服务活着,而且让服务活得更好。

希望大家通过我的演讲能记住DevOps、CloudNative、TOTA(纹身),需要纹身TATO传递文化和文化的价值,最后是DevCloud,如果需要的时候大家可以通过这个平台帮助大家提供这项能力甚至文化的传递,谢谢大家。

华为云DevCloud作为一站式云端DevOps平台,集成华为近30年研发实践和前沿理念,面向开发者提供研发工具服务,让软件开发简单高效。现支持5人以下额度范围内,可以免费使用,并且可以预约免费的产品演示和技术交流,详情查看华为云官网

原文地址:https://www.cnblogs.com/2020-zhy-jzoj/p/13166041.html