不用写代码也能实现后端微服务开发?

11月17日开始,一段视频在朋友圈里被很多做软件开发的创业者、从业者朋友转发。视频里的一幕是飞算全自动软件工程平台发布会(下文简称:发布会)现场的一个小片段,关于一个运动计时项目开发PK赛,基于飞算全自动软件工程平台,一个普通IT工程师只输入流程图,不敲一行代码就实现了后端开发,28分钟的时间,完成了3个资深IT工程师近2个小时开发工作。

他们对此的关注点并不一样,许多老板关心的是,用这个平台能给自己省多少钱?而从事软件开发的人员关心的是,它能多大程度的提升“生产力”。从阿达洛芙莱斯编写历史上首款电脑程序至今已一百多年,软件已成为社会的基础设施,C++语言发明人Biarne Stroustrup甚至说,(未来)人类文明运行在软件之上。可相比软件应用实现各行各业的数字化转型升级,软件工程本身却是一个高度依赖人工的行业。

四年前飞算云智总裁陈定玮开始思考这个问题,并成立团队研发飞算全自动软件工程平台,如今终于实现了“你输入流程图,平台助你实现自动开发、自动测试、自动运维”。只需要输入流程图,不敲一行代码就可以实现快速开发。

其实在如何更有效率、更有质量的进行软件开发方面,企业进行过很多尝试,从组织制度与流程规范上入手,高薪聘请有经验的高级工程师,通过频繁的周会、月会加强内部沟通等等。在这些环节中,具体实施层面代码仍然要靠程序员一个字符、一个字符的打出来,如果“消灭掉”打代码的时间,软件开发效率提升是毋庸置疑的。更关键的是,人工创作的代码往往“因人而异”,随着时间它出现问题的概率也就提升。用陈定玮的话说,代码就好似一块砖,砖的品质不好,最终的房子质量也就难保证。

这一切就没有好的解决方案了吗?软件行业的发展积累了大量优秀实践与制度,只要把它们系统化、流程化,由过去人去把控,转变为交给平台,许多难题就会迎刃而解。陈定玮认为这是软件工程从“人治”到“法治”的转变,他的野心也不止于此,飞算全自动软件工程平台的未来不仅仅是提升行业效率和质量,产品使命是“让人人都能开发软件”。

一、软件自动开发是大势所趋,可视化开发、平台组件、经验累积组成三大能力

程序员、工程师、产品经理等职业,在大众眼里既熟悉又陌生,996、发际线、格子衫等网络梗,简化的标签让公众熟悉这一群体;可具体在工作内容上,一行行代码让“外人”望而生畏,他们用一些字符就能“变”出各种各样的程序和应用,极具神秘感。可在行业里,过去像堆积木一样,一个字符一个字符“打代码”的现象开始减少,大家开始了各种的“偷懒”模式,比如最常用的就是把别人的的代码“copy”过来。自 2014 年 Martin Fowler 与 James Lewis 共同提出微服务(微服务的基本思想在于考虑围绕着业务领域组件来创建应用)的概念以来,就吸引了大批工程师和企业的关注,可以说是当前软件开发领域最火的技术热点之一。

相比传统“大而全”的单体架构,微服务架构在故障隔离、整体可用性、架构持续演进难度、可重用性、可扩展性和交付速度等方面有突出的优势。不过问题也存在,当采用微服务架构的项目数量超过十几个,运维难度就指数级增加。2016年底陈定玮也遇到类似的难题,开始思索:能不能用不需要写代码的方式来实现微服务架构的开发,进一步缓解研发项目管理的压力?飞算全自动软件工程平台就在这样的思路下诞生的。

根据艾瑞咨询最新发布的《中国软件开发行业研究报告(2020)》指出软件行业的作业方式落后,过度依赖人工,缺乏标准化,导致软件行业存在明显的四大痛点:项目成本高、开发周期长、代码质量低、团队管理难。飞算全自动软件工程平台将软件自动开发推向了系统化、规范化的新时代,它将在三个层面优化软件开发的效率和质量。

1、可视化微服务降低开发门槛;传统软件开发,就是程序员一行一行地打代码,并将这些文件“打包”成软件放在端上运行。可以看到,传统软件开发是不可视,代码存在问题只有在测试运行中才会发现。飞算全自动软件工程平台提供了可视化的后端微服务开发,也就是说,用户绘制可视化的过程即是微服务开发的过程,业务逻辑的设计完全由可视化的方式展现出来,大大降低开发门槛和效率,据悉,该平台目前已申请多项技术发明专利。

2、通用技术功能模块“拖拉拽”快速开发;经过数十年的发展,软件开发产生大量的通用技术功能模块。过去,程序员想要使用这些技术功能模块,需要一面参照“样板”,一面手打或复制的方式用在自己程序上。而飞算全自动软件工程平台支持循环、条件判断、函数调用,通过拖拉拽的方式以及参数配置实现等同编写复杂代码的业务逻辑。

