应用现代化六大关键技术, 加速企业数字平台进化升级

大模型技术重塑软件研发,孕育着颠覆式的应用开发新范式

大模型对于软件研发的一种重塑,我们一直讲一个范式:从In the Loop到On the Loop。现在大家看到的大模型在软件研发领域的应用大部分情况是一种辅助的角色,最终软件开发还是人,还是各个程序员,但是未来可能会发现在软件里面有很多角色会真正被人工智能替代。从我们的测试工程师慢慢到写代码的工程师,逐步有一些环节被替代。这样会发现原来做软件的人可能已经从软件开发的循环中跳出来了,我们称之为是有上帝视角,就是变成On the Loop,不在循环之内,会站在治理的角度看软件,这样可能对未来很多应用开发模式带来本质上的颠覆性的结果。

我们看到软件本身,更准确地说是未来应用的本身在变化。以前的应用都以软件为主,但是未来的应用会发现有数字内容,就是新媒体的形式。也会有大量的数据在软件之中,进而有人工智能的模型在里面。之后再和原来的代码融合,这样就变成了一种“数智媒融软”多模态的应用。可以想象原来只是软件代码的生产过程肯定不能匹配新型应用的生产过程。另外软件本身,以前最简单的交互模式都是通过命令行、图形界面,未来会变成大量的应用都是通过智能助手,不管是通过对话或者是更新型的形式交互,但十年以后的黑客帝国,可能看到的世界都是由AI给你重塑出来的。对于以前的软件是由我主要设计场景是什么,而以后可能是AI来给你制造新的交互世界,你在这个交互世界中寻找到自我,本质上在软件本身就会变化。这样使得在整个软件全生命周期,应用全生命周期,从设计、开发、测试,以及运维都会有革命性的变化,所以这些一定会影响未来应用。

其实什么是应用现代化,应用现代化一直是一个过程,我们希望一个企业的应用能够从传统的应用走向一个现代化应用,这是一个过程。但是怎么能让这个过程被加速,这就是我们企业所面临的问题。

所以之前讨论过到底传统应用跟新型应用有什么区别,因为我们知道未来的企业客户需求越来越多,意味着需要越来越多的应用,但是这些应用按照开发者的速度来看,中国开发者可能现在专业型就是一千万左右,未来预测到2025年可能这种应用数量将是过去人类历史上40年的总和,这么多的应用要被制造出来,怎么样能够让应用的制造量变大,是不是需要让所有人都能参与应用的开发,这样称之为未来要变成全民都要能开发应用,这样才能真正满足未来企业的要求。企业大量的数据是烟囱型的,怎么让数据被唤醒,被高效地利用,为未来的智能决策提供价值,这也是面临的问题。

最近出的软件现代化里面讲应用最核心就是要速度,就是要快。以前都是按月为周期,以后怎么变成按天级产出,这也是企业希望的。还有本质上现在的应用也在进行架构性的调整,从单体走向越来越多微服务,进而演进到serverless,不需要为运维提供更多的能力,所以新一代的技术架构也在驱动我们的应用在变化。

同时我们现在看到随着比特币的出现,这种对于安全的讹诈不像以前有很多链路可以追踪。近几年在软件供应链的攻击已经按照每年6到7倍的方式在增长,以前应用安全的方式都是建篱笆和围栏,用各种墙拦在外面。未来需要让安全内生起来。

第二个,大家现在都知道软件应用成分70%到80%都是开源软件。每天都在社区公布漏洞,去年公布的漏洞达到3万多,意味着你写的软件每天黑客都可以看到应用开源软件的漏洞被公布,就可以攻击进去。所以怎么能让应用变成内生和全生命周期的安全,也是企业面临的挑战。

还有更重要的就是随着整个企业IT变成业务最核心的应用,几年前看到公告某某机房检修,应用可能要停几个小时,现在每停一个小时基本对企业都是损失百万以上,所以变成7×24小时永远不能停机的应用已经变成企业的基本要求。

面对这些现代化应用的诉求,我们发现必须让所有的应用都能够被加速,这才是一个应用现代化最高效的路径。所以我们构建了企业数字化的平台,这个平台最重要的就是能够把企业面对未来现代化应用的基本要求内置到平台上来承载。未来会有越来越多的像人工智能新技术、区块链新技术,必须需要有一个平台导入,不可能让每一个应用开发者将新的技术部署研究一遍,如果它能够变成数字化的能力基座,这样企业进化速度就会变快。

