查看原文
其他

管人比管代码难多了,基础软件黄金时代“全自动软件工程平台”火了!

赵钰莹 InfoQ 2021-09-10
嘉宾 |陈定玮
采访 |霍太稳
编辑 |赵钰莹
导语:多年过去,我们看到了基础软件领域的迭代和快速崛起,基础软件实现了对需求简单、高效且快速的交付。与此同时,软件的交付方式也因为云计算的兴起而发生了巨大变化。本期 C 位面对面,我们有幸与飞算云智总裁陈定玮对话,听他分享新一代 Java 开发工具飞算 SoFlu 全自动软件工程平台的心路历程及对基础软件行业发展趋势的观察。


“管人比管代码难多了”

“在互联网技术的发展过程中,我经历了一个比较痛苦的阶段。”

早期,随着飞算业务的蓬勃发展,整个公司不断涌入人才,人力成本升高的同时带来了复杂的管理问题,沟通效率降低,且很多事情在沟通后无法落地执行,这导致飞算云智总裁陈定玮除了开发之外不得不拼命在管理上下功夫。

“我对代码质量及最佳实践要求很高,但是每位工程师对此的理解均不相同,导致我们不得不花费时间沟通和调试,毕竟软件产品的品质很大程度上源自开发工程师,我们前期有很多金融领域的客户,对系统安全和品质的要求极高,这让我很痛苦,每天基本只睡两三个小时,所以就希望可以像制造业一样利用平台来自动化解决重复的工作。”

为了让团队从重复且低效的管理问题中解脱出来,陈定玮带领团队开始了飞算 SoFlu 全自动软件工程平台的研发。

近几年,我们其实看到了众多以“解放开发者生产力”为宗旨的工具,其本意都是希望让开发人员从繁琐的重复性编码工作中解放出来,而将精力集中在更高难度的设计和规划层面,飞算 SoFlu 全自动软件工程平台也是如此,这也与当下技术和企业发展的趋势相关。

首先,在 IT 时代,技术的更新频率越来越快,而大部分的开发工程师都倾向于在互联网大厂发光发热,这就导致了其他企业很难招揽到合适的人才;其次,即便招揽到了合适的人才,在具体的技术选型上可能也会出现分歧,天生带有“极客精神”的开发工程师们往往更倾向于用新技术解决问题,但企业本身可能更加期望获得业务上的稳定、高效运行,这两种想法之间是有落差的;最后,一项新技术得以被认可的前提不单单是改善开发流程,还需要做到很好地运维和管理,同时具备这两个条件的人才更是难上加难。

“飞算 SoFlu 全自动软件工程平台其实就是将原来开发工程师才看得懂的代码可视化让业务人员也看得懂,从而降低准入门槛;可视化也将所谓的业务模式或者业务经验沉淀在公司内部,而不是存在于某个员工的脑袋里;保证整个系统的质量和安全,尤其是现在这样一个相对开放的互联网环境中,安全至关重要,这些能力都可以沉淀在平台上。”

基于种种考虑和多轮迭代,飞算 SoFlu 全自动软件工程平台团队将前沿大厂使用的开发规范结合实际遇到的问题处理方式后,从效率、安全等多方面考虑,制定了自己的代码规范。比如,限定每行代码的写法、有些地方不允许 SQL 拼接、Join 不允许超过三次等。

除了规范,所有的代码还必须接受严格检测,确定没问题后才会被提交到代码仓库。同理,所有组件也必须经过代码质量管理工具扫描无误后才让用户使用。现在,飞算 SoFlu 全自动软件工程平台的质量管理平台上已经有一千多条标准,而新的规则也在不断被加入其中。

在安全问题上,飞算 SoFlu 全自动软件工程平台每个季度至少组织一次针对平台的白帽攻击。此外,还设置了特权账号管理,数据分析、相关维护等行为都在监控之下,并经过审批才可以进行。

现有技术条件下,每一种难度都有对应的方法可以破解,所谓的复杂度边界问题已经被大大弱化。自动化开发平台最大的难点是如何设计的问题,而不是技术。

单从飞算 SoFlu 全自动软件工程平台“解放开发者生产力”的初心来看,其与目前大火的低代码平台存在着相似之处,而这也是陈定玮常常被问到的问题。

这不是一个低代码平台

“我其实有点怕和低代码这个词挂钩。”

在如今很多企业的认知中,低代码平台本质只能解决简单的工作流,确实很多低代码平台均基于 BPM 这种流程引擎实现,以设计表单作为应用数据来玩转,无法实现复杂功能和逻辑;开发的内容需要绑定已有的体系或系統,通过低代码平台产生的服务或应用则都必须与平台绑定,导致诸多的特性都需依赖于特定的低代码平台才可以实现,这样一来,很大程度上无法保证系统的品质及安全;大部分低代码平台都是在做前端,使用的都是脚本类的语言。