我们知道,这些通用技术功能模块并不是一成不变的,是大量工程师和程序员在实际工作中产生的,过去他们是通过一些技术交流平台实现“沟通”及互相学习。而飞算全自动软件工程平台搭建了一个众创中心,工程师可根据自身经验提供封装组件,让使用者能够快速使用、快速开发。也就是说,飞算全自动软件工程平台的技术功能模块会根据时间的推移而“进化”。

3、工程师经验值实时沉淀,构建质量和安全体系;传统软件开发中会遇到一个问题,当更换了工程师,往往会碰到看不懂前辈们老代码的问题,更有甚者,同一个工程师也存在看不懂几月前、几年前代码的现象。因为代码编写方式非常灵活,每个人、甚至同一个人的不同时间段,都可能存在不同风格的现象。这种“灵活”性给软件的质量和安全带来很多不确定性,飞算全自动软件工程平台又一大能力是支持工程师所有的经验值在平台上沉淀,由此形成了质量和安全体系。

从以上三点我们看到,软件开发正在逐步的走出“手工作业”的时代,软件行业大量的优秀实践与制度,为软件自动开发提供了发展的基础。飞算全自动软件工程平台能够诞生的原因,也是站在前人沉淀的大量经验之上,加之团队四年的研发,并付之于实践验证,最终成就目前的形态。

毋庸置疑,可视化开发、平台组件、经验累积组成了飞算全自动软件工程平台的三大能力,在多个维度上,支持着软件开发由过去“人治”向“法治”的过渡。在当下,程序员、工程师薪资动辄几万元,飞算全自动软件工程平台的出现将大大缓解软件企业、研发企业的成本压力。站在软件行业从业者的角度,该平台也大大提升他们的“生产力”,也就意味着他们人均工资还有上升的空间。朋友圈里大家频繁转发飞算全自动软件工程平台的新闻,足见行业对软件自动化需求的迫切。

二、颠覆“人治“作业模式,“降本增效”推进软件工程革命

上一部分重点提到,过去软件开发行业处在典型的“人治”阶段,行业痛点始终与人有关,人的个性化也导致了招聘难、培养难、留人难、技术沉淀难。飞算全自动软件工程平台开发软件,只需要一张流程图,输出的也只是流程应用,没有代码。当我们聚焦它给行业带来效率、质量革命的同时,也不能忽视,在降本增效方面的提升。

1、减少人员配备,研发费用节省75%;几年前双创热潮,留下了滴滴、拼多多、抖音等一众超级APP,也有许多创业项目“死”在了路上。和大家想象的不同,很多创业项目未必是“想法”不好,而是“死”在了应用开发庞大的成本压力上。

咱们做一个简单的数学题,天猫淘宝这样的大平台,仅仅一个搜索功能就需要十几个人的开发小组,进行日常的开发和优化,养这些人的成本一年就是几百万上千万。而中小创业团队,即使是不大的创业项目,研发团队也要十几个人,一年几百万的人力成本,足以拖垮90%以上的创业公司。

如果使用飞算全自动软件工程平台进行该项目开发,一个平台ID人员可替代传统开发模式下六个岗位人员的全部工作,这个成本压缩,可以让很多项目摆脱因为“缺钱”死掉的窘境。

以某科技公司项目为例,开发一套互联网技术的微服务架构体系,要包括前端系统体系、业务系统体系和大数据体系等方面,而且需要版本高频率迭代。IT团队主要负责:需求分析,系统架构设计,微服务开发(包括:前端界面开发、技术服务支撑系统开发、业务系统开发、人工智能分析系统开发、大数据系统开发),系统测试和运维保障系统等,同时还需要兼顾对外合作项目开发,涉及项目超30个,且要能够支撑千万级用户的业务量。

基于上述配置要求,“传统开发模式”和“飞算全自动软件工程平台”两者人力成本的相关费用对比如下所示:

如果使用飞算全自动软件工程平台进行该项目开发,该科技公司每年可节省75%以上的研发费用。尤其在人力成本方面,一个平台ID人员可替代传统开发模式下六个岗位人员的全部工作,而人力成本仅占后者的30%。

2、项目周期大幅缩短,软件开发效率提升;如果说人力成本是“显性成本”,那时间成本就是“隐性成本”。几年前,马化腾把腾讯的渐进式创新解释为“小步快跑,试错迭代”。在移动互联网时代,用户对软件、应用体验的要求日趋提升,一个产品能否及时实现新功能的上线和运行,有时候也是决定平台生死的核心所在。

