嘉宾 | 余军   整理 | 西狩xs


(相关资料图)

出品 | CSDN云原生

在数字化转型浪潮中,越来越多的企业开始拥抱数字化提升工作效率、降低运营成本。而在数字化帮助企业实现“开源节流”的同时,数字化本身所带来的运营成本也同样值得被关注。如何快速响应日益增长的企业数字化需求?成为企业数字化发展过程中必须面对的问题。

2022年6月28日,在CSDN云原生系列在线峰会第11期“低代码峰会”上,阿里巴巴钉钉宜搭技术负责人余军(啤石)分享了钉钉宜搭低代码的演进之路,深入剖析低代码平台实践中遇到的问题以及对应的解决方案。

企业管理数字化诉求与挑战

企业数字化之路

企业发展过程中,数字化之路大致可以分为四个阶段。

初创团队:业务快速发展,一人身兼数职,服务多为外包形式

中小企业:业务实现线上化处理,软件多为外采形式

大型企业:业务出现定制化需求,系统由外采转为自研,完成数字化闭环管理

大型集团:业务流程再造,增加灵活性,实现数字化系统管理,由数据来驱动决策

企业数字化诉求与挑战

随着企业的发展,企业数字化需求越来越多,需求迭代所需要的研发资源变得捉襟见肘,慢慢形成了“核心应用要排队,长尾应用没资源”的状况。

短期内,企业可以通过增加研发资源,来缓解所面临的数字化需求增长。但从长期来看,在应对数字化需求增长的问题上,企业无法一味地增加资源投入,所带来的成本骤增是企业无法接受的,这违背了企业降本增效的初衷。

企业数字化需求的不断增长,依靠外包开发或者招研发堆人数,对于企业来说是不可接受的。

企业要敏捷,业务要敏捷,系统也要敏捷,不断的定制和扩展是必然的诉求,传统软件的开发模式和平台架构已不再符合当下的需求。企业面临“无法破局”的困境,促使企业开始“求变”。

低代码的职责

为什么我们需要低代码

低代码平台提供可视化的开发工具,可以帮助产品通过拖拉拽等可视化操作,将产品快速呈现出来。相比于传统软件的开发模式,低代码平台有以下优势:

业务、产品、设计、开发、测试全链路一体化

减少协同成本和重构风险,提高效率和质量

降低开发门槛,让更多人参与到应用构建

统一标准,形成聚合效应

软件开发的复杂度分为两类:业务复杂度和技术复杂度。在业务复杂度较高的系统中,基于传统开发模式的特点,开发过程中存在大量低门槛重复性的编码工作。低代码模式通过技术架构搭建,屏蔽了底层的技术细节,消除了低门槛重复性的编码,让更多业务人员可以参与到应用构建中。

为了简化开发人员和业务人员的工作,低代码平台需要尽可能多地去承担技术复杂度,为使用者屏蔽底层实现细节,对技术进行封装和沉淀,减少不必要的技术复杂度,将目光更加聚焦于业务。

钉钉宜搭平台产品技术演进

截至目前,宜搭平台产品技术演进分为三个阶段:

BPM驱动的1.0阶段

元数据驱动的2.0阶段

数据驱动、云钉一体的3.0阶段

宜搭1.0 & 宜搭2.0

宜搭1.0阶段,为了应对整个集团爆炸式增长的数字化需求,追求极致零代码,从工作流平台衍生为一款轻应用低代码平台。

随着阿里经济体的飞速发展,越来越多的业务接入集团,集团生态化诉求也不断增多,在提供低代码能力的基础上,还需要思考如何通过元数据来驱动业务的增长。宜搭2.0不再局限于为集团内部应用提供低代码能力,还能够让业务应用通过少量代码修改或配置,直接服务于集团的生态伙伴。

宜搭3.0:云钉低代码

随着集团“云钉一体”战略的推行,宜搭低代码平台完成了与钉钉的融合,打造出一款云钉低代码底座。得益于低代码能力,云钉低代码底座能够帮助钉钉实现一方、二方、三方应用的快速上架。

产品特性

平台共享:基于产品演进的历史背景,低代码应用和平台应用是运行在一起的

泛业务:云钉低代码平台是平台级应用,涵盖多种类型的业务

产品无边界:平台很难约束客户的用法,客户对平台的使用理论上是无边界的

开放 & 安全:提供给客户足够开放性的同时,确保了平台的安全性

面临的问题 & 解决方案

平台共享面临的问题

平台稳定性问题

整个平台是中心化运行的,业务应用之间没有隔离限制,如果单个业务应用出现故障,很有可能会拖垮整个平台。为了解决这个问题,平台实现了限流体系的建设,通过多级限流策略,对热点应用和突发流量进行一定的限流控制,避免单个应用对整个平台稳定性的冲击。

资源分配问题

平台资源无法按照客户优先级进行分配,导致资源被业务均摊。平台针对这一问题,通过架构升级,在数据、安全、设计三个层面做到了资源专属,确保客户的权益不受其他企业影响。除此之外,平台还支持专有版本的部署和交付。

泛业务面临的问题

单业务应用数据量大

有些业务应用的数据量存在百万级至千万级的情况,平台无法对大数据量应用去无限分配资源。平台提供了两种方案来解决这类问题:使用平台提供云上的专属数据库、使用客户本地数据库。

单业务应用并发高

单个应用可能承接了公司90%的数字化需求,并发数量非常高,平台无法对并发量进行控制。针对这一问题,平台一方面支持了跨应用的访问,另一方面支持产品层面的配置,帮助大型单体应用进行业务拆分,避免大应用导致的数据倾斜和流量倾斜。

此外,针对于业务敏感的应用,平台还提供了by业务的告警配置,客户可以结合自身业务特点来配置告警规则。

业务高峰不确定

不同业务的高峰期也是不同的,平台无法得到明确的业务高峰区间。此类场景下,平台针对一些高频场景和高频接口进行监控,增强平台的抗风险能力和应急能力。

产品无边界面临的问题

不合理使用平台

由于产品的无边界性,客户在使用平台搭建应用时,很容易忽略一些边界的条件,导致应用的稳定性和扩展性下降。

解决方案是,平台通过底层技术监控进行预警,当监控指标出现异常时,平台发送预警消息触达客户,协助客户排查定位问题。同时平台也会去定义一些边界,为客户提供多种保护策略,确保应用的稳定性和可驾驭性。

开放 & 安全面临的问题

平台的开放性带来了很多安全性的挑战,平台需要定期进行攻防演练,保障平台总体的安全水位。与此同时,在产品发版流程中对增量代码进行安全Review和安全扫描,确保新增代码是安全的,尽量减少对客户的影响,建立起一个整体的安全与开放的平衡。

推荐内容