基于 Serverless 的大前端轻研发平台

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 基于 Serverless 的大前端轻研发平台
🙋🏻‍♀️ 编者按:本文是蚂蚁集团前端工程师奇谈在支付宝体验科技沙龙暨数金荟上的演讲内容,欢迎享用~


大家好,欢迎来到支付宝体验科技沙龙,我是来自蚂蚁集团数字金融 余额宝体验技术组 的奇谈,今天我带来的分享是《基于 Serverless 的大前端轻研发平台 - 业务前端研发模式探索》随着智能化、Serverless 等技术的发展,未来业务前端的发展趋势会是怎样呢?在蚂蚁大流量金融业务背景下,前端如何实现安全生产呢?本次分享会先介绍蚂蚁集团的前端研发体系现状,以及在大流量金融业务安全生产的背景下,前端研发工程师所要面临的研发效能和风险防控挑战等等一系列问题。最后会介绍我们基于Serverless 的轻研发模式在尝试和探索解决这些问题中的实践。希望大家能够从蚂蚁轻研发平台演进的设计思考中,获得一些启迪与新思路。

蚂蚁集团业务前端研发体系

先来看一下蚂蚁集团的业务前端研发体系,按照业务类型分,可以分为 PC web,H5,小程序,native 和 大屏,我们余额宝以 H5,BFF 和小程序居多。

在业务上首选前端低码平台,其次是前端应用框架。图下面可以看到有一块是服务端部署,在蚂蚁或者阿里内部,BFF 是前端的一个特点。那么什么是 BFF 呢?

BFF 是 Backend For Fronted,它可以做请求聚合、数据裁剪等工作,因为前端是我们开发的,我们可以组织数据让它更适合于前端的交互。上面大致介绍了蚂蚁业务前端的研发体系,下面我们看一看在实际的前端开发流程中,前端需要做哪些事情,以及哪些可以提效的点。


目前的前端开发流程

上面的流程大家应该都比较好理解,这里重点提一下“系分” "测分",系分是系统分析设计,测分是关于测试的分析设计。那系分主要做什么呢?做需求的调研,功能的设计实现,以及需要注意的点,比如扩展性、可维护性、关键代码如何实现等等,总的来说就是你站在系统的角度要如何设计这个功能,同时又能最好的实现需求。

系分一般产出的有流程图,时序图,接口设计说明等等文档。既然有文档,那就有一个地方保存它们。大家在需求前期阶段应该遇到过需求变更的情况,需求变更带来的问题是我们的系分可能要更改,频繁的变更带来的问题是我们的系分文档不保鲜,不保鲜的意思是系分文档已经和最终的需求不一致了,可能是小的需求变更我们懒得去更改,脑子记住就好了,也可能是文档比较多,散落在各个地方,懒得去一个一个找了。

再来看编码过程,企业级的应用打包部署慢,企业级应用通常意味着代码复杂度较高,这是业务的复杂度带来的,另一方面是复杂度带来的依赖多。

最后看一下上线阶段。我们的用户基数大,对安全生产的要求高,带来的问题就是兜底代码多。这个兜底代码是什么呢?比如,如果某一天有个接口或者依赖挂了,我要有监控能主动感知到前端报错了,我们的页面不能直接崩溃,我们会有缓存、重试、降级等等方案来最大限度保证体验。在小公司我一个需求可能3天就搞完上线了,但是在蚂蚁,同样一个需求,我要花5天甚至6天,这多出来的时间就是在搞降级、监控等。总结起来就是,BFF 的引入+安全生产要求高(金融类业务)带来 前端研发复杂度增加。那我们如何解决这个问题呢?

轻研发平台能力

针对上面的 3 类可以提效的点,我们分别用 “文档即代码”,“函数级研发部署”,“一体化研发环境 插件能力” 核心思想来提效。先看第一个核心思想:“函数级研发部署”

我们将多应用级(前端+BFF)利用 Faas 技术变为函数级的研发部署。关于Faas的具体技术细节,可以参考齐穹的《手把手搞定渐进式Node Faas》,下附演讲视频。


针对 BFF 接口,函数级研发部署具有开箱即用,无环境依赖,独立部署等特点。你不需要在本地安装一大堆依赖,搞各种环境问题。也不用为了抢占环境部署代码,每个接口都可以独立部署。



函数级研发不只是能开发 BFF 接口,它还能开发前端一体化卡片。可以看下面这张图:

卡片是在页面上相对独立的一块区域。比如我上面这张,它的 UI 和数据高度内聚,是一个整体,我们可以把 UI 和数据一起下发。说到这里,我要重点介绍一下前端开发的历史转变。刚开始我们叫传统模式,典型的是 PHP、JSP 等,我们把静态页面开发好,交给后端,后端用脚本语言替换动态数据,最终把整个页面一起返回给浏览器。这种模式前后端非常耦合,不利用维护和并行开发,我们有了前后端分离模式。典型的是 Ajax 技术的兴起,前端专注开发页面,后端专注开发服务,前后端的交互通过 Ajax 请求传输数据,这样前后端就可以并行开发了。前后端开发让我们专注各自的领域,但经常我们前端为了让数据更适合于前端交互,会做一些请求聚合、数据裁剪等工作,后来有了 BFF,BFF 让我们可以使用统一的技术栈编写数据服务等一部分后端工作。但它仍然还是分成了前端和 BFF,既然技术栈都统一了,为什么还要分前后端呢?所以我们又回到了传统模式,前端 UI+ 数据一起下发,它可以解决前后端依赖问题。比如你不用担心忘记发布 BFF 接口导致的前端报错了,也不用担心历史的接口如何向前兼容的问题了,因为我们的数据和 UI 是一起下发的,没有接口这一层了。

