辉瑞升级无服务器架构以处理大规模数字生物标志物数据
辉瑞公司升级了其无服务器架构,使其更加灵活和可配置,以处理大规模的数字生物标志物数据。他们创建了一个框架,使用基于AWS Step Functions和其他无服务器服务构建的文件处理管道,以及一个用于数据摄取和处理的定制Python包。
数字生物标志物的重要性
辉瑞高级数据科学家Lukas Adamowicz强调了数字生物标志物的重要性:
数字生物标志物是生理和行为数据的定量、客观测量。它们通过数字设备收集和测量,能够更好地代表自由活动,而不是高度结构化的临床环境。这种方法生成大量需要处理的数据。
原始架构与改进
辉瑞在2020年创建了一个基于AWS的无服务器架构,以处理数字生物标志物。原始架构结合了AWS S3用于存储,AWS ECS用于执行数据处理逻辑,Lambda函数用于S3事件订阅和数据聚合。该解决方案支持少量算法和少数类型的生物标志物。
为了支持多种数据源和不同算法的不同参数集,辉瑞最近重新设计了原始架构。他们还创建了一个专门的SciKit-Digital-Health (SKDH) Python包,提供了计算数字生物标志物的算法和支持不同数据摄取方法的代码。
改进后的解决方案
改进后的解决方案利用了以下AWS服务:
- S3用于存储文件
- DynamoDB用于存储元数据
- AWS Step Functions用于流程编排
- AWS Batch与Fargate用于执行数据处理逻辑
- AWS SQS用于消息传递
处理流程
整体架构由两个处理工作流组成:
- 配置文件扫描工作流:扫描S3桶中的新配置文件(YAML格式),验证配置文件中配置的桶是否存在并包含相关数据文件,然后触发文件处理。
- 数据处理工作流:可选地将元数据插入DynamoDB表,检查处理要求是否满足,一旦满足,执行在AWS Fargate上运行的批量作业,计算基于SKDH包配置版本的数字生物标志物,并将生成的结果上传回研究S3桶。
基础设施管理
团队使用AWS CloudFormation、Boto3库和AWS CLI来管理支持该架构所需的基础设施资源。
通过这次升级,辉瑞能够更高效地处理大规模数字生物标志物数据,支持多种数据源和算法,提高了系统的灵活性和可配置性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。