飞算全自动软件工程平台上开发软件,你只需要一张流程图,输出的也只是流程应用,没有代码。也就意味着,能够缩减大量打代码的时间,而且飞算全自动软件工程平台上利用代码质量平台统一管控,提供标准组件化及行业组件开发、安全等封装在管理平台中,让开发者实现从产品设计开发、测试到交付、运营全生命周期的高质量建设。

在以秒为单位进行竞争的移动互联网时代,大大缩减项目周期,这对于软件企业或研发部门而言也是非常必要的一个优势。

3、解决软件工程行业人员紧缺的问题;其实,即使是“不差钱”的互联网、科技或传统企业,想要开发一款软件或应用,往往也存在研发人员紧缺的问题。要知道,一个成熟的开发团队构建并非一朝一夕能够完成的。开发一套互联网技术的微服务架构体系,要包括前端系统体系、业务系统体系和大数据体系等方面,而且需要版本高频率迭代。包含需求分析,系统架构设计,微服务开发(包括:前端界面开发、技术服务支撑系统开发、业务系统开发、人工智能分析系统开发、大数据系统开发),系统测试和运维保障系统等岗位,每个环节都需要大量的专业人才。

而飞算全自动软件工程平台,通过“法治”有效解决软件工程从项目启动到运维151个问题,基础的工程师只要懂业务逻辑,即可通过飞算全自动软件工程平台实现软件的开发。

从以上几个方面我们能看到,软件开发自动化的价值不仅仅是节省人力成本,实现软件开发效率提升和质量保障,更重要的是它大大降低了企业软件开发的门槛。发布会上工业和信息化部信息技术发展司副司长杨宇燕就表示“近年来,软件和信息技术服务业持续快速发展,有力地支撑了制造强国和网络强国的建设。在这一发展过程当中,也涌现了一批能够代表中国原创的软件技术。希望这些技术成果,能够有效地推进软件行业现有作业模式的改变,降低开发成本、提高开发效率,助力更多的传统企业实现数字化的转型升级。”

事实也正是如此,飞算全自动软件工程平台诞生的意义不仅仅是成本上,而是在整个产业的重塑上,当软件开发门槛不断被降低,意味着产业更加繁荣就具备了基础。

三、数字化转型浪潮已来,“让人人都能开发软件”

工业互联网、人工智能、5G、大数据、物联网等先进技术的诞生,加速着中国及全球新一波数字化浪潮的发展,因此信息产业人才缺口也逐年提升。数据显示,2019年,全国软件和信息技术服务业规模以上企业超4万家,累计完成软件业务收入71768亿元,同比增长15.9%。

然而,据工信部信发司软件处调研员傅永宝透露的一组数据显示,当前我国整体软件人才缺口达600万。软件和信息技术服务业从业人数达673万人,同比增长4.7%,但增长速度远无法满足巨大需求,从关键基础软件到大型工业软件、行业应用软件、新兴平台软件、嵌入式软件,“全线”缺人。

正因为这种现象,无论是软件企业老板还是从业者,才会非常关注飞算全自动软件工程平台的一举一动。对企业老板而言,有了这款飞算全自动软件工程平台,节省人力成本只是一方面,也大大缓解了他们大量招聘人才和团队管理的难题。从业者们也希望能够有这样一款软件,为他们“减负”,虽然格子衫、发际线等固有印象有所偏颇,可也是他们生活状态的一种呈现。996甚至无休式的写代码生涯,即局限了他们职业发展空间,也大大透支了他们的身体健康,把有限的时间放在更有价值的工作上,将有助于自身的职业成长。

发布会现场,问及陈定玮为何能够在重重压力下完成项目研发,他提到了产品使命——“让人人都能开发软件”。当然,这是一个非常“宏伟”的长期目标。更为现实的是,只有不断地降低软件开发门槛,平台协助更多的从业者肩负过去可能无法完全胜任的工作,才能够大大提升整个行业的“生产力”,这有助于中国信息产业在全球竞争中跑的更快一点。

中国工程院倪光南院士就表达了自己的期许:“针对软件行业的痛点,非常高兴地看到飞算全自动软件工程平台提出了很好的解决方案,希望你们能够在实践中不断发展,为解决软件工程的这些痛点作出贡献,如果能通过实践的验证,那么对于软件行业的发展将很有意义。”

四、尾声

过去十年,天浩也见过很多公司不是倒在了产品不行问题上,而是被巨大的软件/应用开发成本所拖垮。站在整个产业的角度来看,行业需要更多的飞算全自动软件工程平台这样的产品。

毋庸置疑,飞算全自动软件工程平台的全球首发,引领原本高度依赖人工的行业,从此进入智能化的全自动时代。它的意义不止如此,在新的数字化浪潮大背景下,一个崭新的时代或许已经开始了。