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

北京语势科技有限公司成立于2023年6月,语势科技定位为“智能投资时代的主题入口”,在资管行业从以机构为核心转向以用户为核心的变革时代,通过打造主题投资引擎,赋能普惠投资一体化,打造以投资者和资管机构为主题和核心、自然语言交互形式为入口的“新桥梁”。
语势科技日均处理万条金融资讯,通过收集信息、发掘新兴趋势、判断趋势拐点,形成了包含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 运行过程中部分节点处理复杂业务逻辑,同时处理能力可以完美解决弹性伸缩的需求。
数据流程图如下:

经过实践发现,对于常见的工作流,使用云工作流 CloudFlow的 Web 界面开发相比使用主流 Java 应用框架减少约一半开发工作量,同时,由于省去了上线发布环节,上线调试工作效率也有所提升,基于 web 控制台的跟踪调试在经过一段时间适应后使用效率也有较大提升。
在这半年的使用期间,语势科技已累计开发了将近20个工作流,工作流调用数十个函数,运行几十万次。尽管在只有一名工程师负责工作流的情况下,还是能够保持平均每两周左右会上线一个新的工作流。对于工程师来讲,除了个别时候需要进行线上跟踪调试,工作流上线后基本不用关心其运行状态,真正做到了“发布后不用管”。

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

posted @ 2024-04-24 13:40  Serverless社区  阅读(11)  评论(0编辑  收藏  举报