FICO 如何使用 Amazon Transfer Family 通过 ETL 自动化实现文件传输现代化

作者: Ryan Anderson, Alok Rathi, Vivek Bhargava, Josh Baverstock, Vinamra Jain |

FICO 为决策提供支持,帮助世界各地的人们和企业蓬勃发展。使用 FICO 解决方案,80 多个国家的企业可以采取各种措施,从保护 40 亿张支付卡免受欺诈,到改善普惠金融和提高供应链弹性。作为信用评分和分析领域的全球领导者,FICO 通过管理文件传输(MFT)处理大量敏感财务数据,这使得安全和高效的文件传输功能对其运营至关重要。

真正的 MFT 解决方案不仅限于基本的文件上传和下载功能,还是跨应用程序进行数据处理的重要组件。但是,传统的 MFT 实施需要大量的基础架构。这包括 SFTP 服务器、数据库、代理实例和 Business Logic 执行节点,无论实际使用情况如何,这都会导致高昂的固定运营成本。与许多面临这些挑战的企业一样,FICO 的 MFT 之旅已从传统的商业解决方案和定制系统演变为现代的云原生方法。这种转型促使 FICO 与 Amazon Transfer Family 共同开发了一种新的基于云的 MFT 解决方案,该解决方案消除了扩展限制和许可成本,同时支持 FICO 平台的效率和可扩展性。

在这篇文章中,我们探讨了 FICO 如何通过消除传统 MFT 基础设施限制的无服务器架构来应对外部传输安全、数据治理和资源扩展方面的挑战。该解决方案演示了 Transfer Family 如何在其他无服务器架构组件的支持下,将传统的文件传输系统转变为经济实惠的现代平台,该平台可根据可配置的业务规则自动处理文件,同时灵活地处理全球运营中的直接和复杂工作流程。

传统 MFT 解决方案面临的挑战

安全和高效的文件传输功能对企业运营至关重要。但是,传统的 MFT 解决方案越来越成为瓶颈,而不是推动因素。FICO 的旅程反映了许多组织的发现:尽管提供了多年的可靠服务,但传统的 MFT 基础设施仍难以满足现代数字运营的需求。以下挑战与传统 MFT 解决方案有关:

  • 高昂的固定运营成本:
    • 传统的 MFT 解决方案需要大量始终运行的基础架构,例如 SFTP 服务器、数据库、代理实例和执行节点。
    • 无论实际使用情况如何,这些系统都会产生巨额的固定运营成本,这使得它们在低使用率期间的财务效率低下。
  • 有限的可扩展性和许可限制:
    • 扩展传统基础设施需要进一步的许可和手动配置资源,从而增加了成本和运营风险。
    • 扩展基础设施资源和系统修改非常耗时,而且基础架构无法有效地适应不同的工作负载需求。
  • 复杂的基础设施管理:
    • 传统的 MFT 系统需要对多个组件和系统进行大量维护,因此需要专门的资源进行持续管理。
    • 日常操作通常需要手动干预,这使得系统耗费大量人力,容易出现人为错误。

其他要求

服务集成:FICO 需要一个强大的解决方案来弥合 Amazon Transfer Family Connectors 和 Amazon Step Functions 之间的集成差距,因为在撰写本文时,这些服务之间无法直接集成。该系统需要保持工作流程状态并可靠地跟踪传输,同时确保组件之间的无缝通信。这就需要一种机制来存储任务令牌、启动传输和监控事件,以有效地更新工作流程状态。亚马逊云科技最近公布了文件传输状态,能够直接从 Step Functions 查询传输状态。将来,通过直接轮询组件间通信的传输状态,可以简化亚马逊云科技连接器和 Step Functions 之间的服务集成。MFT 研讨会为构建此类解决方案提供了指导。

配置管理标准化:管理整个企业的 MFT 配置的标准化方法至关重要。该要求要求实施能够通过 Amazon Lambda 代理集成来处理用户和配置管理的 REST API。该系统需要可靠地存储配置,同时提供与 FICO 现有的持续集成和持续交付/部署 (CI/CD) 工具的无缝集成,从而确保部署和管理流程的一致性。

全球部署自动化:为了解决全球部署的复杂性,FICO 需要一个能够通过代码管理超过 145 个亚马逊云科技资源的基础设施自动化解决方案。该要求规定了在保持基础架构一致性的同时,以最少的配置更改进行部署到新区域的能力。该解决方案需要支持组件级更新,并确保跨多个区域进行可靠的状态管理。

