当前位置: 首页 > 科技观察

孙昕:解读传统企业如何引入DevOps以及Jazz的概念

时间:2023-03-21 20:27:20 科技观察

孙昕:解读传统企业如何引入DevOps和Jazz的概念在理解和点对点的过程中,引入自动化和构建工具,传统软件工程的前端和后端扩展,有效流程新角色。此次与IBMRational中国区技术总监孙鑫先生的交流,我们将详细分析DevOps实施所需的条件和计划,广义上传统企业DevOps软件交付存在的问题,以及出现的问题。Jazz如何解决这些问题。采访内容如下:记者:企业实施DevOps应该满足哪些条件?孙鑫:这是一个很好的问题。我也害怕DevOps有时会混淆客户或混淆某些人。DevOps是一个很大的概念,但其实就像我们做事的方式一样,我们可以长期规划事情,凡事都要一点一滴做。如果一个成熟度很低的公司,即使做传统的软件工程,我们也会建议他不可能面面俱到。对于DevOps,一些企业的大boss觉得这个概念很好,加油,做DevOps吧,这无疑是不可能的。实现起来肯定是一个很长的周期。这只是意味着在这个阶段会有一个模式。在这个框架下,什么样的企业应该先走,哪个部分比较好。而且,这种模式是对传统软件工程模式的继承。.例如,我们看到了常见的DevOps企业。我觉得首先你有没有一个基础软件工程的基础平台,比如配置管理,一些自动化测试工具。那你就可以慢慢考虑你的业务需求是不是变化的很频繁,你是不是一个以市场为导向,以市场为导向的公司。如果我的需求已经产品化支持固定用户了,但是又是这么一个高可靠的应用,那你的运维就要注意了,因为你经常有releaseissues的问题,你能不能release之后反馈问题版本及时?您的生产系统不能停机,您必须将其增加到24小时。当开发到足够高的层次时,不一定一开始就把所有的数据都打通。这可能会花费很多时间,而且速度很慢。我觉得每个公司真的不一样。记者:是的,只要有长远的规划,就可以一步步实现。孙鑫:我想这就是我们刚才所说的。一定要一点一滴落实,但我要强调的是,一定要有大计划。以前做软件工程的时候你不能说,现在我跟一些客户,说你的管理工具。实际上,我们在这个行业中使用了一些人。我是一名开发人员,我使用Lisp或.NET。我觉得用QTP和LoadRunner是可以的。这是在开发级别。但是对于整个团队来说,从业务规划到需求到发布,一切都需要贯穿。它会有一个团队,每个人都会使用它。有一个管理平台。该管理平台必须在不同阶段可用。那么管理平台就必须考虑到你以后的数据必须是集成连接的。你不能说today就好像,我今天在这个房子里买了这个制造商的产品用于家居装饰,明天在那个房子里。真的合不来。如果要在企业中实施DevOps,您必须考虑要购买什么。你必须使用开源的东西。没关系,你还是要买厂家的东西,不管你是咨询服务,你投资所有的落地服务,以后所有的数据都要能够整合起来,这才是最重要的观点。否则,如果有人用DevOps,这个用这个公司的东西,那个用那个公司的东西。其实每个环节都还是各自在做自己的事情,以后就会出现问题。记者:那么广义上的DevOps涉及到什么?其实我指的是一些行业。现在我们只是在互联网行业,那么我们如何区分金融行业和其他传统行业呢?孙鑫:会有很多传统产业。不同的行业确实有一定的区别,但是区别不大,但是会有几大类的行业。***大品类更多的是按技术划分。在我们看来,***是一个IT行业。不管你是做互联网还是做金融,所谓IT行业基本上就是说它的应用程序安装在电脑上,我要运行系统等等。我们这个行业还有一类,我们叫系统行业。系统行业主要集中在我们认为比较典型的传统行业,比如制造业,电信设备制造商,比如华为,中兴,制造业,甚至包括电子行业,包括一些家电制造业,还有航空航天等。部分行业其实不同于传统的IT行业。它的大部分软件都依赖于捆绑在一起并嵌入其中的硬件。这个时候你可以看到DevOps和这个会有一些区别。我认为实施时会有一些差异,因为在传统的系统行业,比如在海尔、海信这样的制造业,他们肯定有大量的PDM【产品数据管理】系统,这是他们的主要系统,而这个PDM系统上的DevOps是另一个怎么和他们结合起来,我们现在在做DevOps,毕竟还是在软件部分,怎么管理和发布,这部分是软件。从规划上,可以有硬件。对于硬件,机械设计和电气电子设计都在PDM系统中。PDM系统PRM和DevOps这些东西为核心的数据怎么打通?这种需求在IT行业是看不到的。是的,这是一个很大的不同。记者:你觉得哪个更需要?IT行业和传统行业?孙欣:都很大。没办法比较,因为现在,尤其是互联网时代,很多软件都是跑在系统上的,我们其实很关心怎么和系统通信,包括怎么和PRM厂商的工具通信.有趣的是,我们刚才好像在谈论DevOps。我们正在谈论数据。其实我在那部电影里讲到Jazz的概念,英文翻译就是jazz。Jazz是什么概念,我就大胆地说,如果没有Jazz,就没有今天真正大的DevOps。为什么这么说呢,我花了点时间。***我们在说Jazz,Jazz我现在把它比作软件工程的ESB,数据总线,说白了就是数据总线,为什么这么说呢,因为在过去的软件工程中,我们讲需求管理、配置管理、变更管理、构建管理等,包括一些测试管理。事实上,所有制造商都很难将这些东西的所有数据都整合起来。所有集成都是点对点的。比如我买了两个工具,需要在它们之间做一个集成的插件。买第三个很麻烦。当我买了七八个工具时,我会崩溃。我崩溃到什么程度?在2005年和2006年,Rational能够从头到尾集中自己工具的所有数据。那是当时最好的,没有人能做到,但那在当时其实是内幕。我们在做开发者大会的时候,在开发者大会上演示了一个demo,从最开始的一个需求,一个小的,到最近的自动化测试,都搞定了,把几千人的会场都惊呆了。但是我们花了很多时间作为一个团队来构建这个集成环境。后来有的时候觉得大家都是高手,在这个领域干了十几年,甚至二十年,都得花那么多时间。一直以来,对于很多企业来说,他花在整合上的成本有时甚至大于他的收益。那时,软件工程就像生产汽车,一条流水线。话说的很美,但是真正付诸实施的时候,就有点惨不忍睹了。IBM意识到了这个问题。IBM认为,如果这个领域依赖于工具之间的点对点集成,那一定是死路一条,因为每个工具甚至被不同的厂商收购,其存储模型和数据模型都是不同的,存储显示方式不同,有的是CS结构,有的是Web客户端,完全不一样。这时候,点对点的集成已经让你筋疲力尽了,你要换一个工具,就得全部换。后来IBM觉得我们其实应该在软件工程领域做一套标准,一套国际标准。其实已经不在软件工程领域了。当时有30多家厂商联合制定了一个行业标准,叫做OSLC。,是生命周期协议。说白了,它包括很多领域,比如软件工程的配置管理领域、项目管理领域、测试领域,甚至包括很多PDM厂商,比如西门子。这是一个国际标准。后来这个标准被IBM实现的时候,就叫做Jazz。相当于说,你现在买IBM的产品,就不会说你买三个,每两个产品,做集成。每个产品都是一个小芯片,就像插电脑一样,这是我的主板,我插这是显卡,这是网卡,两者不用接,因为最底层是主板,这款主板叫做Jazz。而它的背后是国际标准,也就是OSLC。那么哪些厂商参与了OSLC呢?您甚至可以看到许多西门子制造商。这些不是软件工程制造商,而是PDM制造商。他们的数据已经有很多东西可以满足你的软件工程需求,一些开发管理的突破,你不用点对点的去做。发展,这就是未来。这就是DevOps的未来。也是你的PM和DevOps在系统领域会怎么实现。必须有Jazz或OSLC标准。每个人都知道按照这个标准你的数据会如何展示。我的数据只有您可以阅读并了解如何将其交给您。这是一套国际协议。这个框架已经存在很多年了。已经有五六年甚至六七年了。IBM已将其所有产品迁移到Jazz平台,该平台处于OSLC的国际框架下。不仅IBM,西门子也有很多东西在上面。大家可以看到其他领域也在上面,其实我们是可以穿透的。这就是ESB。ESB成就了这一天。这是顶层设计。当时我们开玩笑说只有IBM有财力物力敢这么做。如果只是厂家,别人不跟着你也没用。只能做好自己,有好的框架。那又怎样,当时IBM自己也是联合了很多厂商一起做的。记者:那在Jazz上,比如刚才的例子,我的显卡或者网卡有问题怎么办?孙鑫:我可以换一件。它的底层必须依赖Jazz这样的平台。如果没有这个平台,我要用什么技术手段改一下,立马数据还在?比如我的一块是Oracle,对方说我的一块是DB2,需要复杂的集成,而且这些都是硬拷贝和硬连接,所以数据复制肯定有问题。但是在Jazz的概念下,稍微说一下,比如你是这个工具,如果我要消费这里的数据,因为他要拿这里的数据的时候,他拿数据给他是为了测试,但是因为大家都是基于这个框架。我知道你的数据源是Jazz底层背后的数据库,一个很大的数据库,我的也存储在这里。数据在哪大家都知道,所以一个引用,直接暴露一个数据源,我马上把你放在这里。读取相关数据,速度快,无需拷贝。换其他工具放到这里也是一样的,因为大家都是说英文的,或者都是说中文的,都看得懂。这就是爵士乐所做的。而且Jazz做的不仅仅是我们所说的软件工程,还有PDM厂商。协议谈的时候,整合的量会很小。这就是软件开发的未来。这是顶层设计。这是IBM一直在和这几十家公司一起思考的框架。为什么要花这么多精力在OSLC的国际化上?,标准,我很多年前就在研究这个问题,因为很多人像IBM的一些院士都考虑过这样的问题。软件工程如果按照传统的方式发展,再过5年就走不下去了,客户也不会用。我们也看到它从一开始就在变化,包括Jazz的提议,我们也在学习。这个行业发生了很大的变化。我可能只是举一些例子,所以我不能详细解释。#p#记者:对,没有规矩就没有规矩,DevOps也一样。其实现在很多公司很多相关的项目都在使用DevOps,并且已经在实践这个东西了。你觉得练习起来有很多困难吗?孙鑫:中国好像比国外晚了两三年。我们现在看到的DevOps的概念才刚刚开始。有时客户不知道这个概念。其实我们现在就是在给他做软件开发,软件测试,软件发布。很多东西已经在这个框架下了。他可能不知道或没有意识到。我们不需要说我们必须这样做来挽救这个词。哪些东西可以被你使用,可以加快你的开发进程?Thisisyouwantit,所以从这个角度来看,在DevOps实际落地的过程中,还是有一些我们之前可以看到的传统的问题和挑战,这是很正常的。例如,人们在多大程度上使用工具来改变他们的工作方法,以及工具如何与您的业务和您所在行业的许多部分相关联。例如,正如我们所见,这是相当大的。当然,IBM现在做得很好。这个过程其实挺难的。我在DevOps中保留了这个术语。我们暂时不谈DevOps。我们说过软件开发最重要的是你的需求。后来我们觉得不仅软件开发是最重要的,所有的产品设计都是最重要的。但是,我们发现有一个客户,他连软件开发都不做,但是他的需求非常重要,已经成为了他的核心关键,因为他以后的研发、设计、采购、组装都是基于他的需求.你也知道,中国制造这么复杂的飞机的企业其实都和软件有关,而软件只是其中的一部分。这个时候,我们会发现,我们遇到的困难和我们在其他领域遇到的困难是相似的。当你集成你的系统时,方法和方法应用在客户场景中,比如客户拆解了飞机的顶层,飞机需要拆解多少个模块、子系统、系统、部件,每个部件的规格是多少应该有,以及这些系统之间的关系。需求之间应该有什么样的关联和依赖,完全是业界的常识。但是它应该如何拆解,如何把它的行业知识应用到你的工具上,其实当时对我们提出了一个非常大的挑战。因为我们不了解飞机,不了解飞机设计,所以我们需要这些行业的专家来了解这个方法并应用它。当时IBM找了很多来自世界各地的人,甚至还为波音和空客做了一些设计。帮助中国做这件事,回过头来看,这是一个极端的例子,跟软件完全没有关系,但是我们看到大部分客户可能有自己的一些具体的东西。如何把这个应用到工具上,可能是我们需要实现的时候特别注意的。在这里,我们遇到了一个真正的挑战。中国的大部分客户可能不愿意在服务上投入很多钱,因为我卖给你。一个系统,这个系统其实是需要应用在你的督脉上的。这需要你的人能够学习方法。我的人民想要学习你们的知识。如何做到一起,需要大量的投入,所以你可以看出为什么很多软件应用在国外非常好,因为他们基本上是,如果一个老外的客户一分钱买软件,他自己会花两分钱买服务,他必须让他的团队可以使用。在中国,这个比例不可能逆转到2:1。基本上客户说,你买10块钱的软件产品,他花1块钱买服务,他就已经阿弥陀佛了。我们看到的更多的是不纯粹的,我刚才说的是业务知识的问题,如何应用,同时加上现在强调服务的现状,客户不重视,所以会造成很多问题的时候它已实施。记者:其实关键是提高客户对服务重要性的认识。前段时间在IBM的技术峰会上,我记得有一句话很明确:DevOps已经成为帮助企业实现移动和云计算转型的一把钥匙。能不能说说你自己的想法,你怎么看?孙昕:其实对于移动和云计算,我不是云计算方面的专家。很难给出一个非常准确的观点。我的理解是,移动开发不仅仅是在我的手机上写一些程序来做IOS或者Android开发,因为当它是一个企业应用的时候,比如说我手机上有一个订机票的应用。其实很多人都在用,就像AirTravel一样。有意思的是,如果我要做这样一个应用,其实这个应用在做移动端开发之前,需要接入国航和南航。这些航空公司的接口是:没给你?其实不是给你的,很多人也没有给你。***还好他只能在你要跑测试的时候给你接口数据。这么小的一个应用这么复杂,对于一个企业级的应用来说可能更是如此。一个企业级的应用未来如何移动化?,这里你要考虑架构的设计,你要考虑应用的灵活设计,灵活的设计,其实这些领域都反映了传统软件设计和软件开发管理中同样的问题。所以我认为DevOps真的可以从这个角度帮助做到这一点。比如我刚才举的例子就是你要提前做接口测试,但是没有接口怎么测试呢?没有自己开发的程序界面数据怎么跑?所以必须做模拟测试。以前,国内的客户都是用一些无奈的方法,在银行写一些程序,模拟别人写的一系列数据。它被称为挡板测试,但现在虚拟化测试实际上是DevOps中的一种良好实践,也就是可以模拟多种协议。我认为一切都一样。未来,移动和云会变得越来越复杂。这样的技术会越来越多,新的技术也会出现。在这个过程中,Individuals不再好管理。在这种情况下,DevOps必须能够帮助他们。记者:为了为以后的实践过程做准备,现在个人的发展还是比较多的。孙鑫:对。记者:如果开发一个应用或者游戏,需要集成很多东西,比如业务。孙昕:对。我不认为我们在谈论更多的DevOps。互联网公司很大,DevOps未来可能落地的受众,但是我看到我的客户,互联网公司往往是一小部分客户。在我的比例之中。为什么?坦白说,大的互联网公司,大部分的人员素质都比较高,对新技术的掌握和应用很快,所以技术实力很强,包括很多敏捷性,甚至是从他们开始的。但恰恰相反,中国的大多数公司都不是他们这种公司。他们更需要这种东西,工具和方法结合起来帮忙,所以IBM的客户大多不是互联网公司。记者:***能否谈谈DevOps的发展前景。孙昕:我觉得DevOps的发展前景在我看来可能有几个阶段。现在大家的关注点已经从最初的开发逐渐转移到狭义的DevOps这个概念上了。因为这个名词很新,有些人已经开始理解这个概念很好。开发者和运维是相连的。在下一阶段,你会发现很多人可能会在这个领域谈论DevOps。而且这个领域有时候可以很快看到效果,因为这个时候就是在做自动化,自动化可以代替很多人工的时候,这个很容易量化,短期内就能看到效果。我觉得这部分一定是下一阶段的重点。无论是产品还是一些新的理论方法,都会很容易看出一些应用的范围。也就是说,DevOps更大的概念就是我们向业务端的扩展。事实上,可能有一些关键领域我们会尝试,至少我们的团队会尝试。第一次尝试是在商业计划上。比如在系统客户中,我们会尝试。它被称为产品线工程。事实上,许多产品线工程正在计划如何使用软件获得最佳交付。它应该更紧密地联系在一起。有一些解决方案可以实施。我觉得在业务规划上,发展是往前推的,刚才我们说发展是落后的。在我看来,一些大公司可能在一些重点行业有一些落地,但可能滞后于此。当这一切都成熟之后,可以监控的东西就会逐渐丰富和成熟。当然,这纯属个人观点,绝对不代表IBM的部分观点。这是我个人对这个行业的感受。可能在不同的DevOps框架中,其成熟市场的应用节奏会有些不同,但无疑这些东西会慢慢增长,需求也会慢慢增长。在一定程度上,他们对集成的需求会越来越大,DevOps也会逐渐流行起来。这是我的感受。可能五年后,大家就会知道DevOps,这需要一个过程。记者:现在人们对DevOps的讨论还是比较少的。孙昕:现在讲到DevOps,大部分人觉得不应该讲这个概念。您如何帮助我解决这个问题?不要说这种废话。而且因为我们在这个圈子里待得太久了,十几年了,我们知道这个方向应该是好的。这还真不是空话,有些事情是可以落实的。但是你得花两三个小时来解释这个。最好先告诉客户不要谈这个。我会让你找个地方帮你着陆。这是最简单的。有时候我不会说这东西不是假的。是的,我觉得这种整个争论没有意义,假设它只是一个框架,它能先落地我们就先落地。记者:这还是一个阶段性的过程。孙昕:对,我们讲软件的时候,也讲顶层设计,模型驱动。以前我们讲传统软件的时候讲这些东西,DevOps也是一样。问题是如果整体框架设计不好,以后你会发现IBM做事很系统。它将建立一个大框架。这个时候,你能看到很多事情,也能做好。这就是IBM的强项。有人说IBM老是讲一个理论。想想看,它的很多理论真的可以落地,或者说他的一些理论可能会帮助到别人,引爆一个行业。成为这个行业的一部分。所以我认为DevOps也是如此。一个大企业的规划,你要按照这个思路来规划,包括业务整合,产品数据整合等等,我觉得作为一个企业管理者他不能说今天如果有问题在这里,到这里去看医生,那里有问题就去看那里的医生,绝对不行。作为经理,我会和他谈谈DevOps。如果他想做一个长期的计划,我会和他谈谈。但作为一个部门,我只关心这个。我认为谈论DevOps没有多大意义。因为他可能没有这个责任去顾及整个企业的规划,我只是做好自己的工作。我认为DevOps仍然可以选择与什么样的客户交谈。