在华为公司有很知名的几个变革项目:一个是面对研发的IPD变革、面对供应链的变革ISC、财经变革IFS,每一个变革为华为在该领域能力的提升都是倍级的增长。现在随着华为公司又有新的挑战,因为我们已经生出很多新的公司,从集团原来的集中式的作战现在变成“村自为战”,为企业IT提出新的要求。我们希望“6+1可”,意思是当我决策明天有一家企业分离出来的时候能够做到,如果是物理新开所有的IT,我们希望做到三天,如果需要以多租户的形式,希望一天之内就把一家新的公司分离出来。公司需要具备什么能力就是“6+1可”,马上就能够研发,马上就可以有营销体系、供应链体系、财经体系、人力资源体系、行政办公体系能立即运作起来,而且使得内控审计立即运作。我们认为未来的新型企业只有这样才能真正满足在数字化变革里面的基线要求,我们需要用数字平台来承载企业未来的现代化应用的历程。

什么样的应用能够真正做到现代化应用,后来我们也把这样一些标准贡献给联盟。这个标准上面是金字塔,顶上关注的就是业务感知,因为所有未来企业的应用都是以用户为核心,过去传统的应用都是功能型,未来系统都是以人为中心的,你需要出差,飞机、火车、酒店都是围绕你的用户历程进行组织,这才是新型的应用。

中间的层次就是新型的应用,我们称之为DFX的能力,需要把高可用、弹性的东西内置进去,一共是八个维度102个指标,一步步衡量起来,才认为这样的应用满足了现代化应用的一些能力。

第二,我们认为越来越多的应用,尤其在企业里面会有非常多的成熟资产,这些资产应该像乐高积木一样是被组合组装,才能有最高效地重用,使得以后懂业务的人员就可以一点点将应用制造起来,就是懂得讲清楚有需求的人,未来就是生产应用的人。

第三,会应用更多数仓、数据的平台汇聚数据再使用智能化的能力,使得我们应用数据价值被发挥出来。

第四,应用现代化新型服务化的架构改造原来的应用架构,再就是通过全域供应链安全的一些技术,使得我们的应用从原来的单体防御或者运行态的安全走向全生命周期的安全,增加整个应用韧性的能力。

 

华为云应用现代化6大关键技术,引领企业数字平台升级进化

第一个,研发智能化。在HDC大会上发布了CodeArts Snap也就是基于盘古大模型的研发智能化的能力。华为内部现在有2万多开发人员在深入使用基于盘古研发模型的能力。在我们网优网规的部门有很多算法,而且平台中有很多种语言,员工一进来对于不同语言的理解和熟悉程度都是有差异的,尤其是很多深度的算法,很多都是用函数方式形式写的,这样对于员工理解是有障碍的。还有很多问题的定位周期也很长,因为对整个程序的理解不一样。我们使用智能化助手以后做到很多辅助经典算法的分析,就把代码圈起来就会跟你解释,对于开发人员理解代码非常有价值,可以从三天理解时间缩短到两个小时。第二,为了让语言尽可能归一,会重构或者重写一些模块,这些模块通过大模型,最终都会变成虚拟机上运行的内容。所以用这样自动翻写的能力,可以把很多的程序转换成JAVA。同时在很多定位方面,可以有大幅地提升。我们发现在很细节的点上,真正的软件开发除了补全能力,还有很多应用里面,场景上有几十个都能够帮助开发人员大幅地提升效率。

第三,低代码开发。过去程序以前都是模块型,未来很多场景都是适合低代码重构,比如华为云有运营系统,驾驶舱。运营系统的用户下订单都是流程性的。过去都是把流程写在代码里面,但现在通过工作流的方式,可以进行流转的描述,这样未来理解业务人员,比如订单流程怎么调整,只需要把拖拽流程的节点重新设计业务流又可以更新了,可以把以前一个软件周期按照月的方式变成每天业务人员都可以调整这个流程,所以在这类流程作业的东西完全适合低代码的。