使用情况跟踪和成本归因:在多租户 MFT 环境中,FICO 需要精确的客户资源使用情况跟踪、每个 MFT 实例的不同应用程序以及全面的资源标记。该系统需要跟踪带宽使用情况、步进函数转换、Lambda 执行和存储消耗等详细指标,并通过亚马逊 CloudWatch 订阅集成到亚马逊 DynamoDB 审计表和 Splunk 中

解决方案概述

FICO 使用 Transfer Family 开发了 MFT 解决方案,以应对外部传输安全、数据治理、ETL 自动化和资源扩展方面的关键挑战。该架构使用 Transfer Family 来管理 SFTP 终端节点,同时使用 Amazon S3 和 Amazon Elastic Block Store (Amazon EBS) 来提供高效的存储解决方案。该解决方案通过步进函数协调业务逻辑和 ETL 流程,Lambda 处理短期运行的流程,Amazon Fargate 管理长时间运行的任务。Transfer Family 连接器支持无缝的外部文件操作,而基础设施由 DynamoDB 支持,支持 RESTful 接口的 Amazon API Gateway,以及用于全面监控的 CloudWatch。安全是通过 Amazon Secrets Manager 维护的,用于安全凭证管理。将这些无服务器技术集成到统一架构中,使得 FICO 能够创建安全、经济高效、高度可用且可扩展的云原生 MFT 解决方案,在满足现代运营需求的同时有效应对传统 MFT 挑战。

MFT 解决方案架构由三层组成:

  1. 文件传输层
    • Transfer 系列管理 SFTP 端点
    • Amazon S3 提供持久的文件和对象存储
    • 确保安全的数据传输和存储
    • 通过 Transfer 系列连接器进行外部传输
  1. 处理编排层
    • Amazon S3 事件触发文件检测
    • Amazon Simple Queue Service (Amazon SQS) 队列管理处理请求
    • 步进函数协调 ETL 工作流程
    • DynamoDB 存储配置数据
  1. 执行层
    • Lambda 处理时间敏感的任务
    • Fargate 处理计算密集型操作,例如:
      • PGP 加密/解密
      • 文件压缩

下图显示了逻辑设计和概述。

此架构图显示了 FICO 在 AWS 上的自动文件处理系统。该设计通过三个相互关联的层强调安全性和可扩展性:文件传输、处理编排和执行层。

文件传输和处理工作流程

外部用户通过 Transfer 系列进行安全连接,该系列提供映射到指定 S3 存储桶的 SFTP 端点。此映射可确保用户仅访问其授权目录。

当文件上传到 Amazon S3 时,该服务会自动生成事件,这些事件会被捕获并路由到区域 SQS 队列。这种事件驱动的架构确保了可靠的消息处理,并支持对不同区域上传的文件进行异步处理。Step Functions 读取事件消息并查阅 DynamoDB 表,以确定为文件和 Amazon S3 前缀(着陆位置)定义的相应 ETL 工作流程。

如果定义了 ETL 任务,则状态机开始按指定顺序循环浏览已定义的任务,并使用 Lambda 进行快速操作(在 lambda 时间限制下),或使用 Fargate 来执行运行时间较长的任务。这种双重方法在处理 PGP 加密/解密、压缩和其他操作/任务等各种操作时优化了成本和性能。

启动 ETL 任务时,状态机会等待 Lambda 函数或 Fargate 任务的反馈以表明成功,然后将已完成的任务从待处理操作列表中移除,继续执行下一个序列。

如果定义了外部 SFTP 推送,Lambda 函数会触发传输系列连接器,使用传递的/当前文件、定义的 SFTP 服务器和端口以及连接器中定义的身份验证来启动传输。

下图显示了使用亚马逊云科技服务的处理流程的解决方案设计图。

此解决方案架构图说明了安全和自动化的文件处理工作流程。该设计表明,AWS 托管服务通过内置的容错和可扩展性功能进行交互以处理文件传输、处理和存储

结果和好处

通过构建这个 MFT 解决方案,FICO 经历了以下业务影响。

增强服务集成:实施具有 DynamoDB 状态管理的双 Lambda 解决方案成功弥合了亚马逊云科技连接器和 Step Functions 之间的集成差距。这种方法可确保可靠的传输跟踪,同时保持工作流程状态。该解决方案能够存储 TaskToken、启动传输和监控 CloudWatch 事件以进行工作流更新,从而创建了一个强大而可靠的文件传输系统,可在整个过程中保持一致的工作流状态。有机会使用 SFTP 连接器提供的新状态查询功能直接跟踪 Step Functions 的传输状态,从而进一步简化架构。

