1 名工程师轻松管理 20 个工作流,创业企业用 Serverless 让数据处理流程提效

本文涉及的产品
简介: 为应对挑战,语势科技采用云工作流CloudFlow和函数计算FC,实现数据处理流程的高效管理与弹性伸缩,提升整体研发效能。

作者:岳洋、陈德全、刘静娜


北京语势科技有限公司成立于 2023 年 6 月,语势科技定位为“智能投资时代的主题入口”,在资管行业从以机构为核心转向以用户为核心的变革时代,通过打造主题投资引擎,赋能普惠投资一体化,打造以投资者和资管机构为主题和核心、自然语言交互形式为入口的“新桥梁”。

image.png

语势科技日均处理万条金融资讯,通过收集信息、发掘新兴趋势、判断趋势拐点,形成了包含 10+ 个超级主题、40+ 个投资主题、200+ 子主题的主题投资体系;现有 10 个行业标杆客户,通过数据 API 和周报月报等形式提供服务。目前已累计发出约 500 份报告,近 1000 份公众号分析文章。远期将通过实时挖掘用户意图和进行主题计算,实现千人千面的主题投资 Agent。


平台特点及遇到的挑战


语势科技的产品属于典型的信息服务类产品。平台通过多种渠道汇集金融行业资讯并存储到本地后,按照投资分析框架启动相关流程进行处理,最终形成金融数据产品对外提供服务。平台业务功能及对系统资源的需求存在如下特点:


1. 数据量大,存储需求多样

a) 平台的核心数据以非结构化数据为主,各个处理阶段的数据包括源数据、中间数据及结果数据总量在 TB 级别,虽然这个量级对于文件或对象存储来讲是小菜一碟,但是对于分析/索引类存储还是存在一定压力。

b) 非结构化数据存储在面对不同的处理过程时,需要多种访问接口支持,包括文件、对象、OLAP 数据库和缓存及索引系统等。

c) 金融资讯的处理需要满足时效性要求,因此对于分析型存储系统的查询性能也存在较高要求。


2. 数据处理过程复杂多变

a) 数据处理流程是投资分析策略在系统中的体现,是整个平台的核心。这些流程中的关键节点处理逻辑是无法通过标准化的平台功能实现,需要通过 Java/Python 代码发布到平台,并可以由流程灵活调用。

b) 为了实现业务逻辑需求,在处理流程上各处理节点之间,以及节点和数据存储接口间,甚至各流程间都存在频繁的数据流动和交互需求。

c) 投资策略需要及时针对市场变化和客户需求进行调整。数据处理流程甚至核心处理逻辑就需要同步按照业务策略进行调整。

d) 因为数据处理逻辑的复杂性,导致开发上线后,还经常需要在生产环境针对特定数据的处理过程进行跟踪和分析,需要能够方便查看详尽的运行时信息。


3. 平台资源需求存在明显峰谷

a) 平台在全天运行期间会存在固定峰值,包括资讯集中流入和处理时段,业务人员集中查询时段。同时,在周初和月初也存在访问峰值。

b) 峰值时段对处理性能扩容比例要求较高,且不同的峰值类型对系统资源的需求类别也不一样,需要针对不同场景进行扩容动作的预先规划。


4. 可靠性/及时性要求

a) 资讯会 24 小时持续产生并流入平台,需要在进入平台若干分钟内处理完成并进入对外服务数据池,因此需要平台能够稳定持续进行处理,遇到峰值流量自动扩容以避免数据积压。如果处理过程存在遗漏或者出错要能够自动重试。

b) 对外服务相关系统作为最终用户的访问入口,对其服务连续性有一定要求。


针对上述的平台功能设计,语势科技对包括 IaaS/PaaS 在内的 IT 基础设施产生了如下需求:


1. 多样存储类型,各系统间流畅互访,支持多样存储类型,各类存储系统间可以无缝互访,日常使用、管理和数据流转可以通过 GUI 配置。


2. 简单灵活的数据处理流程

a) 提供统一的处理流程管理入口,支持图形化的流程设计。

b) 支持使用常见开发语言实现复杂业务逻辑,并能够无缝嵌入流程。

c) 流程节点间,流程和数据存储接口,流程间可以实现复杂交互控制。

d) 可以对运行时流程跟踪分析处理过程,能够方便的对特定数据或流程进行跟踪分析。


3. 系统自动扩缩容

a) 数据处理流程的系统容量能够按照流量峰谷自动扩缩容,且其扩缩容可以按照一定脚本针对系统间依赖关系进行处理。

