Thu Oct 24
骞云实战分享 | 低代码平台:企业IT管理的一剂“良方”
2021-08-25
随着企业数字化和上云的趋势愈演愈烈,越来越多的个性化SaaS应用,需要更快、更高效的开发。低代码是近年来流行的一种企业软件快速开发技术和工具,凭借其低门槛、高效率和易集成等特性,受到越来越多软件开发团队的青睐。
据Gartner预测,到2024年四分之三的大企业将会使用至少4种低代码开发平台,用于信息化应用开发。届时,65% 的应用开发将通过低代码完成。今天我们就一起来聊聊低代码!
01什么是低代码平台?
1、Wikipedia的定义:低代码开发平台(LCDP)提供了一个开发环境,用于通过图形用户界面而不是传统的手工编码计算机编程来创建应用程序软件。低编码的平台可能产生完全可操作的应用程序,可能需要为特定情况编写额外的代码。低代码开发平台减少了传统手工编码的数量,加速了业务应用程序的交付。一个常见的好处是,更广泛的人可以为应用程序的开发做出贡献——不仅仅是那些具有编码技能的人。lcdp还可以降低安装、培训、部署和维护的初始成本。
维基百科关于低代码的定义有5个关键的点:
(1)通过图形界面写程序
(2)可以产生完整应用程序
(3)减少代码量,加速应用交付
(4)降低门槛(让更多人可以参与到程序开发中)
(5)降低成本(安装、培训、部署和维护)
2、Forrester的定义:应用程序开发平台,支持用最少的手工编码快速交付应用程序,并快速设置和部署。Forrester的定义和Wikipedia定义基本一致,但是更加直白,去掉了图形界面的限制,强调以最少的手工编码,实现快速交付、设置和部署。
3、Gartner的定义:企业低代码应用程序平台(Enterprise Low-code application platform, LCAP)使用低代码和无代码技术,如声明式、模型驱动的应用程序设计和开发,以及简化的一键式应用程序部署,提供快速的应用程序开发和部署。LCAP通常创建元数据,并在运行时解释该元数据,并抽象底层服务器基础设施,以方便使用;许多还允许可选的过程编程扩展。LCAP支持:(1)通过响应式web和移动应用程序的UI功能;(2)页面、业务流程和决策或业务规则的编配或编排;(3)内置的数据库;(4)应用程序的“一键”部署。Gartner的非常详细,甚至将低代码的常见技术栈都罗列了出来。
综合以上三家的定义,我们来看看什么是低代码?
从表现上来看,低代码应具备图形界面编码,响应式的UI功能(托拉拽),可以实现编配和编排,可以产生应用程序。
从本质上来看,也就是低代码的核心价值。低代码能够:(1)降低写代码的门槛——让更多的非软件专业人员可以来实现功能;(2)降低编写的代码数量——减少测试、部署和运维工作;(3)降低交付和部署成本——提升客户满意度。
02骞云的低代码思考
SmartCMP作为云原生的IT统一管理平台需要对接大量系统,包括公有云、私有云(甚至是魔改的私有云)、各类第三方系统(钉钉、微信、各种OA、堡垒机、备份恢复系统)、客户自研的系统等;此外,企业需求发散,流程复杂也成为业内研发中的难题。很多IT统一管理平台很难实现产品化也正是由于这两大原因。
自产品设计之初,SmartCMP的目标便是实现千人千面,即要求每个权限、菜单、按钮、甚至字段都应该可以配置和模块解耦,即每个对接的平台、资源、甚至资源上的操作都应该可以快速接入并单独配置,并且这种配置不需要编译,用户可以直接参与。于用户而言,能够最大化满足用户个性化场景;于自身而言,能够大幅度提高产品开发交付效率,降低合作伙伴和用户参与的门槛,业务专家可以直接开发产品。
那么SmartCMP是如何实现上述目标的呢?没有银弹,但低代码确是一剂良药,骞云认为低代码是针对IT管理的上述的两大问题的良药。我们是这么理解低代码的:
首先是插件化和模型化,插件化就是相互不影响,又可以进行组装,在我们的平台上不同的模块、不同的功能、对接的不同平台、甚至同平台的不同资源,都应该是插件。模型就是相同的部分可以抽象成模型,增加复用。就像乐高积木,可以使用10块拼成一个小鸭子,可以使用3696块拼成一辆兰博基尼,更可以使用7541块拼成一个千年隼,千年隼和小鸭子本质都是乐高积木块,但是呈现这么大不同,那是因为他们设计不同。
其次,还是拼乐高的例子。拼的过程很愉悦,但确实费时费力还费手,所以我们发明了引擎。什么是引擎驱动?与3D打印机类似,只要给出图纸,放入材料,3D打印机什么都可以制造出来,可以是一颗牙齿,一艘船,甚至是一只鞋子。
骞云平台针对不同场景提供三大引擎,业务专家们只要“画图纸”,我们的“引擎”,便可将“模型”自动组装起来,这样就可以低代码甚至无代码的进行功能开发。这三大引擎包括表单引擎(用来生成页面)、编排引擎(用来驱动模型)、流程引擎(用来驱动任务)。
1、表单引擎
基于可视化表单,只需要通过拖拽的方式创建和编辑所需要的表单,完成更多内容的编辑和配置。超强便捷的可配置能力,使用者只需通过图形化拖拽方式,就能实现服务表单配置。拖过拖拽审批表单+可视化流程配置,两步即可完成一个个性化服务流程。
2、蓝图编排引擎
服务编排蓝图目前已经是面向服务、面向应用的云管理平台的核心能力之一。SmartCMP通过基于TOSCA的蓝图,可以构建一个面向目标的编排引擎,也就是我们画出来什么,最后就部署出来什么,变更出来什么。蓝图编排引擎是SmartCMP平台的一大特色,非专业运维人也可以便捷的进行服务编排。SmartCMP有两种服务蓝图设计状态:
(1)所见即所得的画布设计
(2)YAML语言编辑,会根据可视化蓝图动态生产
3、流程引擎
基于灵活的BPMN引擎,无需写代码,只需在编辑器内将组件拖拽到画布中,在配置组件的样式、数据源和交互动作,以可视化的方式完成对功能的开发。同时,内置大量标准流程,供用户开箱即用。通过可视化流程编辑器可高效实现多种审批方式:多级审批、平行审批、条件审批、第三方审批对接(钉钉、企业微信等)。
03骞云的低代码之路
任何物体都具有属性、操作和关系三个要素,以手机和浮动IP为例:
关于属性:手机的属性就是手机的品牌、型号和操作系统等等,比如手机是小米牌,型号是11ultra,系统是安卓;对于浮动IP来说,它的属性就是ID、带宽等等。
关于操作:对于手机来说,就是开机和关机等;对于浮动IP来说,就是绑定IP、调整带宽等。关于关系:手机的关系包括这部手机由谁制造,现在属于谁;对于浮动IP来说,就是可以关联到一个虚拟机上等。
骞云的组件是对云资源的抽象,我们标准化、抽象化了所有云平台的云资源为组件。对于SmartCMP来说,虚拟机、数据库、负载均衡甚至安全组都是组件,每个组件,我们都赋予了其标准的属性、操作和关系,甚至还可以关联该组件的监控。
通过低代码的运用,骞云的团队开发效率得到了大幅提升,接入一个新平台的计算、网络和存储由原先4人月减少至4人周,释放了75%的人力;合作伙伴甚至客户自己都可以参与到产品开发中,业务专家可以直接把自己的想法实现出来,而不再需要通过程序员,交付效率也有了质的飞跃。
骞云通过近些年的低代码实践,在该项技术上也总结出了“低代码实践三步走”的经验:
(1)开发人员使用,用户内部开发效率的提升,尤其是产品开发的定制化和交付定制化;
(2)提供给合作伙伴和客户使用,方便定制和二次开发,灵活应对不同场景特点,实现低成本交付;
(3)吸引用户或者专业团队(比如ISV),在平台上构建全新应用,利用售卖给平台客户。
目前第一步和第二步骞云已经走的非常扎实,第三步正在稳步持续进行中。
04低代码之未来展望
合理并有效地运用低代码,能够为企业缩短开发周期、降低运营成本、提高开发质量,低代码的价值在业内的实践探索过程中已有目共睹。当前,低代码还处于国内发展的初期阶段,但在软件产业供给远跟不上社会需求的今天,低代码不会成为昙花一现的概念,而将会作为新的软件开发模式,形成长远发展趋势,对软件产业乃至整个社会产生巨大影响。
骞云是低代码平台的前沿实践者,并取得了实践的丰硕成果。未来,低代码将带领数字化转型去往何处,让我们拭目以待!
免责声明:本文转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,亦不负任何法律责任。 本站所有资源全部收集于互联网,分享目的仅供大家学习与参考,如有版权或知识产权侵犯等,请给我们留言。