简化配置管理:使用 API 网关和 Lambda 代理集成的 REST API 实现改变了 MFT 配置管理。这种标准化方法提供了统一的管理界面,可与 FICO 的内部 CI/CD 工具无缝集成。使用 DynamoDB 作为配置存储可确保对所有部署进行可靠和一致的配置管理,从而显著降低管理复杂性并提高系统可靠性。

优化的全球基础设施管理:该解决方案实施了用于基础设施自动化的 Terraform,从而能够通过代码成功管理超过 145 个亚马逊云科技资源。这种自动化有助于以最少的配置更改快速部署新区域,确保基础架构的一致性,同时支持组件级更新。基于状态的方法显著减少了多区域部署的运营开销,并提高了整体基础设施管理效率。

精确的成本归因系统:亚马逊云科技 MyApplications 的实施使每个 MFT 实例实现了不同的应用程序分离,从而通过亚马逊云科技资源标记促进了基准成本隔离。该解决方案通过 DynamoDB 审计表和通过 CloudWatch 订阅进行 Splunk 集成,提供对客户特定指标的全面跟踪。这种详细的跟踪系统包括带宽使用情况、Step Functions 过渡、Lambda 执行和存储消耗,从而在多租户环境中实现精确的成本分配。

提高了运营效率:现代 MFT 解决方案显著提高了运营效率,将新环境的部署时间从几周缩短到几分钟。无服务器架构消除了传统的基础架构维护需求,同时增强了可扩展性并降低了运营成本。该解决方案在亚马逊云科技中的自动化管理和操作任务显著提高了文件集成流程的效率,为数百个外部业务合作伙伴和内部数据源提供了支持。

结论

FICO 将其传统的 MFT 基础设施转变为现代的云原生解决方案,这是企业文件传输现代化方面的一项重大成就。使用 Amazon Transfer Family 作为基石,再加上包括 Amazon Lambda、Amazon Step Functions 和 Amazon Fargate 在内的无服务器组件,FICO 能够成功创建强大、可扩展的解决方案,以处理全球运营中的复杂文件传输工作流程。

该实施在多个方面都带来了实质性的好处,最值得注意的是将部署时间从几周缩短到几分钟,并消除了固定基础架构成本。该解决方案现在通过代码成功管理超过 145 个亚马逊云科技资源,促进了与外部业务合作伙伴的无缝集成,同时在其多租户环境中保持精确的成本分配。

要了解更多信息,请访问 Amazon Transfer Family 托管文件传输。



瑞安·安德森

Ryan Anderson

瑞安·安德森是一名高级工程师和软件设计师,在 IT 领域拥有超过 25 年的经验。在 FICO,他为全球工程团队提供支持,以连接和安全为重点,为云端客户解决方案提供支持。他目前的重点是使用无服务器云计算解决方案构建下一代平台,以整合和改进现有应用程序和/或将本地服务迁移到云端。在办公室以外,他喜欢与家人共度时光,玩电子游戏,看电影,玩桌上游戏和看书。

Alok Rathi

Alok Rathi

Alok Rathi 是 FICO 平台能力团队的高级工程师,专注于亚马逊云科技网络、数据传输和可扩展的云解决方案。他拥有超过十年的各种技术职位的经验,对自动化、无服务器技术和构建可扩展的云原生解决方案充满热情。在不解决云挑战时,他喜欢骑自行车和玩错综复杂的乐高积木。

Vivek Bhargava

Vivek Bhargava

Vivek Bhargava 是一名高级云技术客户经理,在各个行业拥有超过 17 年的经验。他专门研究网络和网络安全,致力于指导组织完成数字化转型之旅。Vivek 在技术和业务的交汇处工作,与企业密切合作,协调成功的云迁移,推动现代化计划并促进创新。

乔什·巴弗斯托克

Josh Baverstock

乔什·巴弗斯托克是总部位于加利福尼亚州洛杉矶的亚马逊云科技的高级全球解决方案架构师。他担任类似职位已有 25 年,喜欢在容器、平台工程以及现在的 GenAI 方面为客户提供帮助。

Vinamra Jain

Vinamra Jain

维纳姆拉·贾恩是亚马逊云科技的高级产品经理。他目前的重点是在亚马逊云科技云中构建下一代托管文件传输平台,帮助客户对其文件传输应用程序进行现代化改造并将其迁移到亚马逊云科技,并从其数据中提取更多价值。工作之余,他喜欢远足、阅读和参加新的体育运动。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。