b) 其他业务系统需要按照业务访问峰谷自动调整。


4. 研发工作整体提质增效

a) 在保证系统可靠性的前提下,降低IT资源直接成本,以及管理成本b) 提高 CI/CD 整体流程效率。


云工作流 CloudFlow+函数计算 FC 助力复杂数据处理提效


语势科技是在云原生浪潮下诞生的数据科技企业,在创立之初就决定采用云原生技术来提高 IT 工作整体质效并优化成本。


在提升质效过程中遇到的挑战主要集中在数据处理流程方面,因此除了使用阿里云效及容器化部署等 CI/CD 常规提效工具,经过团队考察,最终选择了云工作流 CloudFlow 和函数计算 FC 两个新产品。目标是通过云工作流 CloudFlow 解决管理复杂数据流程的需求,使用函数计算 FC 解决云工作流 CloudFlow 运行过程中部分节点处理复杂业务逻辑,同时处理能力可以完美解决弹性伸缩的需求。


数据流程图如下:

image.png

经过实践发现,对于常见的工作流,使用云工作流 CloudFlow 的 Web 界面开发相比使用主流 Java 应用框架减少约一半开发工作量,同时,由于省去了上线发布环节,上线调试工作效率也有所提升,基于 web 控制台的跟踪调试在经过一段时间适应后使用效率也有较大提升。


在这半年的使用期间,语势科技已累计开发了将近 20 个工作流,工作流调用数十个函数,运行几十万次。尽管在只有一名工程师负责工作流的情况下,还是能够保持平均每两周左右会上线一个新的工作流。对于工程师来讲,除了个别时候需要进行线上跟踪调试,工作流上线后基本不用关心其运行状态,真正做到了“发布后不用管”。


展望


作为一个大模型年代围绕数据为核心的创业企业,我们会更加深度挖掘数据平台和大模型能力结合的可能性,通过阿里提供的基础设施创新能力,提供给我们的最终客户能力更强、迭代更快的数据产品。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
9月前
|
运维 Kubernetes Cloud Native
Serverless 应用托管助力企业加速创新
Serverless 应用托管助力企业加速创新
156365 25
|
4天前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
4天前
|
消息中间件 存储 Cloud Native
阿里云消息产品全面升级为 ApsaraMQ,并发布 Serverless 版,助力企业降本
阿里云消息产品全面升级为 ApsaraMQ,并发布 Serverless 版,助力企业降本
62348 2
|
5月前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless能力测评:秒级弹升、无感伸缩与强一致性,助您实现高效云数据库管理!
云原生数据库 PolarDB MySQL 版是阿里云自研产品,100%兼容 MySQL。PolarDB产品具有多主多写、多活容灾、HTAP 等特性,交易性能最高可达开源数据库的6倍,分析性能最高可达开源数据库的400倍,TCO 低于自建数据库50%。【评测用!】
70466 15
|
5月前
|
关系型数据库 Serverless 分布式数据库
PolarDB Serverless能力测评:秒级弹升、无感伸缩与强一致性,助您实现高效云数据库管理!
云原生数据库 PolarDB MySQL 版是阿里云自研产品,100%兼容 MySQL。PolarDB产品具有多主多写、多活容灾、HTAP 等特性,交易性能最高可达开源数据库的6倍,分析性能最高可达开源数据库的400倍,TCO 低于自建数据库50%。
|
6月前
|
消息中间件 存储 Cloud Native
ApsaraMQ Serverless 演进之路,助力企业降本
ApsaraMQ Serverless 演进之路,助力企业降本
103621 8
|
8月前
|
运维 Cloud Native Java
课时3:阿里云 Serverless 助力企业全面拥抱云原生(四)
阿里云 Serverless 助力企业全面拥抱云原生
365 0
|
8月前
|
关系型数据库 MySQL Serverless
使用函数计算挂载NAS并搭建照片管理平台
本场景主要介绍如何基于函数计算、数据库RDS和文件存储NAS一键部署相册应用。
752 0
|
10月前
|
存储 Kubernetes Cloud Native
为什么很多工程师不了解Serverless
为什么很多工程师不了解Serverless
138 0
|
存储 Serverless 异构计算
使用ASM管理Knative服务(2):使用Knative on ASM部署Serverless应用
如何在阿里云服务网格ASM中开启Knative on ASM功能, 并结合ACK或者ASK部署管理Serverless应用服务。
612 0
使用ASM管理Knative服务(2):使用Knative on ASM部署Serverless应用

热门文章

最新文章

http://www.vxiaotou.com