相较之下,飞算 SoFlu 全自动软件工程平台可以实现一次开发、到处部署,后续不与平台本身强绑定,且整个平台使用可视化的模式面向 Java 开发,单从外表看与 BPM 模式类似,但内在逻辑有很大不同,平台上提供的每个组件都是一个技术点,类似于代码块。飞算 SoFlu 全自动软件工程平台的出发点是想让 DevOps 真正的落地,而实现“落地”首先重点要解决的就是开发的问题, 包括开发的品质、安全和效率等,再逐步解决测试和运维问题。

“驻厂人员可以消失”

“使用飞算 SoFlu 全自动软件工程平台的客户是不需要驻厂人员的,即使是对于并发量大、安全性要求高的金融机构客户,也是不需要驻厂的。”

对于传统企业或者大型金融机构而言,IT 建设过程中很大一部分是人力成本支出,也就是需要大量驻厂人员保证一个新系统的顺利上线,上线之后依旧需要专门的人员负责后期运维。换个角度来看,当前的很多工具还是没有达到理想状态。如果软件质量够好、安全性够高、运维工具足够简单,其实后续可以不需要驻厂人员來解決“因品质及安全”所带来的一系列问题,飞算 SoFlu 全自动软件工程平台目前可以实现这一点。

采访中,陈定玮透露曾经服务过一家国有背景的企业,主要需求是开发一个电商平台,涵盖商品推荐、下单、客服、秒杀等众多单元。为了完成该平台的研发,该企业组建了一个数十人的研发团队花费了一年左右,上线之后依旧出现了很多问题,比如功能无法满足需求、系统稳定性遭受质疑、信息安全达不到要求,最重要的是无法在短期内对上述问题进行修复。

“对方领导偶然间看到了飞算 SoFlu 全自动软件工程平台的发布会,半信半疑地跑来找我,我当时的想法很简单,我们不想做外包,这本身没有太多价值和意义,所以我就直接提出可不可以双方一起开发,但对方有点顾虑内部技术人员的实力,我说没关系,这是一个全自动的软件开发工程平台,可以低成本地高效进入,而且可以保证质量、安全和效率。”

最后,同样一个平台,该企业仅投入了五、六位研发人员和 45 天的时间就基于飞算 SoFlu 全自动软件工程平台完成了开发,且测试过程也表明平台的稳定性经得起考验,该电商平台可以根据企业的后续需求独立部署到任何平台,所有数据企业均可自行存储且平台本身已经将很多安全规范包含其中,保证了数据的安全性。

“我一直觉得如果不能真正帮助企业降本增效,反而是害了企业,所以如果没办法做到,我是不敢揽这个活儿的。此外,我也一直强调自己是交钥匙工程,未来企业不需要继续依托我们进行维护和迭代,并且在部署层面可以节省企业很多资源。平台分布式、可弹性扩缩容的设计理念相当于帮企业做了中长期的规划,只需要适时增加硬件资源即可帮助业务快速上升,无需对结构进行大的调整。”

任何一项期望改变现状的工具都免不了会激起部分人的逆反心理,而自动化的研发工具免不了与“替代开发工程师”的讨论挂钩。对此,陈定玮表示可以参考制造业从手工作坊时代发展到现在的自动化时代,其实并没有谁替代谁的问题,只是将开发工程师从重复的工作中解放出来,回归技术本身。如今的互联网架构不是靠设计出来的,而是经过实战不断演练出来的,互联网体系的很多内容是没有教科书的,所以经验尤为重要,这些经验可以由飞算 SoFlu 全自动软件工程这样的平台来提供,开发工程师可以将精力投入到真正创新的设计中。

为了让当今数字化时代最先进的生产力代表——开发工程师们可以快速抓住机会,飞算 SoFlu 全自动软件工程平台团队也在思索着开源。

做开源,需要真的懂

“我们有意将组件及函数或者算法开源出去,我们也希望每个行业的专家都可以基于此做出更有价值的东西。”

“我们其实只是一个开发工具,不可能涵盖所有行业,所以希望可以和行业内有开源精神的专家进行共建”。目前,飞算 SoFlu 全自动软件工程平台已经开始在开源上进行小规模尝试,之所以没有立刻进行大规模尝试,也是因为陈定玮对品质方面的顾虑。

众所周知,今年 6 月 30 日,GitHub 推出的名为“ Copilot ”的 AI 编程辅助工具在业内引发了不少的争论。根据官方介绍,GitHub Copilot 工具由 OpenAI 开发的全新 AI 系统 OpenAI Codex 提供支持。Codex 基于 GPT-3 自然语言处理 (NLP) 模型演化而来,基于开源代码和自然语言进行了训练,可以理解编程语言和人类语言,并独立生成各种形式的文本。

虽然 Copilot 受到了很多开发者的喜欢,但也有开发者提出了质疑。其中争议最大的问题:该工具是否违反了开源许可协议的规定。Copilot 代码生成优于 GPT-3 的部分原因在于,其在包含大量公开源代码的数据集上进行了训练,仅 GitHub 中就有 TB 级公开可用的代码及英语语言示例。