还有很多领导喜欢看报表,驾驶舱很多都是前台加上后端的数据对接,很多大屏应用都变成一个个前端的微键以及后端微服务对接的模式,可以非常容易以拖拽的方式进行存储,这样一个大屏的定制不再需要代码,效率基本上提升50%。

有很多应用都类似,比如在华为不同产品线之间,有很多数据原始模型是一致的,但是每一个业务都有定制化的要求。过去都是用拓展字段完成的,但现在大家都知道非常出名的Saleforce为什么能够把各个厂商用户管理的东西都能识别,因为是基于多租和原数据的技术。所以在低代码中把原数据描述清楚之后,后面应用基于原数据的重新组装,又可以变成更加快捷的方式。它带来最大的收益是过去针对不同的定制会变成几十个,甚至上百个版本,但是现在用原数据多租,主线路只有一个版本,所有定制都是在原数据本身上面进行差异化。

在数据应用的时候,有很多生产制造的东西是确定性问题,如果用大模型的话,可能每次给答案都不太一样,这样会带来一些困扰,但是我们有大量的数据之后,只要是有限源的处理可以还原成数学,最后变成求解的问题。在华为很多生产排产,因为涉及到生产、物流等各种各样的因素,我们反过来可以用求解的方式来解决这类的问题,这样使得过程可以更加确定。在这些点上,最大就是南方工厂,排产应用AI求解器后,每年在排产和调度上年节省的资金是2亿多,库存提升了37%,而且整个任务令的自动执行效率也提升了52%。所以在智能化的时代,一部分的非确定性问题都在按照大模型的方式在探索,但也有很多确定性的问题,一方面用数学求解器的能力在解决,同时还有一个方法,那就是让AI写成程序,因为程序的最终输出也是确定性的。这样就能把企业遇到的两类问题很好地解决。

前段时间华为对外发布的MetaERP是服务于华为公司生产制造、供应、采购、财务业务的SaaS应用,但是我们在年间、季末、月末有大量的计算,而且这些计算要求很短时间内要把结果输出,对算力的集中要求非常大。过去只能把资源进行统计,但实际上就会发现是非常典型的波峰情况,到这个时候才应用,平时都是闲置。使用到Serverless直接将弹性的能力融入到云的能力,当你需要算力的时候立即供给给你,而且应用都变成一个个函数的处理,所以使得在MetaERP的应用,整体资源的消耗降低了70%,为企业省了大量的钱。同时在很多应用的冷启动时间是用快照的方式,从100多秒下降到7秒,真正开始满足企业,尤其是在突发性计算任务上,真正能够帮我们企业节省。

第四个,安全可信:安全就是让研发工具端到端形成更可靠的供应链体系,让12个攻击点的地方都被防御。但是现在包括美国和欧洲都在出台一个新的SBOM软件清单的标准,我们的产品发出去的时候,可能都不知道里面的成分,开源软件、版本、集成第三方的情况。但是这些就可能变成软件最不安全的要素,所以说现在软件的管理也像硬件一样,我们的硬件用什么芯片都是清清楚楚的,以后软件在生产过程中都会最终在交付件上提供SBOM清单。SBOM清单在中国也在形成标准,以后在软件的编译过程就会出这样的清单,对于软件制造商可以非常清晰地看到你依赖的软件,当一个漏洞发布的时候就知道对现网有多少影响。反过来,也保护了软件一致性上的新要求,所以这块也会变成安全非常重要的环节。

最后一个是韧性。在华为云上引入混沌工程,我们一直期望软件设计的永远高可用,这些都是做不到的,一直讲只有在实战中才具备经验。所以好天气是造就不了好水手的,所以现网的环境是必须需要越来越多容灾的检验,才能够提升风险应对能力。

混沌工程是验证系统韧性的方法,通过主动引入故障,解决这些问题,发现和修复系统弱点。在华为云中,已经大概总结出了200多个故障模式,有八大类的容灾预案。每年会开展2500多次常态化的故障演练,现在来看,已经帮我们拦截了接近90%以上可能会导致二级或三级事故的风险。所以希望通过混沌工程的方法能够使得未来要做到1到5分钟就能够感知故障,10分钟内就能够跟进,30分钟内就可以完全恢复业务,这样未来这些应用才能更加稳健。