为什么一定要从DevOps走向BizDevOps?

数字经济时代,数字化转型成为社会的普遍共识和行动。越来越多的业务运行在数字化基座之上, 软件系统正成为业务创新的价值核心和创新引擎。在这一趋势下,软件产业面临着许多新挑战和新机遇:一方面,万物互联下软件系统规模和复杂度持续增长;而另一方面,业务的快速变化对软件交付效能的要求却不断提升; 软件构建和交付方式亟待变革

要解决问题,先直面问题。为更好地厘清波涛汹涌的数字化转型浪潮下软件产业所面对的机遇与挑战,6月29日,阿里云云效与阿里云开发者评测局栏目,联合特邀了 InfoQ极客帮副总裁付晓岩、 南京大学软件工程学院教授张贺、 Thoughtworks全球数字化转型负责人肖然、 国内精益产品开发最早实践者何勉(阿里云云效解决方案负责人), 阿里云资深技术专家陈鑫(云效平台负责人)以及 阿里云高级产品专家张裕(云效平台产品架构师)共6位领军人物,一起围绕 数字化转型浪潮下的技术变局进行了深度的研讨。

数字环境下,各界如何看待科技发展与业技融合?

当前,央行侧重提升产业的整体数字化,同时还提出了更高的要求:希望业务系统或者业务创新能够实现跨角色、跨流程的自由编排和组合。这个要求即便对互联网企业来说都非常高,银行业等传统企业如果想通过企业级的工程,来整体提升业务和技术能力、实现业务和技术的融合,更是一件困难的事情。 所以,需要一些新的方法论或工具来支撑

今年年初,中国银保监会与人民银行发布的《关于银行业保险业数字化转型的指导意见》已经明确指出,在数字化时代要做到”业技融合”,同时BizDevOps这个词也已经被写入央行《金融科技发展规划(2022-2025年)》中。这两份文件已经为银行的数字化转型提出了具体的要求和方法,变成了行业转型的参照。

金融行业天然走在数字化的前沿,已经享受到了数字化的红利。但是,还有很多产业和行业仍面临挑战。比如,生产线的出现可以让企业既得到质量又得到了效率,但一定程度上牺牲了体验,而数字化天然可以解决这个问题。如果用户需求的获取、还原、设计、生产、交付和服务等环节有数字化的支撑,就有可能在整个环节里满足用户的个性化体验。

我们已经看到,很多企业通过数字化技术打造独特的体验,创造差异化价值。实体经济正在逐渐向信息化的世界迁移。未来,所有的实体经济都要做数字化,甚至 未来所有的企业都会成为软件企业。未来任何业务想要有竞争力,都必须运行在数字化基座之上

那么,数字化的引擎是什么?是软件。软件的燃料是什么?是数据。

因此,整个数字化转型浪潮对软件开发提出了非常高的要求。如何端到端、全链路地去看而不是只看单个阶段或者单个产品?如何建立最本质的模型,从物理世界过度到数字世界,并反过来影响物理世界?如何构建顺畅高效精准的交付模式?这些问题都变得非常重要。

作为一个大的数字经济体,阿里巴巴在业务与技术融合的发展过程中也经历了三个阶段。

  • 第一阶段,向技术要效能。那时候,企业面对的是如何将技术自动化,实现技术本身的提效;
  • 第二阶段,不仅向技术要效能,还要考虑技术如何更加高效地去支撑业务。于是,中台的概念被提了出来;
  • 第三阶段,也就是这两年,阿里希望顶层战略可以顺利传达到业务和技术团队,特别在意业务和技术的协同,开始讨论如何通过方法和工具,将技术和业务的协同形成标准化的实践。

开发工具本身是为了帮助一线同学提升幸福感和效率。作为开发者,关心的是如何能够专注而高效地工作、高效开发和测试,但更重要的是,保证自己做的是正确的事。

现在有一个趋势:做底层研发的越来越少,软件研发的方式和习惯在发生变化。

现在,开发做的不再是一个通用工具,而是要随着业务不断演化。

为什么一定要从DevOps走向BizDevOps?

如上文所述,作为加快金融服务智慧再造的重要组成部分,BizDevOps成为重塑智能高效的服务流程的核心能力组成。但BizDevOps也不是另起炉灶,而是DevOps的自然扩展,从打破IT内部的墙,到打破IT与业务的墙。