由于 Copilot 生成的代码不是 GPL 代码的副本,因此开发者无法辨认出这段代码是来自哪个项目。GPL 协议的一个特点就是如果引用了 GPL 的代码库,就必须开源引用部分的代码。即如果一家公司有一行代码引入了基于 GPL 协议开源的库函数,就必须把整个代码开源。如果“藏匿”了 GPL 代码的片段,再将这些代码复制粘贴到商业项目中,这对很多开发者来说就是违反了协议。

所以,做开源不单单是一股脑把源代码放出来就完事儿了,这其中涉及到很多不稳定因素,比如代码审查、安全性、软件质量、知识产权等等,只有真的把这套逻辑研究明白了才可以做好开源。对此,陈定玮深表认同:

不同的开源协议对应的条款及使用标准都是有严格规定的,所以我们一直在研究,希望既可以有效保护使用我们开源平台的开发者,又可以真的对这些开发者所做的事情有所助益,我们会在这个过程中不断试验、总结经验和进行调整,才能真正玩转开源,真正对社区、对开发者负责。

除了开源,当前最为受到社区关注的另一个趋势就是基础软件的发展,两者基本处于相辅相成的状态。对开源早有打算的陈定玮,对基础软件的整体发展同样有着自己的想法。

基础软件的黄金时代到了

几年之前,我们对基础软件的印象还停留在 bug 过多、升级周期长、运维难度大上,这让传统基础软件的替代品发展得如火如荼:软件定义网络、软件定义存储、云管理软件、平台及服务、容器编排方案等,这也让很多云计算的先行者发出“基础软件已死”的感叹。

在以往,传统软件公司如 Microsoft、VMware、Red Hat 需要为软件每次重大版本发布投入长期而巨大的研发人力和时间,很大精力用于确保软件的稳定性,而很少有精力进行产品项目的快速创新迭代,无法迅速获得用户反馈提升用户体验。其次,传统基础软件不具有扩展性同时价格昂贵,已经不能适应大数据、物联网时代的新处理需求。

在如今的大环境下,我们不得不说基础软件的发展进入了黄金时代,无论是云计算厂商还是其他技术型企业都将精力投入到了底层基础软件的研发中,越来越多的基础软件开始跟上整个 IT 时代的变化脚步。

在陈定玮看来,基础软件的发展在未来很长一段时间内依旧会是焦点,是值得关注的。此外,这与企业是否上云并不冲突,对于因监管而无法上云的企业,可以选择 SaaS 服务,使用方便、按需付费即可,飞算 SoFlu 全自动软件工程平台也是基于这种模式在做,只是整体偏开发类,是底层开发模式的创新,企业可以自行选择应用运行的基础设施。总结来说,基础软件的发展对整个社会还是非常有意义和价值的,对于期待利用基础软件进行转型的企业来说更是如此。

每项基础软件都有其特性和标准,可能无法按照企业的业务发展需求随心所欲的定制,即便可以也需要耗费大量成本。所以,企业需要根据自己的需求及时调整落地动作。

转型的第一个阶段,企业可以考虑先将业务数据化,也可以理解为业务系统化,这是最基础的工程,一定要把需要大量的手工的工作转用系统实现,并将数据留存,之后才有可能进行数据分析和决策。

转型的第二个阶段就是数据治理,如果无法对数据进行有效治理,导致数据来源不够及时、准确和安全,就会在数据运用的过程中暴露出种种问题,这也是为什么最近几年很少看到大家喊“数据大屏”的原因,数据治理做不好,数据大屏展现的都是面子工程,并没有真正起到作用。

转型的第三个阶段是智能化,也就是 AI 技术的加入。陈定玮认为,当前是一个非常好的时间点,中国拥有庞大的应用场景,且整个通讯的基础设施建设良好,可以支撑物联网、大数据时代的众多应用。飞算 SoFlu 全自动软件工程平台希望可以协助企业用低成本的方式高效进入这条赛道并蓬勃发展。

结束语

诚然,基础软件的黄金时代到了,这给了企业和开发者更多选择的空间,只要企业和开发者可以从中选择出适合自己的工具,同样可以迎来属于自己的黄金时代,正如陈定玮在采访中反复谈到的初心:

我们希望通过自主研发,用中国原创的核心技术为企业和开发者插上属于自己的翅膀。

嘉宾介绍:

陈定玮 飞算云智总裁

IT 行业资深技术专家,具有二十多年 IT 行业从业经验,通过多项 IT 原厂国际认证,9 年以上 CMMI 项目实施与技术服务经验。曾先后在多家知名 IT 公司担任系统顾问、高级技术专家,并获“海外高层次人才”认定。多次以专家身份受邀参加行业权威大会分享技术理念和实践,并受聘为国内领先银行业培训品牌 --- 思达优悦“企业大脑”专家组成员、金融科技顾问。

曾带领公司 IT 技术团队打造“神算”科技体系,通过全体系分布式架构,自建中间件平台,接口化对接无限个应用服务,支持负载均衡和线性扩展,满足业务高并发和信息秒级交互需求。可应对破亿次的日交互量,日数据处理能力达 PB 级,保障整个系统应用的高效运营。

2020 年,带领团队打造出“十人可抵百人用”的飞算SoFlu全自动软件工程平台,引领行业发展。

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存