上面的图演示了一体化卡片开发。下面来看核心思想 2 :文档即代码。

我们将需求、视觉、系分、测分、代码等等集中管理起来,在一个上下文中,以此来解决文档代码不保鲜。我们还可以利用智能化等技术,自动从文档中生成关键代码、流程图、时序图等,让我们的文档和代码保持同步。



上面这张图演示了文档即代码,可以看到,在我们的研发体系化环境中,需求、视觉、网关配置、接口设计等等各种相关的文档集中在一起,你不需要在各个独立的文档中来回切换。一个小的需求变更,我们顺手就改掉了各个相关的地方。

文档即代码不是简单的把各种类型的文档聚合起来就好了,我们可以通过自动化、智能化等技术,将非结构化、结构化的文档生成我们想要的代码,提高我们的研发效率和质量。比如我们可以使用 D2C 能力,自动将视觉稿生成代码,通过文档中的配置信息,自动生成监控,应急预案等等。下面这个视频演示了 D2C 在一体化研发平台上,如何从一个视觉稿到代码,到调试的流程。👇🏾
那这些能力只能我们轻研发平台自己去做吗?显然不是,我们轻研发平台提供各个阶段的插件能力,你可以通过插件去定制适合你的工作流,也可以通过插件将现有的优秀的第三方能力复用进来。比如上面提到的 D2C 能力,就是基于保险团队的。

最后总结一下上面提到的,轻研发平台三大核心思想:1.文档即代码:将结构化、非结构化的文档集中管理起来,并通过智能化、自动化等技术生成代码2.函数级研发部署:BFF 接口和一体化卡片,独立部署、开箱即用、无环境依赖3.一体化环境插件能力:复用优秀三方能力,定制你的工作流

未来我们业务前端做什么?


最后的最后,未来我们业务前端做什么?下图是我们基于数字金融业务背景下的思考。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
打赏
0
0
0
0
148
分享
相关文章
AI 短剧遇上函数计算,一键搭建内容创意平台
为了帮助更多内容创作者和企业快速实现 AI 短剧创作,函数计算 FC 联合百炼联合推出“AI 剧本生成与动画创作解决方案”,通过函数计算 FC 构建 Web 服务,结合百炼模型服务和 ComfyUI 生图平台,实现从故事剧本撰写、插图设计、声音合成和字幕添加到视频合成的一站式自动化流程。创作者只需通过简单操作,就能快速生成高质量的剧本,并一键转化为精美的动画。
148 17
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
57 5
【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
详解智能编码在前端研发的创新应用
接下来,人与智能体的交互将变得更为紧密,比如 N 年以后是否可以逐渐过渡。这个逐渐过渡的过程实际上是温和的,从依赖人类到依赖超大规模算力的转变,可能会取代我们的一些职责。这不仅仅是简单的叠加关系。对于AI和超大规模算力,这是否意味着我们可以大幅度提升软件质量,是否可以缩短研发周期并提高效率,还有创造出更优质的软件并持续发展,这无疑是肯定的。
139 25
巧用通义灵码,提升前端研发效率
本次分享,主题是利用通义灵码提升前端研发效率。分享内容主要包括以下几部分:首先,我将从前端开发的角度介绍对通义灵码的基本认识;其次,我将展示通义灵码在日常研发中的应用案例;然后,我将通过实例说明,良好的设计能够显著提升通义灵码的效果。在第四个部分,我将介绍通义灵码的企业知识库以及如何利用 RAG 构建团队智能研发助手。最后,我将总结本次分享并展望未来方向。
智能编码在前端研发的创新应用
在前端开发领域,智能编码技术正引领一场变革,通过大模型的强大能力将自然语言需求直接转化为高效、可靠的代码实现。
114 10
AI 短剧遇上函数计算,一键搭建内容创意平台
AI 短剧遇上函数计算,一键搭建内容创意平台
详解智能编码在前端研发的创新应用 | 领通义灵码蛇年红包封面
详解智能编码在前端研发的创新应用 | 领通义灵码蛇年红包封面
C5GAME 游戏饰品交易平台借助 RocketMQ Serverless 保障千万级玩家流畅体验
游戏行业蓬勃发展,作为国内领先的 STEAM 游戏饰品交易的服务平台,看 C5GAME 如何利用 RocketMQ Serverless 技术,为千万级玩家提供流畅的游戏体验,同时降低成本并提升运维效率。
237 15
C5GAME 游戏饰品交易平台借助 RocketMQ Serverless 保障千万级玩家流畅体验
Serverless Argo Workflows大规模计算工作流平台荣获信通院“云原生技术创新标杆案例”
2024年12月24日,阿里云Serverless Argo Workflows大规模计算工作流平台荣获由中国信息通信研究院颁发的「云原生技术创新案例」奖。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等