DevOps于2009年被提出,主要是为了打破Dev与Ops的墙。当时的墙还是比较明显的。Dev关注的是快,对象是代码,Ops关注的是稳,对象是机器。两者目标天然有矛盾,部门墙由此建立起来,这当然不利于IT 价值的最大化。

2009 年,在美国举行的第二届Velocity大会上,来自Flickr 公司的John Allspaw和Pauk Hammond发表了一个演讲《10+ Deploys Per Day: Dev and Ops Cooperation at Flickr》。在这个演讲中,Allspaw和Hammond以角色扮演的方式,生动地表现了开发与运维之间的各种冲突。演讲中出现很多金句,如”It’s not my code, it’s your machines!”,这深刻反映了Dev和Ops关系的现状。接着,他们又展示了开发团队(Dev和运维团队(Ops如何通力合作,借助工具消除双方间的壁垒。

这次演讲是DevOps发展历程中的标志性事件。它提出了正确的问题:为了更快交付和实现价值,必须弥合开发和运维之间的鸿沟,并给出了解决方案:为了弥合开发和运维之间的鸿沟,需要在文化、工具和实践方面的系列变革。

而在今天的大环境下,我们面临着一个新的问题:如何打通业务(Biz)与开发运维(DevOps)之间的墙,以更好地应对数字经济下的挑战。

仍以阿里为例,今天阿里的中台也面临两个问题。第一个是协同问题,阿里中台本身是一个大部门,大的业务线和小的业务线从前台传递到中台有优先级,但大家都觉得自己很重要,这就是一个典型的大型企业协同问题。第二个问题就是如何不让技术、中台本身成为瓶颈。阿里希望业务可以自己去做技术,这样有价值的想法和创新可以得到最快的响应。

“你们团队是业务主导还是产品主导?”技术人都不希望被当作资源去做事,而是希望可以和业务合作以达到业务成功。其实,业务和技术应该是共生合作的关系。

在零售和金融行业,这种关系比较明显。比如银行的业务占绝大多数,大概有90%,如果有业务研发一体化的系统,技术可以满足更多的业务诉求,那么业务就能更快地完成工作。

如何落地 BizDevOps?

DevOps运动还没结束,仍在继续发展。DevOps运动有很多可以给BizDevOps借鉴的地方。

首先,是在目标上进行统一。DevOps为了统一目标,借鉴了精益管理、敏捷管理、看板等工作方法,打通了整个DevOps流程,产生了非常好的对于管理方法的驱动。其次,DevOps在开发和运维之间找到了共同点。大家关注的是应用,以应用为中心去做开发,演变成了阿里和微软的OAM模型。因此,既要有理念和方法上的改变,还要用技术手段来解决问题,这是我们需要从DevOps运动中学习和借鉴的。

那么,业务和技术的共同目标是什么?在流程中有什么共同关注的东西? 共同的目标、共同的关注点,有效的技术或者工程实践,是BizDevOps落地的关键

首先,要把业务、DevOps统一起来,统一语言非常重要。业务和技术有墙是正常的,因为业务间本身可能就有割裂。以银行为例,每个部门画图的标准不一,统一业务的语言就有难度。业务之间先统一语言,然后和IT用统一的语言沟通,然后统一数据和业务。从基础语法到长期熟练地使用语法,制定业务标准、数据标准,行业上下游企业定义好标准,这个过程的整合需要时间。

对于软件行业来说,DevOps代表第一生产力,数据代表软件下的生产资料。DevOps发展多年,相对来说已经很成熟,因此成为快速迭代、试错的实验系统。在已经有这套系统的情况下,Biz就更应该好好利用这个系统。

现在,可以把Biz放在DevOps前面,后续也可以把Biz放在DevOps后面。这意味着业务不是拍脑袋做的,而是有数据验证的。Biz、Dev、Ops这三个单词不应该是在一条线上,而应该是一个环,加入数据这个生产要素之后,我们可以用实验精神来创造一些商业机会。

当前能做的是,借鉴DevOps的经验,有一定的工具来承载最佳实践和方法,固化到流水线上帮助落地。

有的企业搭了一下就觉得自己在做DevOps实践了,其实我们还是要有更高的追求。从文化上解决和改变工作方式,短期内是无法做到的,更加合理的方式是去培养复合型人才。DevOps让开发要懂测试,DevSecOps让开发要懂安全,Biz加进来以后,开发人员也要懂业务。事情没办法一步到位,也许在过渡期中,一个比较好的方式就是产学研联合去培养复合型的人才。

最后仍然要强调一下, BizDevOps最大的机会点还是在需求本身,在构建数字化的生态本身

BizDevOps的产品应该如何打造?

特斯拉的Elon Musk曾说 ,”比起造汽车来说,设计这条流水线的难度是它的100倍。”那么,如何做才能把BizDevOps的流水线做出来?

阿里云云效平台负责人陈鑫提到,在服务众多云效客户的过程中发现,科技部门对于DevOps比较有共识,同时也欣然接受。例如大家都会理解一体化研发运维平台、走向云原生这样的一些概念和说法,DevOps的标准和方法实践都在逐步收敛以适配开发者需求。

但是,业务部门还完全没有达成这种共识。现状是只解决技术部门的效率问题,很难改变业务的创新效率问题。如果有一个工具可以让业务看到工程活动和业务之间的关系,那么业务部门就可以作出判断和行动。很多企业有非常多的工具可以用,但没有可以实现数字化目标的工具。

打造BizDevOps工具有很多难点。比如目前市面上有很多DevOps工具,但企业还是会再造一个工具,为什么?因为各个工具的数据模型并不一致。因此要想 打造一个BizDevOps平台,首先要保证数据一致。大家对一些最基础概念的认知要拉齐。当前不同的人对于”应用”的定义和理解都是不一样的,如何能形成通用规范?

另外,DevOps需要不同的人协作,BizDevOps作为一个工具或者平台,如何让多个角色有统一的视角,避免互相传递各自视角的信息导致低效,也是非常关键的。此外,工具不是为了改变而改变,工具是用来解决问题的,工具本身不能对用户的状态进行假设,必须适配用户在各种条件下的状态。而研发自身也需要做数字化转型。研发过程中也会产生数据,产品研发本身实现数字化转型,才能更好地支撑更大的数字化转型。

整体来说,BizDevOps在概念、流程、方法上如何标准化,需要业内一起努力,共同推动在产品上的落地。

如果BizDevOps真得发生,未来会如何?

BizDevOps对业务的创新速度和有效性会产生很大的作用,数据会变成基本常识,业务和开发之间的分别也会模糊起来。一定会有部分业务人员愿意往开发上靠近。开发人员抽象分析问题的优势也会给业务人员带来很多的价值。

将来的业务更多是从用户的视角去打通链路,建立本质的认知和数字化模型。 一切业务数据化,一切数据业务化。业务能够以更自然的方式向研发过渡。一个人的职业发展方向也可以有比较大的选择,人才培养上也会有一些变化和创新。

如果BizDevOps真的发生了,可能业务之外的组织上的各个function会成为最大瓶颈,其他BU的决策过程可能都要做相应的调整。 未来,企业肯定要跟着BizDevOps做转型

下一步,我们怎么做?

经过深度研讨,产学研6位专家在时代挑战与机遇、BizDevOps重要性与必要性、落地方法与方式上达成了共识。他们希望围绕BizDevOps的探讨不仅仅停留在这个层面,而是可以继续从产学研界的共同努力着手,推动BizDevOps真正发生,为软件产业的变革贡献力量。

因此圆桌会后,6位老师共同起草了一份 《BizDevOps行动倡议书》并联名签署,这意味着接下来,产业、学术、研究等各方将进行长期的协作和努力,共同推动软件构建与交付方式的变革。

为什么一定要从DevOps走向BizDevOps?
《BizDevOps行动倡议书》扫描件首页

为什么一定要从DevOps走向BizDevOps?

《BizDevOps行动倡议书》扫描件尾页

如果这篇文章对您或者团队有启发,欢迎转发给更多人,点击下方链接观看 《BizDevOps:数字化转型浪潮下技术破局之路》直播回放,也欢迎加入 BizDevOps 交流钉钉群,群号:44686237。

直播回放地址:https://developer.aliyun.com/live/249329

Original: https://www.cnblogs.com/yyds114/p/16433742.html
Author: 云效DevOps平台
Title: 为什么一定要从DevOps走向BizDevOps?

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/588985/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【Java面试】概念性的问题怎么答,看完高手的回答一口气答出完整思路,Nosql的理解

    “谈谈你对Nosql的理解”如果你遇到这个问题的时候,找不到回答的思路脑子里面一片混乱,然后回答的时候吞吞吐吐。建议你看完整篇文章。大家好,我是Mic,一个…

    Java 2023年6月16日
    074
  • SpringMvc的Url映射和传参案例(转)

    Springmvc的基本使用,包括url映射、参数映射、页面跳转、ajax和文件上传 以前学习的时候写的代码案例,今天整理笔记的时候找到了,很久没有来园子了,发上来当个在线笔记用吧…

    Java 2023年5月30日
    069
  • spring*.xml配置文件明文加密

    系统架构:spring+mvc(Oracle是用jdbc自己封装的接口) 1.数据库配置文件加密 原xml配置 ….. 加密实现过程 思路:继承DruidDataSource,…

    Java 2023年6月8日
    071
  • 支付宝沙箱服务 (结合springboot实现,这里对接的是easy版本,工具用的是IDEA,WebStrom)

    一:打开支付宝开发平台,登录,然后点击控制台 https://open.alipay.com/ 二:滚动到底部,选着沙箱服务 三:获取到对接要用的appId和公钥私钥 四:打开ID…

    Java 2023年6月15日
    081
  • java_day05

    Java流程控制 用户交互Scanner Java给我们提供了一个工具类,让我们可以获取用户的输入。java.util.Scanner 是Java5的新特性 基本语法 Scanne…

    Java 2023年6月5日
    0104
  • springboot应用中使用CommandLineRunner

    在springboot应用中,存在这样的使用场景,在springboot ioc容器创建好之后根据业务需求先执行一些操作,springboot提供了两个接口可以实现该功能: Com…

    Java 2023年6月6日
    071
  • Java基础 | Stream流原理与用法总结

    Stream简化元素计算; 一、接口设计 从Java1.8开始提出了Stream流的概念,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式;依旧先看核心接口的设计: B…

    Java 2023年6月15日
    083
  • Java maven反应堆构建学习实践

    实践环境 Apache Maven 3.0.5 (Red Hat 3.0.5-17) 应用示例 maven示例项目组织结构如下 maven-study │ p…

    Java 2023年5月29日
    071
  • canal 基于Mysql数据库增量日志解析

    canal 基于Mysql数据库增量日志解析 1.前言 最近太多事情 工作的事情,以及终身大事等等 耽误更新,由于最近做项目需要同步监听 未来电视 mysql的变更了解到公司会用c…

    Java 2023年6月9日
    0104
  • Spring boot 处理 error 的套路

    Spring boot 处理 error 的基本流程: Controller -> 发生错误 -> BasicErrorController -> 根据 @Req…

    Java 2023年5月30日
    062
  • Git配置用户信息和SSH免密

    一、配置用户信息 1.查看配置信息 查看所有配置 $ git config -l/–list 查看系统配置 $ git config –system -l/–list 查看用…

    Java 2023年6月8日
    077
  • Java 形参传递机制

    形参细节补充 形参传递机制 如果前面的基本类型和引用类型学明白了,这一部分很简单。 在执行类方法的时候, JVM 会开辟临时栈,这个 临&#x65F6…

    Java 2023年6月5日
    077
  • Maven 依赖调解源码解析(五):同一个文件内声明,后者覆盖前者

    这次我们让 A 直接依赖 X,且在 A 的 pom.xml 中声明两次 X,分别为 1.0 和 2.0 版本。内容如下: 这个场景比较简单,不涉及调解器,我们直接对着图看一下主流程…

    Java 2023年6月16日
    045
  • select,poll,epoll

    select、poll、epoll 区别总结: 底层实现 select/poll 首先把关注的Socket集合从用户态拷贝到内核态,然后由内核检测事件,遍历整个集合(由于线性结构实…

    Java 2023年6月8日
    059
  • java中instanceof的用法

    一、介绍 instanceof是在多态中引出的,因为在多态发生时,子类只能调用父类中的方法(编译时类型的方法),而子类自己独有的方法(运行时类型的方法)无法调用,如果强制调用的话就…

    Java 2023年6月13日
    073
  • 生产计划体系完整解决方案(1)-复杂大规模问题的分阶段规划

    背景 在过往参与的一些项目支持工作,以及平台发布后各位小伙伴使用过程中,经常遇到这样的问题:你这个引擎性能怎么样?可以处理多大数据量的排程?我有数万个任务,这个引擎多长时间可以排产…

    Java 2023年6月16日
    087
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球